- In short
- A guarded request path has three distinct checkpoints: input screening runs before the model call and decides whether a request should reach the model at all; output screening runs after generation and decides whether the response is safe to return; and tool-call authorization runs before any side-effecting action and decides whether this caller may perform this action in this context. Each answers a different question, so a control at one point provides zero coverage for the other two.
Three gates, three different questions
Once you accept that deployment-specific rules live in a runtime layer you build, the next question is where on the request path those runtime controls sit. The CCAR-P exam treats this as an understand-level skill because the whole design fails in a predictable way when candidates collapse three separate checkpoints into one. A guarded request path has three decision points, and each one answers a question the other two cannot.
The reason they are not interchangeable is that they inspect different things at different moments. One looks at the request as it arrives, one looks at the response the model produced, and one looks at an action the model is about to take. Placing a single control anywhere on that path leaves the other two questions unanswered, which is exactly the gap production incidents fall into.
- The three-point guarded request path
- The ordered set of checkpoints on a request: input screening (before the model call, deciding whether the request reaches the model), output screening (after generation, deciding whether the response is returned), and tool-call authorization (before any side-effecting action, deciding whether this caller may perform this action in this context). Each answers a distinct question and provides no coverage for the others.
Input screening: should this reach the model at all
Input screening runs before the model call. Its job is to decide whether the incoming request should reach the model in the first place - catching a jailbreak attempt, a prompt-injection pattern, a banned term, or an oversized payload before any tokens are spent. It is the only checkpoint that can stop a bad request from ever being processed, which makes it the right place for concerns that are cheapest to handle before generation.
What input screening cannot do is judge anything the model produces or any action the model later emits. It has seen only the request. If you rely on it as your whole defence, you are protected against bad inputs and exposed to everything downstream of the model call.
Output screening: is this response safe to return
Output screening runs after generation and before the response reaches the user. It inspects what the model actually produced - checking for toxicity, policy violations, a leaked field, or a schema breach - and decides whether that text is safe to return. It is the last gate before the user, and it is genuinely useful for catching a bad response the model generated despite a clean input.
Its blind spot is timing. Output screening looks at text, and it looks at that text only after generation. Anything the model already did on the way to producing that text - most importantly, any tool it called - has already happened by the time the output filter runs. Screening the words does nothing to unwind the deed.
Tool-call authorization: may this action run in this context
Tool-call authorization runs before any action with side effects: sending an email, writing to a database, issuing a refund. It answers a question neither of the other checkpoints touches - not "is this text safe" but "may this specific caller perform this specific action in this specific context." Because it gates the action itself, it is the only control that can stop an irreversible operation before it takes effect.
That placement is what makes it irreplaceable. A refund is a financial action; once the tool runs, money has moved. No amount of input or output screening recovers that. If a side-effecting action exists on the path, an authorization gate has to sit directly in front of it.
What the CCAR-P exam trips candidates on
The signature trap is treating a single output-side content filter as a complete guarded path. A scenario shows a clean architecture diagram with one classifier on the output, the review passes, and you are asked whether the system is guarded. The credited answer is no, because the most consequential thing the system does - a side-effecting tool call - happens before that filter ever runs, and no check exists on the input.
The companion trap is assuming an action is "covered" because the text response was screened afterward. A refund, an email send, a database write - the exam will describe one running, then an output filter inspecting the generated text and passing it. Candidates who track the ordering see that the action already executed downstream of nothing and upstream of the only control present. The action was never authorized; it was merely narrated, and the narration passed a filter.
Worked example
A customer-support agent can call an issue_refund tool. A request comes in, the model emits the refund tool call, the tool runs, and only then does the single output filter inspect the generated text, find nothing unsafe, and pass. A reviewer approved this design because it has a content filter. Where is the gap?
Walk the ordering. The request arrived with no input screening configured, so nothing inspected it on the way in. The model emitted a tool call and the refund executed - money moved - with no authorization gate before the side effect. Only after the action completed did the output filter look at the text the model generated, find it benign, and pass it. The filter judged a description of an event that had already happened.
The design placed one control at one point and treated it as covering three. Output screening judges text, not actions, so it can never stand in for authorization. The correct design adds a tool-call authorization check immediately before issue_refund runs - a deterministic policy on the caller, the order, and the refund amount - and input screening on the way in for injection and malformed requests. The output filter stays, but as one of three gates rather than the whole defence.
The exam lesson: locate the irreversible action on the path first, then confirm a gate sits directly in front of it. A filter downstream of that action is not protecting it.
Common misreadings to avoid
Misconception
A single output content filter is a complete guarded path.
What's actually true
Misconception
A refund, email, or database write is safe because the text response was screened afterward.
What's actually true
How this shows up on the exam
Domain 5 items give you a request path and ask which checkpoints are present and which question each answers. The reliable method is to trace the request in order - arrival, input screening, model call, tool authorization before any action, output screening, response - and confirm every point that needs a control has one. A missing gate is an attack surface regardless of how complete the diagram looks.
From here the domain refines each checkpoint. Deciding whether a given gate should be a classifier or a rule is the subject of model-based vs deterministic check selection, and deciding what a gate does when it errors is fail-open vs fail-closed design. The path itself resurfaces in the system vulnerability walkthrough, where you audit every entry point for a missing control, and in indirect injection via retrieved content and tool output, which reveals a fourth screening need input screening never sees.
A support agent issues refunds via a tool. The design has one content filter on the model's output and nothing else. Which statement best describes its coverage?
People also ask
Where do guardrails sit on an LLM request path?
What is the difference between input screening and output screening?
Why does a single output filter not protect a tool call?
Watch and learn
Official Anthropic Academy lessons first, then hand-picked walkthroughs. Videos load only when you press play.
No videos curated for this concept yet
We are still curating the best official and community videos for this topic.
Official prep for this domain
Anthropic's own free prep module for this part of the syllabus, on the official prep course. Free with an Anthropic Academy sign-in.
References & primary sources
Master this concept with Archie
Practice it inside an adaptive study session. Archie, your Socratic AI tutor, tracks your mastery with Bayesian Knowledge Tracing and schedules the perfect next review.