Project policy

Threat Model

Protected assets

Trust boundaries

The host user, configured ACP agents, configured shell commands, and explicitly managed 1MCP instances are trusted. Browser users of the full workspace must be authenticated through local loopback mode, a validated Cloudflare Access JWT, or a private owner-filtering VPN proxy plus a secure browser session. In private-proxy mode the VPN gateway and reverse proxy are trusted identity issuers; the proxy requires an encrypted restricted backend transport. An ACP session receives a temporary capability limited to its thread and project for artifact operations. The optional share listener is a separate read-only boundary: a random token authorizes a link-only thread or artifact share, while an email-restricted share also requires a Cloudflare Access JWT with the dedicated share audience and an email that matches one stored recipient. Remote icon, speech-provider, and Cloudflare endpoints are untrusted networks. An artifact hub trusts its owner-filtering proxy as the identity issuer, like private-proxy mode, and additionally requires each workspace’s bearer credential to match the proxy-asserted owner. A hub-connected workspace treats hub responses as untrusted. Hub owners are trusted not to attack each other through the hub service itself; folder rules separate their private artifacts.

Primary risks

Controls

Non-goals

Trit is not a hostile multi-tenant sandbox, a privilege boundary between users on the same Unix account, or a safe way to run untrusted ACP implementations. It must not run as root or expose an origin listener to the internet. Link-only thread and artifact shares are bearer capabilities: anyone who obtains an active URL can read its frozen snapshot, current live view, exact artifact revision, or current artifact revision.