pub struct AiGuardrails {
pub rules: Vec<AiGuardrailRule>,
pub dry_run: bool,
}Expand description
Guardrails (DW-082 ai.guardrails): a list of rules that inspect
prompts and responses for prompt-injection, PII, banned content,
and output schema conformance. Each rule is one check applied at
the prompt phase (before the provider call) and/or the response
phase (after). Policy-scoped rules apply only to consumers
attaching a listed policy; an empty policies list applies to
all. See AiGuardrailRule for the per-rule shape.
Fields§
§rules: Vec<AiGuardrailRule>Guardrail rules. Each rule is one check applied to prompts and/or responses, in declaration order. Rule names must be unique (validation rejects duplicates).
dry_run: boolSEC-14 / CFG-14: dry-run mode. When true, guardrail rules are
evaluated and would-be blocks are recorded
(dwara_policy_dry_run_total{phase="ai_guardrails"} + a
structured log) but the request/response is NOT blocked — the
call proceeds. Useful for tuning guardrail patterns before
enforcing. Default false (block on match).
Trait Implementations§
Source§impl Clone for AiGuardrails
impl Clone for AiGuardrails
Source§fn clone(&self) -> AiGuardrails
fn clone(&self) -> AiGuardrails
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AiGuardrails
impl Debug for AiGuardrails
Source§impl Default for AiGuardrails
impl Default for AiGuardrails
Source§fn default() -> AiGuardrails
fn default() -> AiGuardrails
Source§impl<'de> Deserialize<'de> for AiGuardrails
impl<'de> Deserialize<'de> for AiGuardrails
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for AiGuardrails
impl JsonSchema for AiGuardrails
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for AiGuardrails
impl PartialEq for AiGuardrails
Source§impl Serialize for AiGuardrails
impl Serialize for AiGuardrails
impl StructuralPartialEq for AiGuardrails
Auto Trait Implementations§
impl Freeze for AiGuardrails
impl RefUnwindSafe for AiGuardrails
impl Send for AiGuardrails
impl Sync for AiGuardrails
impl Unpin for AiGuardrails
impl UnwindSafe for AiGuardrails
Blanket Implementations§
§impl<T> AnyExt for T
impl<T> AnyExt for T
§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind reference§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable reference§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointer§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer§fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
T behind Box pointer§fn downcast_move<T>(this: Self) -> Option<T>
fn downcast_move<T>(this: Self) -> Option<T>
Self to T,
useful only in generic context as a workaround for specializationSource§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more