Skip to content

Revocation Package

The revocation packages define the store contract resource servers use to reject mandates after a session, root session, agent session, or delegation edge has been revoked.

EcosystemPackage
TypeScriptnpm install @caracalai/revocation
Pythonpip install caracalai-revocation
Gogo get github.com/garudex-labs/caracal/packages/revocation/go
OperationMeaning
isRevoked(sid) / is_revoked(sid) / IsRevoked(sid)Return whether an anchor is revoked.
markRevoked(sid, ttl) / mark_revoked(sid, ttl) / MarkRevoked(sid, ttl)Record an anchor as revoked for a TTL.

Use in-memory stores for local development, tests, and single-process examples:

EcosystemIn-memory API
TypeScriptnew InMemoryRevocationStore({ defaultTtlMs, maxEntries })
PythonInMemoryRevocationStore(default_ttl_ms=...)
Gorevocation.NewInMemoryStore(defaultTTL)

In-memory stores do not share revocation state across processes. Production resource servers should use a shared backend and consume caracal.sessions.revoke.

Use Redis Revocation Store for multi-instance resource servers. The Redis connector reads signed revocation stream messages, marks every revocation anchor, and lets verifiers fail closed when Redis is unavailable.