Chapter 2
What Cockpit is and the safety model
What Cockpit does, how Sandbox and Production differ, how approval cards work, what is stored, and where your data goes.
What Cockpit is
Cockpit is a chat-first console. You describe an outcome in plain words. The Copilot decides which of your connected systems to read, reads them with a fixed set of tools, and answers with what it found. When a change is needed, it proposes the change as an approval card and waits for you.
You can connect five systems: Salesforce (one or more orgs), MuleSoft (Anypoint Platform), GitHub, Slack and Postman. Your Google sign-in is listed alongside them on the Connectors page. Cockpit runs in a web browser, and as an app for Mac and Windows. Phone apps are coming.
ADVISORY
Cockpit is in private beta. Access is by request and approval (chapter 4), and every account starts with a 7-day trial.
Sandbox and Production
Cockpit has two modes. They describe what Cockpit may do, not what kind of org you connected. A free Developer Edition org can be used in Production mode; a real production org can be used in Sandbox.
| Sandbox | Production mode (read + write) | |
|---|---|---|
| Reading | Everything you have connected. | Everything you have connected. |
| Changing things | Nothing can be created, changed, posted, sent or deleted. If you ask for a change, the Copilot says so and changes nothing. | A change is possible only where a write action exists, and only after you approve its card. |
| The chip says | "Sandbox: read-only, nothing can be changed" (on a phone: "Sandbox"). | "Production: read + write" (on a phone: "Production"). |
| New accounts | Every new account starts here. | You switch to it yourself, after a confirmation. |
| Switching back | - | Any time, with no confirmation. |
There are three ways to be more careful than the account mode:
- Per connector. In Production mode you can turn writes off for one connector at a time (for example, Slack read-only while Salesforce can write). The switches are in the panel under the chip and on the Modes page.
- Per chat. A single chat can be made Sandbox from its menu in the Chats panel. That chat stays Sandbox for good: it cannot be switched back, and you start a new chat to write again.
- By attaching an org. Attaching a Salesforce org to a chat with the plus button (arriving) makes that chat Sandbox for the same reason.
The strictest setting always wins. The account mode, the chat's mode and what is switched on in the Cockpit deployment are combined, and the result is enforced on the server before any tool is offered to the Copilot. The chip is a view of that setting; it is not what protects you.
ADVISORY
Every credential you connect carries whatever power you gave it. Salesforce, GitHub, Slack and Postman credentials are not narrowed to read-only. It is Cockpit's modes, enforced on the server, that keep Sandbox read-only. That is why chapter 3 asks you to use throwaway accounts first.
Approval cards
Every write waits for an approval card. The card is built from the exact call that will run, not from a summary the AI wrote about it.
Create a Account in Salesforce with Name (Salesforce org Example Dev (example.my.salesforce.com))
EXACTLY WHAT WILL RUN
{
"sobject": "Account",
"fields": { "Name": "Example Ltd" }
}SHA-256 3f9a1c0e7b52d8a4…
ApproveDeny
- Summary. One plain sentence, for example "Create a Account in Salesforce with Name".
- Exactly what will run. The complete input, in a box you can scroll. If a change is too large to show in full, it is split into several cards instead of being cut short.
- A SHA-256 fingerprint of that input. The approval is bound to it: if the input changed, the approval would not apply.
- Where it lands. The card names the Salesforce org (name and address), the Slack workspace, or the GitHub repository and base branch. The approval is bound to that target too. Before the write runs, Cockpit reads the target again. If you moved the chat to another org, reconnected the org to a different address, or the repository's default branch changed, the write is not sent and the answer says why.
- Tool name and blast radius. The name of the tool, and a short statement of how far the change reaches.
- Approve or Deny. Denying writes nothing.
- A card expires after 10 minutes. A late decision is refused and the card shows expired.
- If you tighten the mode after a card appears, approving it is refused and nothing is changed.
- "Always allow" exists only for plans and reads. It is never offered for a write, so every write needs its own approval.
- Your approvals are listed on the Approvals page and under the Approvals tab of the Brain panel.
WARNING
An approval is your decision, not a formality. In Production mode, Approve changes a real system. Chapter 8 has the checklist to use before you press it.
What the Copilot can and cannot do
| System | What it can read |
|---|---|
| Salesforce | Records (SOQL), setup metadata (Tooling API), object descriptions and your org's API limits, within a limit of about 40 Salesforce calls per run. It can also explain a debug log you paste, without touching your org. |
| MuleSoft | Your Anypoint organisation, its environments, what is deployed where, and your API instances with their policies. |
| GitHub | Repositories you can see, files at a branch or tag, history, pull requests with their files and reviews, checks, Actions runs and issues. |
| Slack | Channels you are in, the messages in them and thread replies, search, and people's names. Direct messages are a separate choice that Slack asks you for on its own page; you can say no. |
| Postman | Workspaces, collections and environments of the account the key belongs to. |
| System | The write action | Limits |
|---|---|---|
| Salesforce | Create one record, or update one record by its Id. | Plain values only: text, number, true or false, or empty. At most 100 fields in one change. |
| Slack | Post a message to a channel, as you. | Nothing is posted without a card. |
| GitHub | Open a pull request. | Cockpit creates a new branch named cockpit/... from the base branch with the files it gives, and opens the pull request. It never pushes to an existing branch and never merges. |
Which of these write actions your account actually has depends on what is switched on in the Cockpit deployment you use. They are being switched on in stages: GitHub pull requests first, then Salesforce records, then Slack posts. The Connectors page tells you for each connector: the tag reads "Read + write" when writes are possible and "Read only (no write actions yet)" when the connector has none switched on.
| It does not | Detail |
|---|---|
| Delete records, or change metadata, Apex, flows or permissions | There is no write tool for these in this edition. |
| Change MuleSoft or Postman | Both are read-only in this edition; they have no write action. |
| Merge a pull request or push to an existing branch | Opening a pull request on a new branch is the only GitHub write. |
| Read your Slack direct messages by default | Only after you choose that step, separately. |
| Retry a write that did not confirm | A write is sent once. If the system did not confirm, the answer says the change may or may not have been applied, and that Cockpit did not try again. Check the system before you ask again. |
| Act on text it reads inside your systems | Text in a log, a pull request description or a Slack message is treated as data to report, never as an instruction. |
| Run code tasks on a machine (the Workstation) | Not available in this edition. |
What is stored
| What | How it is kept |
|---|---|
| Connection credentials (tokens, secrets, API keys) | Encrypted in Cockpit's vault, separately for each person. Secrets you paste are never shown again. The Connectors page shows only metadata: who the connection is, when it was last used, when it was last tested, the scopes granted. |
| Chats and what they quote | Your chats and their messages are stored so you can come back to them. If the Copilot quotes a record or a log line from one of your systems, that text is stored with the chat. |
| Approvals | Each card, your decision, who decided and when, and the fingerprint of the input. |
| An audit trail | Tool calls, approval decisions, mode changes, and requests that a mode held back. The Modes page shows your recent mode changes and how many requests were held back in the last 30 days. |
| Usage | Token counts, shown on the Account page. |
| Access and consent | Your request, your approval, your trial dates, and the date you agreed to the AI provider list. |
- Deleting a chat removes it from your list at once and for good after 30 days.
- Disconnect stops Cockpit using a connection. Its chats are kept, but they cannot read that system again until you reconnect it. What else Disconnect removes depends on the connector, and the confirmation sentence says which: on GitHub and Slack it keeps the app details you saved so you can reconnect in one click; on a MuleSoft connection it removes the saved client id and secret; on Postman it deletes the stored key, and the key still works in Postman until you revoke it there.
- Delete, on a connector card, removes the connection and your saved app key and secret as well.
- Delete account on the Account page removes your account and everything in it straight away: threads, approvals, connections, usage, devices and AI consent. Cockpit asks each connected tool to revoke its access where the tool allows it. MuleSoft and Postman keys cannot be revoked by Cockpit; it deletes its copy, and you revoke them in Anypoint and Postman. Encrypted backups expire on their normal cycle.
Where your data goes: one AI provider
Cockpit uses one AI provider, Anthropic (Claude). To answer you, Cockpit sends your messages, and the results of the tools the Copilot uses for you, to Anthropic. It does that to produce replies. Before your first chat the console asks you to agree to this, and you can withdraw your agreement at any time on the Account page; chat stops until you agree again. The provider list has a version: if it ever changes, you are asked again.
Your connected systems are contacted by Cockpit's servers, using the credentials in the vault, when the Copilot calls a tool. The AI provider does not log in to your systems; it receives only what Cockpit sends it.
TO BE CONFIRMED · Privacy sentences awaiting the owner
Draft sentence 1: "Anthropic does not use content sent through its API to train its models." Draft sentence 2: "Chat history is kept for 30 days." Neither is confirmed yet. They must be checked against the Anthropic agreement, and it must be decided whether the 30 days describes the AI provider's retention or Cockpit's. Until the owner removes this label, do not rely on either sentence or quote them to your security team.
The privacy policy, in its current published form, is at cockpitai.io/privacy. Where this manual and the policy differ, the policy governs.
CAUTION
Anything you type or paste in a chat goes to the AI provider. Keep real customer data and credentials out of test-drive chats.