Agents act. Someone answers for it.

Nody is the runtime approval layer for AI agents. An agent hits a limit, stops, and asks a named person. The answer is recorded, and the record can't be edited later.

Claude Code · Codex · Cursor · n8n · any MCP or HTTPS agent
9:41
Sunday, July 19
{{ avatarDP }}
Deploy Agent · Claude Code now
irreversible
Deploy release 2.4 to production
Chain 2 of 3 45m → auto-deny
Open to approve
{{ avatarRF }}
Refund Agent · n8n 6m
$340 to ACME · reversible · 2h left
Go Open
Recorded · Migration Agent continues
nody push notifications
Apply changes to 3 files?
src/api/routes.ts · +48 −12
AcceptReject
~/projects/api-server
claude Allow rm -rf node_modules? (y/n)
CODEX · PLAN APPROVAL
1. Add rate limiter to /v1/charge
2. Migrate config to env vars
Approve plan
n8nn8nAPP 2:14 PM
Approve quote for Inland Powerwash?
ApproveDeny
POST /hooks/approval
{"type": "approval_request",
"agent": "refunds-bot",
"amount": 340, "currency": "USD"}
codex apply patch to src/auth.ts? [y/N]
Run npm install?
2 new dependencies
RunSkip
dpdeploy-botAPP 2:31 PM
Deploy build 8412 to production?
Approval needed: PO #1042
procurement-agent · $1,180 · reply APPROVE
9:41
Inbox
Queue History
irreversible
45m → auto-deny
schema change · reversible
1h 40m → auto-deny
1,204 recipients · reversible
Swipe right Go · left No-Go · hold for more
Inbox Agents
nody Inbox
The same requests in nody. One list, sorted by risk and deadline. Answer and the agent continues.
claude Allow rm -rf node_modules? (y/n)
Apply changes to 3 files?
src/api/routes.ts · +48 −12
n8n · Approve quote for Inland Powerwash?
{"type": "approval_request", "agent": "refunds-bot", "amount": 340}
Inbox5 waiting
The same requests in nody. One list, sorted by risk and deadline. Answer and the agent continues.

Your agents already stop and ask.
The question is what happens next.

Right now the request goes to a Slack channel where anyone can approve it. Nobody records who clicked, what they saw, or how long they looked. When an auditor asks for proof that a human decided, you send a screenshot.

Today #eng-approvals
dp deploy-bot APP 2:31 PM
Approval needed: deploy release 2.4 to production.
Reply in thread or react to approve.
👍 3 🚀 1
  • Anyone in the channel can approve
  • No record of who clicked, or what they saw
  • Proof is a screenshot
Decision record dr_8f42c1
Deploy release 2.4 to production
Deploy Agent · Claude Code · irreversible
ApproverMara Ellis RoleHead of Platform Context shownDiff, migration plan, rollback Time on screen2m 41s AssurancePasskey · chain 2 of 3 VerdictApproved · 2:47 PM CommentRollback verified on staging first.
Hash-chained to dr_8f42c0 · anchored
  • One named person, with the authority to answer
  • What they saw and how long they looked
  • An edit breaks the chain and shows
Enforce

Policy decides, not the agent

Set which actions need a human: by risk, by amount, by whether it can be undone. The agent doesn't choose whether to ask. Every request has a deadline. If nobody answers, it's denied.

9:41
Agents
{{ avatarRF }}
Refund Agent
alive · last event 12:03
risky only
{{ avatarDP }}
Deploy Agent
alive · last event 09:41
ask all
{{ avatarMG }}
Docs Agent
silent for 3 days
quiet
{{ avatarEM }}
Data Agent
connection failing
risky only
+ Connect agent
Inbox Agents
nody Agents screen
9:41
9:41
Monday, July 20
n
refunds-bot is waiting
Refund $340 · low risk · 12:00 left
GoOpen
CC
migration-agent stopped
Run migration · needs review
nody lock-screen notification
Route

The right person, not the first one

Requests go to people who can answer them, not to a channel. Chain approvers when the action needs it. Escalate when someone is away.

Prove

A record that survives an audit

Each decision stores who was asked, what they saw, how long they looked, what they decided, and what went back to the agent. Records are hash-chained: an edit breaks the chain and shows. Export a signed pack for any period.

9:41
Inbox
Tell the agent why
Wrong amount Not now Redo it Risky
The invoice was $290, not $340
Just No-Go
The comment returns to the agent verbatim.
nody decision screen

Build approval workflows for any action

Route each action to the right people. Invite an approver in one tap, or chain several people so every high-risk action needs a full set of Go's before it runs.

9:41
{{ avatarDP }}
Denis invited you to approve for Deploy Agent
Its decisions arrive on your phone. Nothing else of Denis's is shared.
nody invited approver screen

Invite an approver

Share one agent's queue with a colleague or a client. They install the app and land straight in the queue. No terminal, no dashboard.

9:41
Inbox
{{ avatarDP }}
Deploy Agent
Claude Code
HIGH · irreversible
Deploy release 2.4 to prod
45m → auto-deny
Approval chain 2 of 3 · all must Go
Denis
owner
Go · 12:38
Anna
approver
Go · 12:40
You
You
waiting for you
waiting
One No-Go stops the action. Your comment goes back to the agent.
nody approval chain screen

Approval chain

Require several people in order. Every approver must Go. One No-Go anywhere stops the action and sends the comment back to the agent.

Match the proof to the stakes

Three levels of assurance. The action decides which one applies, not the approver.

1 Standard
Send weekly digest
1,204 recipients · reversible
Go No-Go

One tap inside an active session. Device-bound key. For actions you can undo.

2 Elevated
Face ID
Confirm: deploy release 2.4
irreversible

Passkey at the moment of decision — Face ID or fingerprint, checked on the phone. The context has to be opened first. For actions you can't undo.

3 Critical
Mara · Head of Platform
Passkey · Go 14:47
two devices, two passkeys
Denis · SRE lead
waiting
2 of 2

Two people, two devices, two passkeys. Whoever started the agent can't be the only one to clear it.

No biometrics leave the phone. No photos. No location.

One queue. Every agent.

Coding agents, workflow automations, business agents, custom backends. Your control layer shouldn't fragment because your agent stack does.

How to connect your agent

Four ways to route an agent's decisions into nody. Pick whatever your stack already speaks. No dashboard, no rebuild.

MCP server

Run nody as an MCP server. Cursor, Codex, Claude Code and any MCP client can pause mid-task and ask you for a verdict.

$ npx nody mcp

n8n node

Drop the nody node into any workflow. The run holds on "Wait for approval" until you Go or No-Go from your phone.

nody · Wait for approval paused

HTTP API

POST a decision request to the documented endpoint. Works with any custom agent, backend or script, over a typed schema.

POST api.getnody.app/v1/decisions

IDE plugin

Add the nody extension to Cursor or VS Code. The agent pauses inline and you approve right where you code.

ext install nody · Cursor / VS Code

What the auditor gets

The phone is for approvers. The browser is for whoever has to answer for them.

app.getnody.app/evidence
nody Queue Agents Policy Evidence People
Decision records
1 Jul – 31 Jul · 1,284 decisions
Export signed pack
DecisionAgentApproverSeenAssuranceVerdict
Deploy release 2.4 to productionDeploy AgentMara Ellis · Platform2m 41sPasskey · 2 of 3Approved
Refund $340 to ACMERefund AgentIlya Petrov · Support18sOne tapApproved
Drop table events_2024Migration AgentDenis Roth · SRE4m 06sPasskeyDeclined
Email 1,204 customersEmail Agentno answerDenied on timeout
Rotate API credentialsOps AgentMara Ellis · Platform1m 12sPasskey · 2 of 2Approved
Coverage
Answered by a person1,104
Denied on timeout142
Ran without approval38
Oversight quality
Median time to answer3m 12s
Median time on screen41s
Approval rate · I. Petrov100%
7 decisions approved in under 5s — possible rubber-stamping

Decision records

Request, context shown, approver and role, time taken, verdict, comment. Hash-chained and anchored.

Coverage

Which actions needed approval, which were answered, which were denied on timeout, which ran without one.

Oversight quality

Response times, approval rates per person, and cases that look like rubber-stamping.

Export a signed pack. Point your governance platform at it.

How Nody compares

Frameworks give you approvals inside one framework. Vendors give you approvals inside one vendor. Nody is the layer above both.

Full Partial None Not applicable
Nody
Framework HITLLangGraph, Temporal
First-partyClaude, Cursor
GRC platformsCredo AI, OneTrust
Spans agent vendors
FullMCP · n8n · HTTP
Partialper-framework
Nonesingle vendor
Not applicablen/a
Policy at the action level
Fullrisk · amount · reversibility
Partialhand-coded
Partialper-tool toggle
Partialon paper
Reaches non-technical approvers
Fullpush to phone
None
None
None
Denies on timeout
Fullper action
Partialhand-coded
None
Not applicablen/a
Step-up per decision
Fullpasskey · two-person
None
None
None
Records that can't be edited
Fullhash-chained
Partiallogs
Partiallogs
Partialdocuments
Oversight quality signals
Fulltime on screen · rubber-stamping
None
None
None

GRC platforms are where your policy lives. Nody is where it runs.

Comparison based on public sources, July 2026. Fast-moving space — vendor capabilities change.

Good to know

Does it work across vendors?
One queue for Claude Code, Codex, Cursor, and anything that speaks MCP or HTTPS.
Can I control each agent separately?
Policy sits at the action level, per agent. Set each agent to ask about everything, ask only about risky actions, or work quietly and log to history.
Can someone else approve for me?
Share one agent's queue with a colleague or a client. They install the app and land straight in the queue. They never see a terminal.
Does my code leave my machine?
Your code stays on your machine. nody receives a short preview of each request: a summary, a few diff lines, the amount. Full context opens in the source tool.
Can a record be changed afterwards?
No. Each decision is hash-chained to the one before it and anchored externally. An edit breaks the chain and shows.
Where is our data stored?
EU by default. US on request.
Do you collect biometrics?
No. The phone checks the face or fingerprint and sends a signature. We never see either.
Can we self-host?
Yes, on Control Plane.

Plans

Free
Solo

One builder, own agents.

  • MCP, n8n, HTTP and IDE
  • 3 agents
  • 20 decisions a day
  • Full history
Popular
Team · per seat

Teams routing decisions across people.

  • Action-level policy
  • Approval chains
  • Roles
  • SSO
  • Web console
Annual
Control Plane

Organisations whose agents carry consequences.

  • SCIM
  • EU residency or self-hosted
  • Elevated and critical assurance
  • Hash-chained records
  • Signed evidence packs
  • Oversight reports
  • SLA

Join the nody alpha

nody hello@getnody.app