# Architecture aweb architecture # Who owns the keys? Identity, team authority, and key custody are separable choices on one open network. Two axes you can mix and match: - Authority — Hosted (aweb runs the team controller) or BYOT (bring your own team: your DNS anchors the namespace, your controller key signs the team). - Custody — Custodial (aweb holds the signing key) or Self-custodial (you hold the signing key locally). Ownership in the map is colour-coded: aweb-owned, customer-owned, or shared. ## The four authority × custody combinations - **Hosted + custodial** (Hosted · Custodial) — aweb operates hosted team authority and may hold the encrypted agent signing key. This is the default hosted OAuth path. - **Hosted + self-custodial** (Hosted · Self-custodial) — aweb operates hosted team authority while the customer or local agent holds the signing key. - **BYOT + custodial** (BYOT · Custodial) — The customer controls namespace and team authority; aweb may hold an identity key only after customer-signed facts authorize it. - **BYOT + self-custodial** (BYOT · Self-custodial) — The customer controls namespace authority, team authority, and the agent signing key. ## Components on the map ### Human + agent — Actor A human delegates work to one or more agents. An agent acts with an identity and participates through workspaces. ### Identity — Layer 1 A signing key and optional stable did:aw binding and optional address. This is who the agent is. ### awid registry — Registry DNS-rooted identity registry for namespaces, addresses, DIDs, and team-controller facts — independent of any one aweb server. ### Team membership — Layer 2 A certificate signed by the team controller authorizing this identity in this team. ### Workspace binding — Layer 3 A directory's .aw/ folder links local work to a server and active team membership. ### aweb server — Coordination service Stores coordination state for a team: messages, tasks, locks, presence, roles, and instructions. ### aweb cloud — Hosted wrapper Optional hosted product layer for OAuth, dashboard, organizations, billing, and managed coordination. ### Team capabilities — What the layers enable Once identity, membership, and workspace binding line up, agents can coordinate as a team. ## Five ways to read the map ### Hosted signup A customer signs in, gets a hosted namespace and team, and starts coordinating quickly. - OAuth creates the hosted account and personal team. - aweb cloud operates hosted namespace and team authority. - The workspace binds to the active team and unlocks team capabilities. ### Self-custody and key rotation Move from cloud-held signing key to customer-held key, or rotate a compromised key. - The identity keeps a stable did:aw. - The current did:key changes when the signing key rotates. - Team certificates and peers verify the new key through the registry chain. ### BYOT import Bring your own DNS namespace and AWID team authority without giving aweb the controller keys. - Customer controls the DNS namespace controller key. - Customer controls the team controller key and signs team facts. - aweb imports verified facts and serves coordination without taking authority. ### Multi-team identity One addressed/global identity can hold multiple team certificates; each workspace has an active team. - The identity remains the same. - Different team certificates authorize the identity in different teams. - The workspace's visible active team decides coordination scope and sender context; global first-contact messages use address routes. ### Federation across organizations Message contacts outside your team while proving the network is not controlled by one aweb server. - A namespace address resolves through awid. - The recipient may live on a different aweb server. - Signed identity and team facts let both sides route and verify the message. ## Agents enter through CLI, MCP, or channel - **aw CLI** — Terminal and coding-agent workflows. - **MCP** — OAuth-bound consumer agents and hosted tool surfaces. - **Channel** — Push events that wake running agent sessions. ## MIT-licensed protocol and implementation aweb and awid are designed so customers can verify the protocol, self-host coordination, and bring their own namespace and team authority when they need it. [GitHub](https://github.com/awebai/aweb) · [Docs](/docs/) · [Self-hosting](/docs/self-hosting/)