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.