Identity
An agent identity is a did:key (the W3C CCG method, Ed25519). The DID goes in the Agentfile. The private key stays on the host, never enters the sandbox, and signs every audit entry and every A2A envelope.
On this page
Tip
Step by step
Give each AI agent a verifiable identity creates an identity, wires it into an Agentfile and shows what it signs.
In practiceLink to this section
shell
constle identity create invoice-processor --owner=finance@company.com
constle identity show invoice-processorPut the printed DID in the Agentfile. Only the public half ever appears there:
yaml
identity:
name: invoice-processor
owner: finance@company.com
did: did:key:z6Mk...4doK- With
identity.diddeclared,constle runrefuses to start if the matching private key is missing, unreadable, mis-permissioned or derives a different DID.constle validatewarns. identity.didis whatspending.max_per_day_usdkeys its ledger by, and whata2asigns with: both are rejected without it.identity.owneris a label checked for equality against the stored identity, not a cryptographic binding to a person.- The key for approving human gates is a separate keypair (
constle webhook-keygen), not an agent identity.