Sandboxing

Every shell and build call runs inside a sandbox by default — not as an opt-in, not as an afterthought. An approved bash call still can't read your SSH keys.

How it works

  • Linux: commands run inside bwrap (Bubblewrap).
  • macOS: commands run inside sandbox-exec.
  • Windows: runs unsandboxed — no first-class equivalent yet.

What's reachable

Inside the sandbox:

  • Read-write: the workspace directory.
  • Read-only: system libraries (so builds work).
  • Reachable: the network.
  • Read-only / blocked: ~/.ssh, /etc, and other projects.

TipThe practical upshot: even if you approve a shell command in the autonomous Write profile, it can't cat ~/.ssh/id_rsa or tamper with other projects on the machine.

Concrete example

An approved build command sees the workspace and system libs, but secrets stay out of reach:

# inside the sandbox
$ cmake --build build -j     # works — workspace + system libs reachable
$ cat ~/.ssh/id_rsa          # blocked — home dir not mounted writable/readable

WarningSandboxing reduces blast radius; it is not a substitute for review. Treat network access inside the sandbox as real — a command can still exfiltrate workspace contents if you approve it.