Integrations

LangGraph human approval: from pausing the graph to an accountable signature

For teams running LangGraph agents that already pause for a human, and who now need the pause to carry authority: a named approver, a limit, a signature and a record an auditor can replay.

GembaOS is a zero-trust governance runtime for enterprise AI agents: policy-decided access, single-use clearance tokens bound to exact parameters, and accountable human approvals, running on-premises or in a private VPC. This page is for a LangGraph agent that already stops and asks a person, and now has to prove that the person was allowed to say yes.

What does an interrupt give you, and what does it leave to you?

Pausing a graph is a solved problem. LangGraph’s interrupt and its checkpointer stop execution at a node, persist the state, and resume with whatever value the application hands back. That is control flow, and it is the right half to have solved. The other half is authority, and the framework deliberately leaves it to the application.

QuestionThe graph answers itLeft to the application
Can we stop here and wait?Yes—
Can we resume later, or after a restart?Yes—
Who is entitled to answer this?NoThe route, from the Delegation of Authority
Was it really that person?NoAn identity-bound signature
Is the amount inside their limit?NoThe policy, and the target system’s own limits
What if the approver is away?NoStand-in rules, consult, transfer, escalate
Can the resumed action run twice?NoSingle-use authorization and an idempotency key

A pause that anyone can answer is not an approval. It is a pause.

What does GembaOS add?

The sensitive tool call points at the GembaOS capability gateway. From there, the Delegation of Authority decides the route; where the route reserves a step for a person, the call becomes an approval request that a named approver signs with a passkey. The clearance is issued from the arguments that person saw, and the host — not the model — makes the call.

GembaOS approval request for a sample customer refund of $450.00, showing what approval sets in motion: an irreversible effect, the target order, the amount, limits marked within range, a clearance that lasts 30 minutes, uses once, and a list of what is re-checked before it runs
GembaOS approval request for a sample customer refund of $450.00, showing what approval sets in motion: an irreversible effect, the target order, the amount, limits marked within range, a clearance that lasts 30 minutes, uses once, and a list of what is re-checked before it runs

The approver is not reading a JSON payload. The request states the effect and whether it can be undone, the target, the amount and the limit it was checked against, how long the clearance lasts, how many times it may be used, and what will be re-checked just before the write.

What changes in your stack?

LayerBeforeAfter
Planning and stateLangGraphUnchanged
CheckpointerYoursUnchanged
Sensitive tool callStraight to the business system, with a credential in reachTo the capability gateway; the credential stays there
The human stepAn interrupt the application resolvesA routed approval request signed with a passkey, with a reason on every step
Absence and escalationApplication logicConsult, transfer, escalate and take over over an org chart imported from your directory (human routes)
What is left afterwardsApplication logsA hash-chained work item an audit replay can re-run

Summary

LangGraph decides how the agent thinks and when it stops. It does not claim to decide who in your organization may authorize what, and building that inside a graph means rebuilding a Delegation of Authority in application code. Keep the graph, move the sensitive call one hop, and let the approval carry a name, a limit, a signature and an execution that happens once.

Questions this note answers

Do we have to rewrite our LangGraph agent?

No. The orchestration, the state and the checkpointer stay as they are. A sensitive tool call points at the GembaOS capability gateway rather than at the business system, so what changes is the endpoint and what happens behind it, not how the agent reasons or plans.

Can this run on-premises?

Yes. GembaOS is a single Linux binary with its own data directory, running on-premises or in a private VPC, with self-hosted or cloud models. No external service is required to operate it, so the approval path and the audit record stay inside your network.

Who decides that a step needs a human at all?

The policy does, not the agent and not the graph. The route comes from your Delegation of Authority: a refund inside the delegated limit can pass on the agent stamps, and the same refund above the limit becomes an approval request for the finance owner. Both routes are recorded the same way.

What happens if the graph resumes with a stale decision?

The write does not go through on the strength of the resume. Before the business system is called, the host re-reads the real state and compares it with the facts the approver signed, the clearance is time-limited and single-use, and the idempotency key is filled by the host rather than by the agent.

Sources

As of September 2026 GembaOS holds no certification; the control mappings on this site are self-assessed, not audited. GembaOS is in its design partner stage. Read about the design partner program.

Last updated: · GembaOS v0.2