AI Passport Ideathon · Track: Agents · Build lane

Checkpoint

A working mockup of an Agent Delegation Passport: every AI agent gets a scoped, time-boxed grant instead of standing access — and every action it takes leaves a receipt you can inspect or revoke.

Control Booth

An agent is asking for access. Nothing happens until you decide.

Your Passport Ledger

Active grants live here. Revoking one kills its power immediately — mid-task.
No grants issued yet. Approve a request to stamp one in.

Audit log / receipts

Every grant, action, and revocation gets a timestamped line here.
Permission grant schema The shape of one entry in the passport — what an app actually gets, and for how long.
{
  "grant_id": "grt_8f2a1c",
  "issued_to": { "agent_id": "tripbot_v2", "agent_name": "TripBot", "developer": "Voyage Labs" },
  "issued_by": "passport:erin.mcgurk",
  "purpose": "Book one round-trip flight for the requested dates",
  "scope": {
    "action": "book_flight",
    "fields_readable": ["travel_dates", "departure_city", "seat_preference"],
    "constraints": { "max_amount": 600, "currency": "USD", "single_use": true }
  },
  "duration": { "granted_at": "2026-08-10T09:14:00Z", "expires_at": "2026-08-11T09:14:00Z" },
  "status": "active",           // active | consumed | expired | revoked
  "receipts": [
    { "ts": "2026-08-10T09:14:00Z", "type": "grant",  "detail": "Grant approved by user" },
    { "ts": "2026-08-10T09:41:12Z", "type": "action", "detail": "Read: travel_dates, departure_city" },
    { "ts": "2026-08-10T09:42:03Z", "type": "action", "detail": "Booked flight VY341, $540 — within cap" }
  ]
}