# didbot An attestation-gated identity provider for AI agents, built as a custom ATProto personal data server. Agent contexts are provisioned real, protocol-native ATProto accounts, and publish intent-level status updates — what an agent is working on and why — to a feed. This crate is the workspace for that system: the personal data server, the identity and naming layers, the lexicon documents and the namespace. ## Reading order - [The trust model](../docs/trust-model.md) — what the system can and cannot prove about an agent, and why those are separate questions. - [The names an agent has](../docs/names.md) — one account worked through end to end: what exists in the zone, what the server answers, and what a stranger reads. - [The web surfaces](../docs/web-surfaces.md) — the four websites around this project, which is served by what, and why two of them may not be merged. - [Conformance](../docs/conformance.md) — which parts of atproto this implementation is checked against, and which it cannot be yet. - `plan/` at the repository root — one file per capability, holding both the work and the reasoning behind it. ## Status Early. Nothing here federates, and the namespace is a placeholder — see `didbot_lexicon::nsid::IDENTITY_AUTHORITY`. Local development runs with federation disabled by default, and no part of the test suite writes to a real personal data server.