← Reports
Executive Slide Deck
Read Full Report
01/00·Title
AI Coding Safety

Your AI agent just wiped the database.

Give it full access without full risk by running it inside a boundary that you can rewind in seconds.

The point is not to make AI coding agents timid. The point is to give them a safe place to work, where mistakes are contained before they reach home directories, production systems, credentials, or unrelated repositories.

Read Full Report
WIPEContain the mistake before it becomes the incident
Core Decision

Do not debate power first.
Place it inside a boundary.

The report’s operating pattern is Full Access inside Docker, a VM, a dedicated operating system, or a coding-only cloud workstation. The agent receives room to work. Everything outside that boundary remains unreachable.

Give the agent

Local freedom

Build, test, inspect, and refactor within the isolated development boundary.

Keep outside

Personal and canonical state

Home directories, unrelated repos, password stores, cloud profiles, and Docker daemon control stay out.

Never hand over

Production authority

No destructive production database, cloud, deployment, or storage credentials inside the agent environment.

Risk Shift

Full Access changes the failure mode from inconvenience to incident.

With sandboxing removed and approvals disabled, a syntactically valid command can still be catastrophically wrong. The high-risk pattern is broad machine reach plus ambiguous cleanup, deletion, migration, or environment repair language.

High-risk workstation mode
approval_policy = "never"
sandbox_mode = "danger-full-access"
Path error

Wrong target

A cleanup command can select a real home directory instead of a temporary folder.

Credential error

Wrong authority

A local agent with production credentials can reach real databases, storage, and cloud resources.

Root error

Wrong workspace

Opening the whole home directory turns unrelated files into neighboring project state.

Defense Model

Instructions help. Boundaries decide what damage is possible.

The report treats instructions, sandbox settings, containers, Git, backups, and production identity controls as complementary layers. Each layer solves a different failure mode.

LayerPurposeLimitBoard-level test
Global instructionsClarify destructive-action behavior.Guidance is not an operating-system boundary.Can the agent still reach the wrong target?
Sandbox and approvalsRestrict routine host access and pause boundary crossings.Full Access removes much of this protection.What command runs without a pause?
Docker or VMReduce reachable files, processes, and identity scope.Mounted files and credentials remain reachable.What is mounted, injected, or routed?
Git and backupsRecover tracked and untracked work.Untracked state needs separate protection.What survives a full workspace deletion?
Production controlsBlock destructive production authority from local tools.Admin credentials defeat the layer.Can the agent run DROP, TRUNCATE, or delete cloud resources?
Container Boundary

Docker works when the host is not quietly handed back.

The container is the outer boundary only if host home directories, SSH keys, cloud profiles, unrelated repositories, privileged mode, and Docker daemon control are not mounted into it.

Repository clone or volumeOne project per trust boundary.
Allowed
Development credentialsNarrow test identity, limited to required services.
Constrain
Host home or SSH directoryPersonal files and credentials become reachable from the container.
Exclude
Docker socket or privileged modeContainer control can become broader host control.
Exclude
Daily Workflow

The VS Code pattern is familiar. The storage choice is the control point.

Dev Containers let terminals, extensions, builds, language servers, and the agent run inside the container. The difference between a host bind mount and a container volume clone is the difference between host exposure and a smaller development blast radius.

1Clone in volumeUse Dev Containers: Clone Repository in Container Volume.
2Install agent insideUse a container-specific Codex configuration and identity.
3Run Full Access insideBroad permissions apply to the container workspace.
4Commit and pushRegular remote checkpoints protect tracked work.
5Discard when neededRebuild the environment after questionable state or destructive behavior.
Host bind mount

Convenient but exposed

The mounted repository can be changed or deleted from the container.

Container volume clone

Better daily default

The canonical host home and unrelated repositories remain outside the boundary.

Disposable clone

Smallest scope

More synchronization work, but a smaller blast radius for long autonomous runs.

Recovery Model

A named volume is persistence.
It is not backup.

The durable source of truth is a remote Git repository plus independent backups. Docker volumes can preserve a workspace, but they do not replace source control, branch protection, or backups outside the agent’s writable reach.

Tracked work

Commit and push

Remote branches protect code history and reduce one-machine dependence.

Untracked work

Export or snapshot

Protect generated files and prototypes that are not ready for Git.

Default branch

Protect merges

Branch protection blocks accidental force pushes and direct deletion.

Backups

Keep one outside reach

At least one backup destination stays unavailable to the agent session.

Production Access

Docker protects local files.
It does not neutralize credentials.

If a container can authenticate to production and run destructive commands, the production boundary is incomplete. Production changes move through CI/CD, reviewed code, explicit approval gates, and logged release identities.

Database role

No destructive authority

No local development identity with DROP, TRUNCATE, privilege changes, backup deletion, or unrestricted migrations.

Diagnostic access

Read-only when rare

Rare production diagnostics use a separate read-only identity and a narrow workflow.

Release path

CI/CD owns change

Reviewed code, approval gates, audit trails, deletion protection, and independent recovery protect production.

The simplest production test:

If the agent can authenticate to production and run a destructive command, production has already been placed inside the agent’s blast radius.

Boundary Selection

Choose the boundary by native tooling needs and remaining exposure.

Docker is the fast default for web, backend, data, CLI, and cross-platform repositories. Native platform work may need a VM, dedicated operating system, cloud workstation, or separate physical computer.

BoundaryBest fitMain benefitRemaining exposure
Docker containerWeb, backend, data, CLI, cross-platform work.Fast rebuilds and small filesystem scope.Mounted files, credentials, and reachable networks.
Local virtual machineWindows or Linux native tooling.Independent OS, filesystem, users, and snapshots.Shared folders, clipboard, host credentials, network routes.
Dedicated boot diskNative macOS, Windows, or Linux hardware work.Complete native toolchain away from personal disks.Any disk, identity, or service unlocked inside the dev OS.
Coding-only cloud machineRemote development and team-standard workstations.No direct access to local personal disks.Cloud identity, network connectivity, assigned secrets.
Separate computerNative development with maximum practical separation.Independent hardware, storage, accounts, and OS.Shared cloud accounts, removable media, production credentials.
Launch Checklist

Before a long autonomous run, verify the boundary.

The launch check is operational, not theoretical. It confirms where the agent can write, what identity it holds, what networks it can reach, and what survives a bad command.

Workspace

Container or VM only

Full Access stays inside a recoverable development boundary.

Host

No home root

The project root is not the full home directory or a broad personal folder.

Secrets

No production authority

Cloud profiles, database admin roles, and production SSH keys are absent.

Recovery

Push first

Important work is committed, pushed, and backed up outside the agent session.

  1. OpenAI documentation: Codex sandboxing, auto-review behavior, and AGENTS.md guidance.
  2. Developer platform documentation: VS Code Dev Containers, Docker bind mounts, Docker volumes, and Docker daemon protection.
  3. Operating-system and cloud references: FileVault, Hyper-V, Windows account controls, Azure Dev Box, Azure VM access controls, Ubuntu LUKS and AppArmor, EC2 Mac, and Google Compute Engine.
The Operating Question

Can the agent damage anything outside the recoverable boundary?

If the answer is yes, the boundary is not ready. Full Access is a productivity tool only after the reachable filesystem, credentials, network routes, and production authorities are deliberately constrained.

Read Full Report →