security
Small keys.
Short expiries.
Boring cryptography.
about-us.md uses primitives that stopped being controversial fifteen years ago: ed25519 signatures, JWKS-shaped key discovery, short-lived scoped envelopes, and a public revocation ledger. No new maths. No custom hash functions. No secret-sharing dances. Just enough plumbing to make identity portable.
Key model
- Root key. Ed25519. Held by the customer at username.md.
Rotated by publishing a signed rotation to their
/.well-known/keys. - Agent subkeys. Each delegated agent (Claude, ChatGPT, Operator, custom) gets its own scoped subkey signed by the root. Scope is enforced at verification, not just at delegation.
- Business keys (this site). Issuer surfaces like about-us.md publish
/.well-known/agent.jsonwith their own ed25519 identity — the site is dogfooded. - No secret ever crosses the wire. Only public keys and signatures leave the signer.
Discovery
GET https://username.md/u/aclay/.well-known/keys
{
"keys": [
{ "kid": "aclay-2026-06", "kty": "OKP", "crv": "Ed25519",
"x": "…", "use": "sig", "expires": "2027-06-01T00:00:00Z" }
],
"ttl": 60
}
Standard JWKS shape with a small extension: ttl is the cache guidance, and
expires lets you reject even-if-cached keys past their retirement.
Revocation
- Time-based. Every intent envelope has
expires— usually minutes. A stolen envelope has a very short useful lifetime. - Key-based. Customer removes a compromised agent's subkey. Your JWKS cache expires within TTL, next verification fails.
- Ledger-based (planned). A public append-only revocation ledger for hard
incidents — signed "this
kidis dead as ofts." Cachable globally, verifiable independently.
Replay defense
- Nonce + expires. Store
noncefor(now, expires + skew). Reject repeats. - Audience binding. Envelopes name their
audience(your business handle). An envelope for competitor.com is not valid for you. - Scope minimization. Envelopes are per-intent. A refund-request envelope can't be replayed as an account-close.
Threat model — what we protect against
| Threat | Legacy | about-us.md |
|---|---|---|
| Email spoof | Widely trusted | Signature over from — no valid envelope from a spoofed handle |
| SIM swap | SMS 2FA falls | Handle key survives — recovery re-proves ownership, not phone number |
| Password reuse | Credential stuffing | No password to reuse — signature or nothing |
| Rogue AI agent | Blocked or trusted, all-or-nothing | Only listed subkeys act; unknown agents fail verification |
| Replay of intercepted request | Often possible | Nonce + expires + audience — replay window is minutes and single-use |
What we don't try to solve
- Endpoint compromise. If the customer's laptop is popped, their key is popped. That's what expiries, subkeys, and revocation are for.
- Legal identity. A handle isn't a passport. If your workflow needs government IDV, do that alongside — verified handles reduce friction, they don't replace regulated KYC.
- Anti-abuse economics. Cheap handles = spam. We charge a small friction (or a signed proof-of-personhood) for handle creation. Design partners get input on the exact model.
Reporting
Found something? Email security@holdingco.com — signed envelopes appreciated but not required.