The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Uuaid listing page.
The verifiable identity layer for AI agents — the SSL/CA for agents.
A permanent, portable identity plus encrypted, quantum-ready memory that outlives the session. This monorepo holds the official TypeScript packages; the hosted registry, resolver, and on-chain anchor run at uuaid.org.
Protocol specifications live in uuaid/spec. The design argument, including the vulnerability we found in our own verifier, is at uuaid.org/know-your-agent.
| Package | npm | What |
|---|---|---|
@uuaid/core | @uuaid/core | UUAID grammar, JCS content hashing, crypto-agile signature envelope, Verifiable Badges (IAASO-0003) |
@uuaid/vault | @uuaid/vault | Client-side memory encryption (AES-256-GCM + hybrid X25519/ML-KEM-768) |
@uuaid/sdk | @uuaid/sdk | Typed client: signup, mint, save/recall memory, verify |
@uuaid/provenance | @uuaid/provenance | Media provenance (IAASO-0004) — bind an image, video or PDF to the agent that made it |
@uuaid/cli | @uuaid/cli | uuaid signup · register · badge · verify-badge · vault … |
@uuaid/mcp | @uuaid/mcp | MCP server — one config line makes any agent persistent |
The one thing to get right, so it is worth stating before the code: a badge
envelope carries the signer's own public key. Well-formedness, the payload-hash
bind, signature validity, even a valid post-quantum signature — all of them pass
for a badge anybody minted with a fresh keypair and a copied keyId. Pinning the
issuer against a published root is the only step that turns a valid signature
into an identity claim.
verifyBadge therefore fails closed. No pin, no verdict.
Omit trustedIssuerKeys and you get ok: false, level: "L0-selfsigned" — the
level a forgery reaches. See
IAASO-0003 §4.3.
Found a badge that verifies and shouldn't? That is the most useful thing you can send us — security@uuaid.org, and see SECURITY.md.
Apache-2.0 — see LICENSE.