| What it decides | Whether this specific action may execute, under this policy, and under whose approval. | What the agent does next: which node, tool or activity runs, and how the run resumes after a pause. |
|---|
| Where it lives | Outside the agent's process, in front of the commit, with the credential held by the executor rather than the agent. | Inside the application: the graph, the workflow worker, the SDK runtime the agent runs in. |
|---|
| The human step | A named approver, bound to the exact action, with the evidence attached; the approval is re-evaluated by policy, never taken as the verdict. | A pause-and-resume primitive — an interrupt, a signal, a pending approval — surfaced to whoever the application chooses. |
|---|
| What the rules read | The action's amount, target, counterparty, environment and collected approvals, against versioned policy. | Whatever the node's code checks; the framework carries state and control flow, not the policy. |
|---|
| Bypass | The gate sits on the action, so an agent that reaches the tool another way still meets it. | A tool called outside the graph or the workflow is not paused by it. |
|---|
| Evidence afterwards | A signed Decision Dossier per action, verifiable outside the stack: verdict, inputs, approver, and what then executed. | Checkpoints, run histories and traces — excellent for debugging the run, not a signed statement of what was permitted. |
|---|
| Failure between decision and execution | A lost response leaves the attempt open until it is reconciled; nothing is retried on its own. | Retries are the framework's strength; whether a retried side effect was authorised twice is a question it does not ask. |
|---|