Skip to content
Spinbox is experimental: APIs change and data may be lost. Status lists what is built and what proves it.

spin-stack · self-hosted sandboxes

A virtual machine per workspace. A snapshot before, a diff after.

Sandboxes for people and agents that run in your own AWS account. Take a snapshot with the memory of the running processes, see exactly which files changed, and roll back. A workspace's network stays closed until you open it.

A workspace's disk, as layersFour layers stacked: the image at the bottom, a snapshot called clean, a snapshot called after, and on top the layer the running workspace writes. A bracket marks a diff between clean and after; an arrow marks a restore from the top back to clean.image · ubuntusnapshot · cleansnapshot · afterrunning · writes herediffrestore
  1. How we know →
  2. How we know →
  3. How we know →
  4. How we know →
demo — spin
$ spin workspace create --name demo --wait
$ spin snapshot create demo --description clean --with-memory --wait
$ spin exec demo -- sh -c 'echo hello > /etc/greeting; rm /etc/issue'
$ spin snapshot create demo --description after --wait
$ spin snapshot diff demo <after-id> --from <clean-id> --under /etc
A  /etc/greeting
M  /etc/hosts
D  /etc/issue
$ spin workspace restore demo <clean-id> --with-memory
$ spin workspace delete demo
$ spin workspace create --name demo --wait
$ spin snapshot create demo --description clean --with-memory --wait

$ spin exec demo -- sh -c 'echo hello > /etc/greeting; rm /etc/issue'
$ spin snapshot create demo --description after --wait

$ spin snapshot diff demo <after-id> --from <clean-id> --under /etc
A  /etc/greeting
M  /etc/hosts
D  /etc/issue

$ spin workspace restore demo <clean-id> --with-memory
$ spin workspace delete demo
A whole machine, not a container

Every workspace is a KVM virtual machine with its own kernel, root and a persistent disk. Install anything, break anything: nothing reaches the workspace next door.

e2e · TestAWorkspaceBootsARealGuest
Snapshots with memory

Restore and the processes are running where they were.

e2e · TestARunningWorkspaceResumesFromASnapshotsMemory
A diff of everything

Every file added, modified or removed between two snapshots.

e2e · TestADiffOfTwoSnapshotsIsWhatChangedBetweenThem
Closed until you open it

Egress is closed by default. Policies name what a workspace may reach, and you can watch what it reached, looked up and was refused.

e2e · TestAnOwnerMayOnlyChooseAPolicyTheInstallationDeclares
Secrets the workspace never holds

The host’s proxy stands in for a brokered name and adds the token, the forge credential or the cloud role on the way out.

spin team secret set
Built for agents

Claude Code and Codex on the PATH, API keys, JSON output, and a machine an agent can break and you can undo.

e2e · TestTheAgentCLIsAreOnPathWithThePinnedVersions
Moves while it runs

A running workspace goes to another host with its processes as they are.

e2e · TestHostsAMoveTakesARunningWorkspaceToAnotherHost
In your AWS account

One OpenTofu module installs it in your account. There is no hosted version, so your code and your data stay in your account.

Asleep when idle, awake as it was

A workspace nobody uses is suspended with its processes where they are, after asking first, and a start resumes them.

e2e · TestAWorkspaceNobodyUsesIsSuspendedAndAStartResumesIt
75features builteach with a test or a command that proves it
39proved end to endby tests against a real runner
17limits written downwhat it does not do, held to the code
5not built yetsaid, not hidden

75 features built, each with a test or a command that proves it, 5 not built yet and 17 limits, on the status page. An installation runs release v20261019.02; the reference is generated from spin 8eee32b9d.

  • AWS only. One OpenTofu module installs Spinbox in your account. There is no hosted version.
  • x86-64 only. Runners are x86-64 machines with nested virtualization.
  • Linux guests only. A workspace boots the kernel Spinbox provides.
  • No GPUs. There is no way to ask for a runner of a particular kind.
  • One region, one control plane. An installation lives in one AWS region.

Each answer is a limit row of the status page, held to the code by a test. The rest are on Limitations.

Sandboxes you own, from the first snapshot.

Read what it is for, what it costs to run, and how to install it.

Documents Spinbox v20261019.02. This page as Markdown, for a model or a terminal.