Skip to content

Rust API Reference

Guard Trait

pub trait Guard: Send + Sync {
    fn name(&self) -> &str;
    fn check(&self, input: &str) -> GuardResult;
}

GuardResult

pub struct GuardResult {
    pub passed: bool,
    pub reason: Option<String>,
    pub sanitized: Option<String>,
    pub severity: Severity,
    pub guard_name: String,
    pub metadata: HashMap<String, Value>,
}

Guards

PatternGuard

use oxide_guard::{Guard, PatternGuard};

let guard = PatternGuard::new("name");
let result = guard.check("input");

PIIGuard

use oxide_guard::{Guard, PIIGuard, RedactionStrategy};

let guard = PIIGuard::new("pii")
    .with_redaction(RedactionStrategy::Mask);

MultiLayerDefense

use oxide_guard::{MultiLayerDefense, LayerConfig, AggregationStrategy};

let defense = MultiLayerDefense::builder("defense")
    .add_guard(LayerConfig::new("layer"), Box::new(guard))
    .with_strategy(AggregationStrategy::FailFast)
    .build();

Full Documentation

Policy Engine (Professional)

use oxide_policy::{
    SecurityPolicy, PolicyValidator, PolicyEngine,
    PolicyResult, PolicyDiff, PolicySimulator,
};

// Load and validate
let policy = SecurityPolicy::from_yaml(yaml)?;
let engine = PolicyEngine::from_policy(policy)?;

// Check input
let result = engine.check("user input")?;
println!("Allowed: {}", result.allowed);

See docs.rs/oxide-policy for policy API documentation.

Full Documentation

See docs.rs/oxide-guard for complete API documentation.