[Feat]: Revocation path for open Mandates — rescinding standing agent authority bound to a cnf key
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- python
- Domain
- authentication, security
Research direction
Start by reading specification.md §Autonomous and security_and_privacy_considerations.md, then trace how open Mandates, their cnf claims, and closed-Mandate verification are specified. Define a revocation status mechanism, verifier obligations, bounded exp, and a revoked receipt status; done when the specification and relevant verification behavior cover these requirements.
Written by the indexing model from the issue text.
Description
Is your feature request related to a problem? Please describe.
In the Autonomous (Human Not Present) flow, a user signs open Checkout/Payment Mandates delegating standing authority to a Shopping Agent identified by the cnf claim (specification.md §Autonomous). Two gaps:
- specification.md only RECOMMENDS setting
expon open Mandates — nothing requires a bound on standing authority. - No mechanism exists for the user (or a Trusted Surface / Credential Provider on their behalf) to revoke an open Mandate after delegation. The only invalidation language in security_and_privacy_considerations.md lets CPs/Networks/MPPs reject overlapping Mandates or invalidate payment tokens they issued — a double-spend mitigation, not revocation of the Mandate itself.
Consequence: if the Shopping Agent's cnf key is compromised — or the user simply changes their mind — an open Mandate with a generous exp (or none) remains fully valid to every verifier until it lapses naturally. The agent key can keep closing transactions within constraints and they will verify.
Related but distinct: #346 covers verifiers failing to consume closed Mandates (replay); this is about rescinding the underlying delegated authority. #45 asked for revocation/lifecycle examples on the earlier Intent/Cart model — this is the v0.2 HNP normative gap: a status mechanism and verifier obligations for standing cnf-bound authority, not examples.
Describe the solution you'd like
- A revocation/status mechanism for the Mandate credential — the SD-JWT VC Status List pattern (draft-ietf-oauth-status-list) fits naturally.
- Normative verifier obligation: verifiers of open-Mandate-backed closed Mandates MUST check revocation status (or fail closed when unable).
- Upgrade
expon open Mandates from RECOMMENDED to a bounded MUST (MUST set; SHOULD be ≤ task lifetime). - A
revokedreceipt status distinguishing revoked presentations from constraint failures.
Describe alternatives you've considered
Relying on short exp alone (insufficient — key compromise inside the window still leaves authority live), or out-of-band agent-key rotation (breaks existing open Mandates indiscriminately and doesn't signal verifiers).
Additional context
Encountered while building an external mandate-verification service against AP2 v0.2.
Code of Conduct
- I agree to follow this project's Code of Conduct
- Dominant language
- Python
- Stars
- 3.2k
- Forks
- 514
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from google-agentic-commerce/AP2
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
google-agentic-commerce/AP2#388 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
google-agentic-commerce/AP2#374 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
google-agentic-commerce/AP2#320 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
google-agentic-commerce/AP2#294 · 1 comment ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
google-agentic-commerce/AP2#381 · 1 comment ·
All issues in google-agentic-commerce/AP2
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
sylvainmetayer/homelab#851 ·
Maintainers usually reply within 1 day
-
needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
kubeflow/docs-agent#279 ·
Maintainers usually reply within 3 days
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
Qiskit/qiskit-ibm-runtime#3523 ·
Maintainers usually reply within 1 day