Comparison
GuardrailsvsOutput validation as a security boundary
Guardrails
you put deterministic checks around the model, allowlists and schema validation and refusal filters, because you cannot rely on it policing itself.
Deterministic checks wrapped around a probabilistic core: input filters, output validators, action allowlists, spend and iteration budgets. The engineering stance that makes agents shippable; never rely on the prompt alone to prevent an action that code can prevent.
Full entry →Output validation as a security boundary
you validate and allowlist what the model returned before your code acts on it, because that output is untrusted input to everything downstream.
Treating model output as untrusted input to downstream systems: validate schemas, allowlist commands and URLs, parameterise queries, escape rendering. The model is inside your trust boundary's blast radius, not inside your trust boundary.
Full entry →