AWS Bedrock Guardrails vs Trussed: Runtime Enforcement
Architecture Comparison

AWS Bedrock Guardrails vs Trussed: Model Filter vs Runtime Enforcement

AWS Bedrock Guardrails inspect content at the boundary of a model invocation, filtering text and image inputs and outputs for harmful categories, denied topics, PII, and ungrounded responses. They do not authorize tool calls, evaluate agent permissions, or govern actions taken across a multi-step task. Runtime enforcement, the layer Trussed operates in, sits downstream of the model call, governing agent identity, tool invocation, and permission scope during execution. Teams relying only on Guardrails have content-level filtering but no documented control over what an agent actually does once it starts acting.

Two Different Enforcement Points

These controls address separate stages of an agent's lifecycle rather than the same stage twice.

Model Boundary

Bedrock Guardrails inspect text and image content passed to and from the foundation model at invocation time.

Execution Layer

Runtime enforcement governs agent identity, permissions, and tool calls after the model has reasoned about an action.

Coverage Gap

Tool authorization, multi-step orchestration, and permission scope fall outside Guardrails' documented inspection scope.

What AWS Bedrock Guardrails Actually Filter

Amazon Bedrock Guardrails provide configurable content filters for categories such as hate, insults, sexual content, violence, and misconduct. They support denied topics, custom word filters, and sensitive information filters that can block or mask detected PII. A contextual grounding check compares model output against provided source content to flag potential hallucination. AWS has extended these filters beyond text to cover image inputs as well. Guardrails can be applied through a standalone ApplyGuardrail API call or embedded directly into model invocation calls such as InvokeModel and Converse. In every documented configuration, the filter operates on the content string moving into or out of the model, not on the structured payload of a tool call or the parameters an agent passes to a downstream API.

Where This Control Sits in the Request Lifecycle