Enterprise mode.

One file on each machine makes OpenChamber send conversation content only to the model providers your company approved. It ships in every OpenChamber build, so there's no separate version to fork and keep up to date.

One file turns it on

Put policy.json in a folder only an administrator can write to, and roll it out with Jamf, Intune or any device manager. The desktop app, the web server, the CLI and the VS Code extension all read the same file.

macOS /Library/Application Support/OpenChamber/policy.json
Windows C:\ProgramData\OpenChamber\policy.json
Linux /etc/openchamber/policy.json
{
  "enterpriseMode": true,
  "organization": "Acme"
}

Only enterpriseMode is required. The organization name shows in Settings, so people know who made the call.

What stays inside

With the mode on, OpenChamber sends conversation content only to the providers in your OpenCode config. Everything else that could carry it out is off or goes through your own servers.

Model providers Only the ones in your OpenCode config. Adding a key or signing in to a provider from the app is off.
Tunnels Cloudflare, ngrok and Tailscale are off.
Private Relay Works only through a relay you host.
Network access OpenChamber listens only on the machine it runs on, unless the policy allows more.
Jev Off, or pinned to your own endpoint.
Extensions Ones that can send data out install only from repositories you list.
Push notifications A generic title, with no message text or session name.
Cloud services in the app Read-aloud through OpenAI, the diagrams.net editor, the integrations catalog and fonts from a public CDN are off.
Update checks Security fixes still arrive, and the checks never report usage.
Full list and policy options in the docs

Lock providers in OpenCode

Which providers may be used at all is up to OpenCode. Deny every provider in its policies, then allow the ones you approved. A denied provider disappears even if someone adds a key for it.

{
  "experimental": {
    "policies": [
      { "action": "provider.use", "resource": "*", "effect": "deny" },
      { "action": "provider.use", "resource": "anthropic", "effect": "allow" }
    ]
  }
}
OpenCode policies

Questions security teams ask

No. Nothing in Settings or the environment lifts what the policy file turns on. If the file is broken or can't be read, the mode stays on and Settings says the policy couldn't be read.
A notice at the top of the provider settings names your organization, so people know who made the call.
No. OpenChamber picks up a changed policy file while it runs.
Yes. Put its path in opencodeBinary in the policy file. OpenChamber then starts OpenCode only from that path and never updates it, so updates come with your rollout.
Set OPENCHAMBER_ENTERPRISE_MODE=1 in the container environment, or mount the policy file at /etc/openchamber/policy.json. On laptops use the file, since people can edit their own shell profile.

Rolling it out?

If your security team asks for something the mode doesn't cover yet, write to us and we'll look at what we can add.