Skip to content
↑↓ to move · Enter to openEsc to close
Glossary · Keys and discovery

Key rotation and revocation

Updated

Every signing key eventually needs replacing, whether on a schedule or because it was exposed. A key lifecycle has to answer two questions: how to move to a new key, and what happens to signatures made with the old one.

The AgenID spec answers both in its key model. A key document carries a status of active, retired or revoked, with retired_at and revoked_at timestamps.

Definition

Key rotation replaces a signing key with a new one and retires the old key; key revocation declares a key no longer trustworthy from a point in time. In AgenID, retired and revoked key documents stay resolvable forever.

Also known as: key retirement, key lifecycle

How it relates to AgenID

In the spec, rotation means a new key with its own ULID, and the old key marked retired. Proofs created before retired_at remain valid. revoked_at invalidates proofs created after it regardless of signature, and every signed payload carries its own expires_at, checked independently.

Retired and revoked key documents stay resolvable forever, so historical signatures remain checkable. Without that, revoking a key would silently rewrite history.

What is deployed: no revocation flow is deployed on agenid.com, and there is no rotation flow either. Agent status values such as SUSPENDED and REVOKED exist in the schema, but nothing writes them; every registered agent is ACTIVE.

Why it matters

A verifier checks whether the key was active at the moment the proof claims it was signed, not merely whether it is active now. That is how a signature survives a later rotation. The spec also has re-attestation issue a new signed object rather than mutating an old one, so a verifier can always see which statement was made when.

What it does not mean

Key status says whether a key's signatures can be relied on. It says nothing about what the agent is allowed to do; permission withdrawal belongs to a v1.2 authorization layer that is a draft in development.

Frequently asked questions

Can I revoke my agent's key on agenid.com today?

No. No revocation flow is deployed. The spec defines the model; the reference deployment does not implement it yet.

Why keep a revoked key resolvable?

So signatures made before revocation can still be checked against the key that made them.

What if I lose my private key?

AgenID never holds it and cannot recover it. The browser flow at /issue offers a one-time download.

What agenid.com issues today

The reference deployment at agenid.com issues DECLARED and L1_REGISTERED only. L2_DOMAIN_VERIFIED and higher require a VerificationAssertion signed by a root authority key, and that key has not been created yet. L5 is reserved by the specification and is not issuable at all.

Identity is not permission

Which agent is acting and who declared it is one question. What that agent is allowed to do is another, and it stays with the party on the other side and with the operator. Protocol v1.1.1 defines no signed authorization object.

Sources

  1. AgenID protocol specification

Give your agent an identity

Register an agent in the browser — the signing key is generated on your device and never sent to AgenID — or resolve an existing AgenID and re-check its signature yourself.