Skip to content

HumanAuth

Add human approval to any AI agent in six lines. Biometric-signed. Replay-bound. Auditable.

HumanAuth is a drop-in human-approval layer for AI agents. It lets your agent ask before it acts on real money, real infrastructure, or real customer data — and gives your backend a cryptographic receipt it can verify offline. Three pieces ship together: an SDK for your agent to call, a mobile app for humans to approve from their phone, and a verifier for your backend to enforce the result.

HumanAuth is agent-agnostic. If your system speaks HTTP or MCP, it can request human approval through HumanAuth.


Drop-in SDK + MCP server

Six lines in your agent config and you have three new tools: authorize, collect, inform. Works with Claude, OpenAI, LangChain, CrewAI, AutoGen, custom builds.

Biometric non-repudiation

Approvals are signed with an Ed25519 key in the user’s Secure Enclave. Biometric authentication gates every signature.

Offline-verifiable receipts

Your backend verifies receipts with JWKS + plan-hash binding in ~10 lines. No RTT in your hot path. No receipt = no execution, by construction.

End-to-end encrypted relay

All approval context is end-to-end encrypted between agent and phone. The relay routes opaque envelopes by pair_id — it never sees plaintext. Self-host it or use the managed service.



A
Agent

Your code. Integrates via the HumanAuth SDK or MCP server. Holds a platform keypair and a shared secret per pairing.

|
R
Relay

Encrypted-payload router. Routes opaque envelopes by pair_id → device_id → push_token. Stores only routing metadata; never sees plaintext. Free tier holds ciphertext in memory until TTL; paid tiers retain ciphertext for 30–90 days for delivery guarantees.

|
H
Human

The approver, holding the mobile app. Decrypts approval context, confirms with biometrics, signs the response with an enclave-protected Ed25519 key.

|
B
Backend

Your execution layer. Verifies the receipt with @humanauth/verifier before performing the action. No receipt, no execution — by construction.


PrimitiveUsage
X25519 ECDHKey agreement during pairing
HKDF-SHA256Shared secret derivation
XChaCha20-Poly1305Authenticated encryption of all approval payloads
Ed25519Receipt signing (platform + device cosignature)
JCS (RFC 8785) + SHA-256Plan-hash binding (parameter integrity)
Secure Enclave / TEEHardware-backed key storage, biometric-gated signing

PackagePurpose
@humanauth/sdkTypeScript SDK — send authorization requests from any agent
@humanauth/verifierVerifier SDK — requireReceipt() for your backend or MCP server (guide)
@humanauth/cliCLI — pair devices, test approvals, inspect receipts
@humanauth/mcpMCP server — drop-in human approval for any MCP-compatible agent
OpenAPI 3.1 specCodegen typed clients for Python, Go, Java, Ruby, Rust, etc.