# Approval gate

**An approval gate is the point on an agent rail where a named person, never the requester, approves the exact payload before anything happens, and the approval binds to a hash of that payload.**

*Part of the [Learn hub](https://privycdp.org/learn) and the [customer data glossary](https://privycdp.org/learn/glossary).*

## What it means in practice

An approval gate rests on three rules. The approver is never the requester. Approval binds to a hash of the exact payload, so a later change voids it. Timeouts expire; they never auto-approve.

The gate belongs in an approval service outside the agent, so a model cannot grant itself a pass. Workflow tools supply the waiting. A Temporal recipe uses a Signal and a timer, and only an explicit approval lets the action run [1](#source-1). LangGraph's `interrupt` pauses a run until the caller responds, with a durable checkpointer recommended for production [2](#source-2). The rail adds who may approve and exactly what they approved.

The Model Context Protocol specification says there should always be a person able to deny tool invocations [3](#source-3). Check how your vendor's agents behave.

A gate only works if people read what they approve. EU AI Act Article 14(4)(b) names automation bias for high-risk systems [4](#source-4), and a marketing queue is open to the same habit. Show the diff and counts, and watch the override rate: near zero may mean rubber-stamping.

PrivyCDP's immutable audit ledger records each AI-assisted action with the human or system actor that authorised it, which gives a gate's decisions a lasting record.

**Example (credit union, illustrative):** the [Audience Sync Steward](https://privycdp.org/ai/rails/agents/audience-sync-steward), at L3, presents a sync plan with destination and count. A named approver signs it. Someone then edits the segment, the hash changes, the approval is void, and the execution service refuses the sync.

## Related terms

- [Draft-approve-execute split](https://privycdp.org/learn/glossary/draft-approve-execute): the pattern around the gate.
- [Rail card](https://privycdp.org/learn/glossary/rail-card): the Gate field records it.
- [Kill switch](https://privycdp.org/learn/glossary/kill-switch): stops what has been approved.
- [Audit ledger](https://privycdp.org/learn/glossary/audit-ledger): records each decision.

## Where it matters

- [The agent rail card](https://privycdp.org/ai/rails/agent-rail-card): what the Gate field must say.
- [Failed sync retry](https://privycdp.org/ai/rails/use-cases/failed-sync-retry): when a retry needs no new approval.




Back to the [customer data glossary](https://privycdp.org/learn/glossary) or the [Learn hub](https://privycdp.org/learn).

By Art Kukharenko
Published: 2026-11-02
Updated: 2026-11-02

## FAQ

### Can one agent approve another agent's work?

No. The approver is a named person. An agent can check work and report findings, but its "pass" never replaces that person's decision.

### Does a retry need a new approval?

Only if something changed. A retry of an approved sync is not a new activation only if version, audience hash and destination are unchanged and consent is re-checked. Anything else needs approval.

## Sources

1. Temporal, human-in-the-loop recipe: https://docs.temporal.io/ai-cookbook/human-in-the-loop-python
2. LangChain, LangGraph interrupts: https://docs.langchain.com/oss/python/langgraph/interrupts
3. Model Context Protocol specification, Tools (revision 2026-07-28): https://modelcontextprotocol.io/specification/2026-07-28/server/tools
4. EU AI Act, Article 14: https://artificialintelligenceact.eu/article/14/

This entry is general information, not legal advice.

## Further reading

- [DSAR Automation: Assemble Access Requests With an AI Agent on Rails](https://privycdp.org/ai/rails/use-cases/dsar-assembly)
- [Marketing Claims Compliance Check: Review Copy With an AI Agent on Rails](https://privycdp.org/ai/rails/use-cases/copy-claims-compliance-check)
- [Audience Sync Steward: An AI Agent for Approved Audience Syncs](https://privycdp.org/ai/rails/agents/audience-sync-steward)
- [AI Agents for Marketing Operations: The Playbook on Rails](https://privycdp.org/ai/rails/functions/marketing-operations)
- [Blast radius (AI agents)](https://privycdp.org/learn/glossary/blast-radius)
