Protect (PR) · Approval gating
Approval gating at the in agent layer
advisory · Bypassable by language alone
If the agent decides to violate this concern, what stops it at this layer?
What this cell does
Model says "are you sure?" Silently bypassable. Anthropic Auto Mode (March 26, 2026): 93% approval rate on permission prompts is the empirical ceiling for human-in-the-loop on top of in-agent gates. Treat any approval prompt that fires often as already broken.
Artifacts (1)
confirmation-prompt-template.mdview on GitHub# Confirmation-prompt template
Append the following block to your agent's system prompt.
---
```
Before any of the following, stop and confirm with the operator:
Tier 1 (auto-allow, no confirm):
- Read-only operations (ls, cat, grep, kubectl get, aws s3 ls)
Tier 2 (quick confirm):
- Edits within /workspace
- git add, git commit (without --no-verify, without push)
- npm install, pip install (with lockfile)
Tier 3 (typed verbatim re-entry required):
- kubectl delete, helm uninstall, docker system prune
- aws s3 rb, gh repo delete
- Any operation on a non-test database
Tier 4 (out-of-band channel required: separate terminal, Slack approval,
or operator's phone):
- terraform apply with -auto-approve
- kubectl apply against a production cluster
- aws ec2 terminate-instances
- Any operation that affects more than one customer
Judgment query (the operator supplies the missing input, not yes/no):
- Any tradeoff between two non-equivalent goods
- Anything irreversible
- Anything that would set a precedent for similar future choices
- Anything affecting customer concentration, brand voice, or pricing
For tier-3 and tier-4, the client-side hook will block the call and require
the operator's confirmation. Do not try to bypass the hook by encoding the
command differently, base64-decoding it, or chaining through another tool.
The hook detects obvious obfuscation patterns and equivalents will be added
when the operator notices a bypass.
For judgment queries, call the escalate tool. Do not guess the operator's
preferences; the operator's whole reason for hiring you is so they don't
have to make routine decisions, but irreversible ones are the operator's
to make.
```
---
## Notes
- The tier names should match the pattern names in [`../client-side/pre_tool_use_tiered.sh`](../client-side/pre_tool_use_tiered.sh) so the model and the hook agree on what tier-3 means.
- "Operator's whole reason for hiring you" is intentionally direct. Models respond to this kind of role-clarifying language better than they respond to abstract security framings.
- The list of judgment-query categories should be customized to your domain. Customer concentration, brand voice, and pricing are placeholders; substitute the irreversible tradeoffs that actually exist in your business.
Cell notes
Approval gating / In-agent
Control. Model says "are you sure?" before destructive ops.
Strength. Silently bypassable. The model can be talked out of asking with novel framing or persistence. Anthropic Auto Mode (March 26, 2026) measured a 93% approval rate on permission prompts, the empirical ceiling for human-in-the-loop on top of in-agent gates. Treat any approval prompt that fires often as already broken; the cure is not "ask better" but "ask less, and only on genuinely novel decisions" (judgment-query escalation).
Tooling
None.
Files in this directory
- -
confirmation-prompt-template.md, language to drop in the system prompt that names the kinds of actions where the agent must confirm with the operator before proceeding. Pair with the refusal template in../../blast-radius/in-agent/.
Verification
You cannot verify this layer the way you verify the others. Confirmation-rate metrics are noisy, gameable, and not security signals.
Common mistakes
- - Treating confirmation rate as a metric of safety. It is a metric of agent verbosity at best.
- - Asking for confirmation on every action, which trains the operator to click through.
- - Asking for binary yes/no on actions that need a judgment query (see
../README.mdon the difference).
Citation
Advisory; no direct framework mapping. Thematic: NIST AI RMF MANAGE 4.1 (override mechanisms). OWASP LLM06. OWASP ASI09 (Human-Agent Trust Exploitation), related risk.
Primary bypasses
Documented, not hypothetical. A control whose bypass is undocumented is worse than no control, because somebody trusted it.
- the model can be talked out of asking
Crosswalk
| NIST CSF 2 0 | (advisory) |
|---|---|
| NIST AI RMF | MANAGE 4.1 |
| OWASP LLM | LLM06 |
| OWASP AGENTIC | ASI09 |
Cite this cell:
https://agenticcovenants.com/protect/approval-gating/in-agent/