API Gateway Platform · View 15 of 21 · Runtime
Why it is shaped like this
- ADR-01 forbids a synchronous revocation check on the request path, so revocation has to be pushed. That converts a consistency guarantee into a propagation SLO, and an SLO needs evidence.
- Every proxy acknowledges with its denylist version, so coverage is a number rather than a hope. Below 100% at 60 s, someone is paged.
- The operator is told "accepted, propagating" — never "revoked" — because the second word would be a claim the platform cannot yet make.
Numbers
- Revocation effective globally within 30 s (assumption). The 11 s figure on the diagram is illustrative, not a target.
- Token lifetime is chosen against this SLO: a long-lived signed token that is not on the denylist is a credential nobody can recall.
Risks
- The denylist grows without bound unless entries expire with the credential they name. Entries are retained to not_after and no longer — which means a non-expiring API key needs a permanent entry, and is an argument for expiring keys.