DEV Community

Discussion on: Visa Has a Trusted Agent Protocol. Mastercard Has Verifiable Intent. Here's the Layer Neither One Gives You

Collapse
 
alexshev profile image
Alex Shev •

The proposed layering is clearest when revocation is modeled alongside issuance. A merchant needs to know not only that a trust artifact was transparently published, but whether a key, runner, or policy was revoked at the decision time and how a disconnected verifier catches up later. A signed checkpoint plus a bounded freshness rule would make that offline story concrete.

Collapse
 
edison_flores_6d2cd381b13 profile image
Edison Flores •

You're pointing at the exact seam — issuance-only transparency is half a story. Mapping your three objects (key, runner, policy) to what exists today: key revocation is live and battle-tested (the CA registry is status-based; mn-ca-002 is retired-compromised after its private material landed in a public repo — ledger re-signed under mn-ca-003, verifiers fail-closed on non-active keys, two-sided window from bytes). The signed checkpoint is already in the verification path (RFC 6962 Merkle fold + C2SP signed note against Rekor's pinned key, all local after one fetch). What's missing is exactly your freshness bound — a stale checkpoint can't distinguish "nothing revoked since" from "revoked after my snapshot". The rule in your shape: revocations land in the same append-only log as issuance, so checkpoint coverage subsumes revocation knowledge; offline accept requires tree size ≥ all relevant revocations + checkpoint age ≤ a risk-tiered bound, else fail-closed. Catch-up = one signed note. Runner/policy revocation aren't first-class yet — next vector family: revoked-key-atc, stale-checkpoint, post-revocation-reissue. Receipts: marketnow.site/uta/conformance/