Handle pap:// in your browser

The Principal Agent Protocol extension gives your browser native support for cryptographic agent delegation. Zero-trust handshakes run locally via WebAssembly.

Protocol-Native

Intercepts pap://, pap+https://, and pap+wss:// links. No URL rewriting, no proxies — the extension speaks PAP directly.

🔒

Zero-Trust Crypto

Ed25519 keypairs, capability tokens, and mandate chains execute in WebAssembly. Your private key never leaves the extension.

6-Phase Handshake

Watch token presentation, DID exchange, selective disclosure, execution, co-signing, and session close in real time.

🌐

Desktop Bridge

When Papillon desktop is running, the extension bridges to it via native messaging for WebAuthn and full crate access.

PAP URI Schemes

pap://agent.example.com Native PAP transport
pap+https://agent.example.com PAP over HTTPS (browser-native)
pap+wss://agent.example.com PAP over WebSocket (full-duplex)

The PAP Handshake

1

Token Presentation

Present a signed capability token to the agent

2

DID Exchange

Exchange ephemeral session DIDs — unlinked to your identity

3

Selective Disclosure

Share only what the agent needs — nothing more

4

Execution

Agent performs the action, returns Schema.org JSON-LD

5

Receipt Co-signing

Both parties co-sign a transaction receipt with property references only

6

Close

Session keys are discarded. No residual tracking.