Human-in-the-loop (HITL) · iPhone · Android · Mac

The human-in-the-loop app for AI agents.

When your agent reaches a step it should not take alone, HumanAuth sends it to your phone. You see exactly what it wants to do, approve or deny with a biometric, and your backend gets a signed receipt it checks before anything runs.

Free to install · 1,000 approval requests free every month · request access to connect an agent

How the loop works

  1. 01

    Your agent asks

    Before a risky step — a wire, a refund, a production deploy, a delete — the agent sends an approval request with the exact action and its parameters.

  2. 02

    Your phone rings

    The right people get a push notification. The request reads in plain language, with every parameter shown and a severity at a glance.

  3. 03

    A human decides

    Approve with Face ID, a fingerprint or Touch ID — or deny with a reason. The decision is signed by a key that was generated on the device and never leaves it.

  4. 04

    Your backend checks

    The agent gets a signed receipt. The service that runs the action verifies it offline before executing. No receipt, no action.

Why it matters

A click is not proof. A receipt is.

A pause-and-ping tool tells your workflow that someone pressed approve. Whatever arrives at the callback is believed — and nothing downstream can check it later.

HumanAuth returns a receipt signed twice: by a key that exists only on the approver's device, and by the platform. It is bound to a hash of the exact action the person saw, so changing the amount by one cent breaks it. Your service verifies it offline with an open-source verifier and burns it after one use.

When an auditor asks who approved a payment, the answer is a document you can check yourself, not a row in someone else's database. Read the security model.

Made for the person holding the phone

Approvers open the app for seconds at a time, often mid-task. It shows what they are being asked to permit and nothing else.

Plain-language requests
— what the agent wants to do, with every parameter, before you decide
Biometric on every approval
— Face ID or Touch ID on Apple devices, fingerprint or face unlock on Android
Quorum
— require two of three approvers — or any N of M — for the big stuff
Blind ballots
— other approvers' votes stay hidden until the request resolves
Deny with a reason
— the reason travels back to the agent and into the record
Requests expire
— nobody answered in time means no, never a silent yes
“This wasn't me”
— the person an agent acts for can kill a request they never asked for
History
— every request and decision, with its receipt

Put it in front of any agent or workflow

MCP server

Claude Code, Cursor and any MCP client get an approval gate in front of risky tool calls, with no change to the agent.

MCP guide →

TypeScript SDK

One call to request approval and wait for the decision — from LangChain, CrewAI, the OpenAI Agents SDK, or your own loop.

SDK reference →

n8n

A community node pauses the workflow until a human approves, then carries the receipt to the next step.

n8n approvals →

HTTP API

Anything that can send an HTTP request can ask for approval. There is no native Make or Zapier module yet — their HTTP steps can call the API directly.

API spec →

Questions

What is a human-in-the-loop (HITL) app?

A human-in-the-loop app puts a person's decision in the middle of an automated workflow. When an AI agent or automation reaches a step that should not happen without a human — spending money, changing production, touching customer data — it pauses and sends the request to a phone. A person approves or denies it, and the workflow continues or stops.

Is there a human-in-the-loop app for iPhone and Android?

Yes. HumanAuth is on the App Store for iPhone and iPad, on Google Play for Android, and there is a menu-bar app for the Mac. All three run the same approval flow.

How is HumanAuth different from other HITL apps?

Most HITL tools tell your workflow that someone clicked approve. HumanAuth hands it a receipt signed twice — once by a key that lives only on the approver's device and once by the platform — and bound to a hash of the exact action the person saw. Your backend checks that receipt offline before it acts. Change the action by one cent and the check fails, and a forged approval message has nothing valid to carry.

Does it work with n8n, Make or Zapier?

n8n has a native community node, n8n-nodes-humanauth. Make and Zapier have no native HumanAuth module yet; their HTTP steps can call the HumanAuth API directly, as can any tool that can send an HTTP request.

Does it work with Claude Code, Cursor and other AI agents?

Yes. The HumanAuth MCP server puts an approval gate in front of an agent's risky tool calls with no change to the agent, and the TypeScript SDK covers custom agents and frameworks such as LangChain, CrewAI and the OpenAI Agents SDK.

How much does it cost?

1,000 approval requests are free every month, with every feature included. After that it is $0.03 per request. Approvers and devices are never billed.

How do I get started?

Onboarding is hands-on for now: request access and we set you up with an API key and a working approval. Approvers install the app and join with an invite code from the person who set it up.

Keep a human in the loop — and keep the proof.

Tell us what your agent does and we will set you up with an API key and a working approval. Comparing tools? See how HumanAuth compares with HITL.sh.