Give an AI agent an identity in 60 seconds
Follow Northwind Labs, a fictional organization, as its agent gets a
cryptographic identity, hits an MCP server's authorization wall, passes a fine-grained
/authz/check, and waits for you to approve
its riskiest action. Every response is shaped exactly like the real API's.
Northwind Labs
app.lumoauth.dev/orgs/northwind-labs · Business · EU (Frankfurt)
- The agent
- Invoice Copilotreads & summarizes invoices
- The tool server
- Northwind ToolsMCP · OAuth protected
- The owner
- Jonas Weberplatform engineer
- The approver — you
- Priya Ramanfinance lead · jit.approve
Four steps · about a minute · no account, nothing created.
- 1
- 2
- 3
- 4
STEP 1 OF 4
A cryptographic identity for the agent
Invoice Copilot has an Ed25519 keypair. Northwind Labs mints an agent token whose
cnf.jwk claim binds it to that key — only the holder of
the private key can use it.
STEP 2 OF 4
The MCP server's authorization wall
Northwind Tools is registered as an OAuth protected resource. Read its RFC 9728
metadata, then watch an unauthenticated request get the spec-mandated
401 + WWW-Authenticate challenge.
STEP 3 OF 4
Fine-grained authorization for agents
The organization holds one relationship: this agent is a grantee of
documents.read. The Policy Decision Point
(Zanzibar-style ReBAC + ABAC) answers two checks and explains each one.
STEP 4 OF 4
Human-in-the-loop: you hold the keys
The agent asks to execute a payment — outside its capabilities and high-risk, so the JIT engine refuses to auto-approve and pages a human. That human is Priya Raman, and today you are Priya.
Approval inbox · Northwind Labs
No permission requests yet. Run step 4 to create one.
What you just watched
This was a scripted scenario, but every endpoint, field and decision shape on this page is the real contract. Your own organization takes about a minute to set up, and the same four steps run there for real.
This page is a simulation. Northwind Labs, its people and its invoices are fictional; token signatures are filler and cannot be verified; the Ed25519 key is the RFC 8037 test vector. No organization is created, no token is signed, no email or notification is sent, and nothing is stored when you use it.