A business challenge appears
A payment approval, onboarding step, account change, or other business action needs trusted identity and user authority.
§ 01 · KNOW YOUR AGENT · CORE IDEA
That is the core Paphwey model. We help the user approve that access clearly, help the business understand what the agent is allowed to do, and help the resulting action carry trust.
The flow
Each step is a distinct moment of authority — what the business needs, what the user grants, what the agent does, and what the business receives.
A payment approval, onboarding step, account change, or other business action needs trusted identity and user authority.
The user grants the AI agent permission to use their identity wallet for that specific challenge or scope of challenges.
The agent uses the approved wallet access to perform the task the user allowed it to perform — nothing beyond.
The organization gets a result tied back to approved user authority rather than generic automation.
Invariants
The identity wallet remains under the user's control — not the app's, not the agent's.
The user approves what the agent can do, rather than handing over open-ended authority.
The same model can support different business challenges while keeping the trust logic understandable.
For users
For businesses
Policy contract
A delegation carries explicit caps. A relying-party policy layers on top with its own caps. Paphwey checks the delegation first, then the policy, and returns a machine-readable reason whenever either bound rejects the request. No freeform error strings, no silent fall-through.
Policy contract
{
"spend_cap": {
"amount_minor": 2500,
"currency": "GBP",
"window": "weekly"
},
"per_domain_allowlist": [
"merchant.example.com"
],
"per_api_allowlist": [
"POST /v1/orders"
],
"approval_threshold_minor": 5000,
"reasons": [
"SPEND_CAP_EXCEEDED",
"DOMAIN_NOT_ALLOWED",
"API_NOT_ALLOWED",
"APPROVAL_THRESHOLD_REQUIRED"
]
}
What the RP sees
Open standards
Every layer of the gateway maps onto an open specification: how identifiers are published, how credentials are shaped, how wallets receive them, how verifiers request presentations, and how agents call the API. The stack below is what relying parties, wallets, and governance teams already know how to reason about.
Gateway, wallet, and agent identities are DIDs. The gateway publishes its DID Document at /.well-known/did.json; principals and agents use did:key for offline resolution.
Delegation credentials and attestations both use the VC v2 shape — @context, type, credentialSubject — so VC tooling reads them natively.
The v1 IAT envelope follows draft-ietf-oauth-sd-jwt-vc. Relying parties receive only the claims their policy asked for, backed by SHA-256 disclosure digests.
Wallets pick up Paphwey-issued credentials through OIDC4VCI — credential offer, pre-authorized token, and credential endpoints — advertised at /.well-known/openid-credential-issuer.
Verifier flows use OIDC4VP: a presentation request object pointing at a presentation_definition, a signed response carrying the SD-JWT VC.
The relying-party API baseline leans on modern OAuth patterns — short-lived tokens, pushed authorization requests, and proof-of-possession where agent binding requires it.
The agent-facing interface speaks MCP — paphwey-mcp exposes the agent-action triad as first-class tools for Claude Desktop, ChatGPT Agent Mode, and the OpenAI Agent SDK. See developer docs ↗
Who holds which key
Paphwey separates four actors on purpose. The user is the human in charge. Their wallet device is the phone they press "approve" on. The AI agent is the software doing the work on their behalf. The relying party is the business that needs a verifiable answer. Each actor holds its own key — so a compromise of any one of them doesn't forge authority for another.
cnf.jwk. At challenge time the agent signs a
proof-of-possession over
{challenge_id, nonce, audience, timestamp}.
cnf.jwk, then verifies the agent PoP against that key.
cnf.jwk = agent public key.
challenge_id / nonce / audience / timestamp.
Why four and not three
Collapsing the user and the wallet device into one actor is how phishing wins. Collapsing the agent into the user is how delegation turns into impersonation. Paphwey keeps all four distinguishable on the wire so the business can tell which signature meant which thing.
Regulatory mapping
Paphwey is not a KYC vendor. We consume the KYC signal your provider already produces and we emit agent-side artefacts that slot into the frameworks your MLRO, fraud team, and CISO already read against. The table below is the short version — the long form lives in the compliance FAQ.
| Paphwey artefact | Regulatory obligation | Framework reference |
|---|---|---|
| Delegation credential | Non-human identity governance | NIST SP 800-63 (AAL), NYDFS Part 500 (reference) |
| IAT (attestation token) | Strong Customer Authentication / TRA | PSD2 RTS |
| IAT (attestation token) | Identity proofing | UK MLR 2017 reg. 28 |
| Receipt + audit chain | AML record-keeping | UK MLR 2017 reg. 40, FATF R.11 |
| Policy engine | Transaction risk monitoring | DORA (ICT risk), EBA fraud guidelines |
We are not a KYC vendor — we consume the KYC signal your provider already produces.
Next step