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

Operator key: the key an operator signs its agent with

Updated

The operator key is what makes an agent's manifest attributable. Whoever holds the private key can sign for the agent; everyone else can only verify.

AgenID is built so the registry is never that holder. At /issue the key pair is generated in your browser and only public material is sent. The CLI writes the private key to a local file and does not print it.

Definition

An operator key is the Ed25519 key pair an agent operator uses to sign ManifestProofs. Its public half is published as a key document with role operator and a controller naming the agent; its private half never leaves the operator.

Also known as: operator-role key

How it works in AgenID

Each key has its own identifier, agenid:key:<ULID>. Its key document lists key_type, the base64url public key, role, controller, created_at, a status, and optional retired_at and revoked_at. In v1.1.1 the controller is the agent's identifier. Verifiers fetch it from the registry at https://www.agenid.com/v1/keys/<key-ulid> and, where the operator publishes one, from https://<operator_domain>/.well-known/agenid/keys.json.

Why it matters

Role is enforced at verification time, not just documented. A ManifestProof signed with an authority-role key is rejected even if the Ed25519 math validates, so an operator key can only produce DECLARED statements. That is the line between what an operator says and what an authority has checked; see declared, verified and authorized.

Keeping the private key off the registry also limits what a registry breach could do. Someone who took over AgenID's database would hold public keys and signed records, none of which lets them sign a new manifest for your agent.

What it does not mean

Holding the key proves control of the key, not honesty. No revocation flow is deployed today: the status values exist in the schema, and retired or revoked keys would stay resolvable so old signatures remain checkable, but nothing currently writes them. The key also signs identity claims only; it is not a credential for what the agent is allowed to do.

Frequently asked questions

What if I lose my operator key?

AgenID cannot recover it, because it never had it. Store the one-time download from /issue somewhere safe.

Why publish the key on my own domain?

It gives verifiers a second source to compare with the registry's copy; without it they have one source, not two. Domain evidence reports whether your file parses.

Can one key sign for several agents?

Not in v1.1.1. The key's controller must equal the agent being signed for.

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 (public repository)

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.