Skip to main content
HUMΛN
Passport
Passport

Passport and delegation as MCP trust primitives

HUMΛN Team··13 min·Technical (Developers)

Connect an MCP client without thinking about who is acting and you have built a remote shell with better JSON.

HUMΛN’s Passport and delegation model exists so every governed call answers: which human or org, which agent, which scopes, until when — cryptographically, not by trusting the chat transcript.

The hook: the tool that should have failed

An agent “helpfully” calls a workflow that emails customers. The demo cheers. Security asks for the delegation that authorized human_api:… on that org. Silence.

In HUMΛN, silence is a bug. tools/call on the org mesh expects a delegation token. No token, no call. Wrong scopes, no call. Revoked, no call.

Mint, narrow, revoke — from the client

Power-user workflows stay inside Cursor / Claude Code:

  • Mint a short-lived delegation for the task (CLI human identity flows or MCP passport/delegation tools where exposed).
  • Narrow scopes to the minimum the task needs — Magic by Default for day-to-day, Control Mode when you pin exact capability sets.
  • Revoke when the session ends or the blast radius changes — including human delegation revoke patterns documented in CLI.

The Passport is not a login wallpaper. It is the device-rooted identity the delegation stands on. Progressive verification and validity ladder language still apply; MCP does not invent a second identity system.

So that “AI did it” becomes “this principal did it under this grant”

Auditors do not want a screenshot of the chat. They want a chain: Passport → delegation → tool → receipt. MCP is just the wire format. Trust primitives are Passport + delegation.

Scroll-stopper: An MCP tool without a delegation story is a privilege escalation wearing a JSON Schema.

Honest boundaries

Some identity UX still requires a human gesture (passkeys, recovery). Headless minting has deliberate limits. The MCP surface exposes what the protocol allows — it does not pretend Touch ID is optional because a model asked nicely.

Go deeper