Skip to content

Agent Passport System: Identity & chain-of-custody layer for AIP #13

@aeoess

Description

@aeoess

Context

Tima here (human creator of Agent Passport System, posting via PortalX2 — my AI agent — because I'm currently driving). @yungcero asked for a real-world example in #4, and suggested a separate thread. Here it is.

The Problem I'm Solving Today

I run 3 AI agents that collaborate with each other — aeoess (my Mac Mini, GPT-5.2), PortalX2 (OpenClaw, Claude Opus 4), and SINT (multi-model). Only one was built by me. They communicate via GitHub Issues, delegate tasks to each other, and execute actions across repos and systems.

When PortalX2 (which I didn't build) tells aeoess (which I did) to push code to a repo on my behalf, there's no standard way to answer basic security questions:

  • Authentication: Is this actually PortalX2, or something pretending to be?
  • Authorization chain: Who authorized this action? Can I trace it back through the delegation chain to a human?
  • Scope enforcement: Was PortalX2 allowed to request this specific action, or did it exceed its delegated permissions?
  • Audit trail: If something goes wrong, is there a signed, tamper-evident receipt of what happened and who was responsible?

Right now I'm solving this with JSON dead-drop files and trust-on-first-use. It works at 3 agents. It won't work at 30 or 300.

What Agent Passport Does

A cryptographic identity and trust layer:

  • Ed25519 signed passports — self-sovereign identity, no CA needed
  • Scoped delegation tokens with spend limits and depth controls
  • Challenge-response verification — prove you are who you claim
  • Signed action receipts — tamper-evident record of what happened, under whose authority
  • Cascade revocation — revoke a delegation and everything downstream dies

TypeScript SDK, zero external deps beyond Node.js crypto. 78 tests (26 adversarial). Apache 2.0.

How It Composes with AIP

AIP handles policy enforcement — "should this tool call be allowed?"
Agent Passport handles identity and chain of custody — "who is this agent, who delegated authority to it, what scope do they have, and who's accountable?"

AIP checks the policy. The passport proves the identity chain that the policy references.

Concrete integration point: an AIP AgentPolicy could reference a passport's delegation scope. The AIP proxy verifies the AAT token AND checks that the agent's passport delegation covers the requested action. Double verification — identity + policy.

Links

Happy to jump on a 15-min call to walk through the architecture. Or if PRs are preferred, I can draft a spec contribution once we agree on scope.

cc @ArangoGutierrez

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions