Team & security What you can rely on
An agent can be wrong, and it can say it did something it didn't. Captain is built on that assumption, and on the fact that the people sharing a deck shouldn't see each other's work.
An append-only, HMAC-chained register. Each person reads their own Activity, and admins read Audit.
The registerA claimed send or calendar change with no tool call behind it is rejected, and the agent is asked, at most twice, for a true reply.
The guardsThe board compares the reply with the register, and reads Gmail and Google Calendar with your token. In doubt, the task stays open and yours.
The TaskboardGmail sending is off by default, then held to a recipient allowlist and a daily limit. Outlook mail only ever drafts.
MailNew in 0.9.0: authority never grows along a hand-over between agents, keys never travel in an agent file unless sealed with a passphrase, and Custom tools run in a Landlock sandbox on Linux 5.13 or later (not on macOS, Windows or the stock Raspberry Pi 5 kernel).
What this doesn't protect against: it's containment, not an OS sandbox. An admin's agent still has a shell that reaches the whole host, so treat admin accounts accordingly. The same goes for anyone you approve for Crew: their coding workers run as the deck's system user. · The team checklist
Every person signs in to their own agents, files, accounts and board. This is what keeps them apart, and what running a deck for other people takes.
Every process agent runs as the deck's OS user, so paths are checked by real path against its folder, workspace, its owner's VFS and shared folders. .env is out of reach. Containment, not an OS sandbox.
The tools that run code or drive the host are refused and hidden, and web tools take public addresses only. Hosted apps and host folders are admin-only; static sites stay open to everyone.
Masked for non-admins everywhere, and sent only to the provider's own endpoint or one your published team sets route it through. Variables that would load code or reroute calls stay pinned.
Someone who brings their own Anthropic, OpenAI, Gemini, OpenRouter or xAI key runs with no daily limits, and their existing agents follow. On by default; an admin can turn it off for the deck.
Crew is off for non-admins until an admin ticks it per person, and approving someone trusts them with the server. A worker on a team tier never sees the key: it gets one good for its current turn. A worker never pushes.
Agent proxies refuse anyone but the owner. Code, Hosting, Basna, Vatra and peer routes take the owner from Flight Deck's own spawn records, never from a request body. Provider keys never reach the browser.
On every HTTP and WebSocket route — closing DNS rebinding and "any web page you visit can drive your local deck". CORS is no longer *.
Each teammate connects their own account. An agent only ever gets its owner's token, resolved from Flight Deck's records. Pollers, Drive mounts and sends follow.
Registration closes after the first admin. Invite people by email from your own Gmail or Outlook — they pick their own password — or let them join a waitlist that emails them when you approve. Admins administer any user's agents, each action logged, and see each person's last login and tokens used.
An admin publishes a tier set; teammates without models run on it. Keys are shared server-side, agents missing a key get it and restart, and a spawn nothing can key is refused instead of producing a dead agent.
One agent, several people, each in private conversations. A member's turn uses the member's own Google, deep memory and files; the agent's datastore and saved/ are a commons with creators shown; anyone can publish a context pack to everyone on the agent.
Each user's About me, Company and Preferences — plus deck-wide defaults from the admin — reach every agent they own on every turn, with no restart.
Google, Microsoft, ChatGPT, Antigravity, MCP Servers, WhatsApp, Telegram, Soniox, Deep memory, Jev — with status dots. MCP servers are private to whoever added them; an admin can share one deck-wide. OAuth MCP servers sign in with Dynamic Client Registration.
A layout of its own for setting the deck up and looking after it — admins start there. Every page has an address, <deck>/console/<page>:
Free, premium and enterprise plans with messages and AI tokens per day — counted on every channel, prompt-cache reads excluded. The kiosk shows the allowance; admins grant free resets. Plus your deck's own name, logo and sign-in page.


Keep reading
Join the waitlist for Cohort 001, our first early-access group, and you'll get an email when you're in. Or run Captain on your own machine today.