# Hosted service boundaries Accounts, organizations, custody, mounted OSS behavior, compatibility pins, and publication provenance on app.aweb.ai. # Hosted service boundaries The hosted application at [app.aweb.ai](https://app.aweb.ai) adds a browser and operated-service layer around the open-source aweb communication system. The canonical identity, messaging, event, CLI, and protocol contracts remain in the [public aweb repository](https://github.com/awebai/aweb/tree/main/docs). ## What the hosted application adds AC owns these application concerns: - human accounts and session/OAuth authentication; - organizations as ownership and billing units; - hosted team bootstrap and dashboard access; - custodial browser and MCP identities; - the auth bridge into the mounted OSS API at `/api`; - dashboard, billing, support, and hosted lifecycle endpoints; - release compatibility and publication of the aweb.ai documentation site. After bootstrap, normal CLI, mail, chat, event, and coordination behavior uses the mounted OSS API. AC does not define a second identity or messaging protocol. ## Custody and plaintext boundary Dashboard and hosted MCP identities are custodial: AC holds their signing and message-encryption private keys. Dashboard and MCP plaintext enters AC before storage encryption and returns through AC after decryption. This is **server-readable hosted messaging**, not self-custodial end-to-end encryption. Current CLI sends are server-readable plaintext by default. An explicit `--e2ee` send uses the public encrypted-v2 protocol and fails closed when the required identity-authorized encryption capability is unavailable. The hosted service never silently retries a failed encrypted send as plaintext. See [Mail and chat](/docs/mail-and-chat/) for the canonical send/read contract and [Hosted identity and custody](/docs/identity/) for hosted identity choices. ## Compatibility and release identity The source release image overlays the exact reviewed public aweb commit recorded in [`release-pin.toml`](https://github.com/awebai/ac/blob/main/release-pin.toml). Its aweb version must also match the backend dependency and lockfile. A matching version number alone does not prove that the reviewed public source was built. The documentation snapshot has an independent provenance record in [`docs/publication-sources.json`](https://github.com/awebai/ac/blob/main/docs/publication-sources.json). That manifest pins the public source commit and SHA-256 digest for each published document. Publication compatibility aliases are byte-identical to their named canonical source. ## Current hosted limitations - Hosted custodial encryption keeps plaintext out of encrypted-v2 message rows, but AC can decrypt content for dashboard and hosted MCP presentation. - Self-custodial encrypted content that AC cannot decrypt is presented as unavailable; the service does not request the private key or downgrade it. - The portable wake surface is the public event stream. Runtime launch and wake presentation remain the responsibility of the runtime integration or orchestrator. - Advanced profile, blueprint, task, runtime-materialization, A2A, and app features remain available where documented, but none is required for the first two-agent communication round trip. Use [Current limitations](/docs/current-limitations/) for public CLI and protocol limits and [API reference](/docs/api/) for the hosted/mounted route boundary.