Jeder Agent erhält seine eigene Linux-VM.
AI-Agenten auf dem eigenen Laptop laufen zu lassen ist ein Datenleck mit Anlauf. Sandboxes sind isolierte Cloud-VMs, die in unter einer Sekunde booten, am Platz Snapshots ziehen und nach dem Job wieder verschwinden - dasselbe reproduzierbare Linux, bei jedem Lauf.
- src/
- Button.tsx
- package.json
- .codecourier/
- persona.json
Lokale AI-Agenten lecken. Massiv.
Workstation-Drift
Node, Python, Docker, OS-Patches - jede Entwicklermaschine ist ein Einzelstück. Agenten erben dieses Chaos, und Ihre Reproduktionen reproduzieren nicht mehr.
Secrets verlassen das Haus
Agenten, die Ihre Shell lesen, lesen Ihre Tokens, Ihre Kube-Config, Ihre SSH-Keys. Ein falsch gesetztes Anführungszeichen genügt - und sie sind weg.
Workstations blockiert
Lange Migrationen, vollständige Test-Suites, parallele Refactors - alles geparkt auf dem Laptop, auf dem Ihre Entwicklerin eigentlich programmieren sollte.
Was eine Sandbox enthält.
Jede Sandbox ist eine echte Linux-VM - kein Container in einem geteilten Kernel. Sechs konkrete Komponenten, jede einzelne pro Template austauschbar.
Starten Sie aus einem bekannten Zustand.
Templates sind versionierte Base-Images. Pinnen Sie eine Runtime, fixieren Sie die Toolchain, liefern Sie jedem Agenten und jedem Lauf dieselbe VM - oder bauen Sie aus einem Dockerfile Ihr eigenes.
Node 22 · TypeScript
Node 22, pnpm, Bun-kompatibler Registry-Mirror. tsc und vitest sind vorgewärmt.
Anpassen →Python 3.12 · Poetry
CPython 3.12, Poetry, uv, ruff und mypy. Gepinnte Wheels werden beim Boot gecached.
Anpassen →Rust 1.80
Stable Rust, cargo, clippy, rust-analyzer. sccache ist standardmässig verdrahtet.
Anpassen →Bun · TS
Bun-Runtime mit der vollen TypeScript-Toolchain. Snapshot-Resume in unter 300ms.
Anpassen →Custom
Bringen Sie ein Dockerfile mit oder erweitern Sie eine Base. Einmal bauen, einmal snapshotten, im Team teilen.
Anpassen →Schnell genug, um sich lokal anzufühlen.
Cold-Boots in den EU- und US-Flotten gemessen - Produktions-p95, nicht der Marketing-Durchschnitt.
Dateien verhalten sich wie eine echte Platte.
Lesen, schreiben, beobachten und syncen - jede Operation läuft typsicher und idempotent durch dasselbe SDK.
Lesen und schreiben wie auf echter Platte.
Bytes rein, Bytes raus. Atomare Schreibvorgänge, mtime bleibt erhalten, grosse Dateien werden transparent gechunkt - keine Spezial-API für grosse Payloads.
- ▸src/
- ·Button.tsxM
- ·Card.tsx
- ·package.json
await sandbox.files.write( "src/Button.tsx", source,); const out = await sandbox.files.read( "src/Button.tsx");Pausieren, snapshotten, fortsetzen - dieselbe VM.
Jede Sandbox hat einen deterministischen Lifecycle. Einmal booten, den warmen Zustand snapshotten, dann beim nächsten Lauf aus diesem Snapshot fortsetzen - in einem Bruchteil der Cold-Boot-Zeit.
Snapshots enthalten die Platte und den kernelseitigen Zustand, sodass eine 30-Sekunden-Toolchain-Installation zu einem 300ms-Restore wird. Pausieren Sie, während der Agent auf einen Menschen wartet; setzen Sie in dem Moment fort, in dem die Antwort eintrifft.
Gebaut für den Security-Review.
Isolation ist Standard, kein Checkbox-Feature. Jede Sandbox ist eine separate VM mit eigenem Kernel, eigener Platte und eigener Egress-Policy.
VM pro Agent
Keine geteilten Kernel, keine Sibling-Tenants. Jeder Agentenlauf erhält eine frische Linux-VM und gibt sie beim Teardown wieder ab.
Netzwerk-Egress-Kontrollen
Default-Deny ausgehend. Allow-List für Domains pro Template - oder ein schmaler Tunnel zu Ihren privaten Diensten und sonst nichts.
Verschlüsselte Volumes
Platten sind ruhend mit mandantenspezifischen Schlüsseln verschlüsselt. Snapshots erben den Verschlüsselungsumschlag und verlassen Ihre Region nie.
Zeitlich begrenzte Tokens
Secrets werden als kurzlebige Tokens injiziert, auf den Lauf gescoped. Sie laufen in dem Moment ab, in dem die Sandbox endet - keine übrig gebliebenen Credentials.
Audit-Log
Jeder Befehl, jeder Datei-Write und jeder Netzwerk-Call wird signiert und in ein unveränderliches Log geschickt. Lauf wiederholbar, forensisch verwertbar.
SOC 2 Type II
Jährliche SOC 2 Type II Reports, GDPR DPA hinterlegt, EU-Datenresidenz standardmässig. Beschaffung geht schneller durch.
Ein Aufruf, eine VM.
Sandbox starten, Befehl ausführen, Zustand snapshotten - alles aus typsicherem TypeScript. Kein YAML, kein separater Scheduler, keine undichte Abstraktion.
// Boot a sandbox, run a migration, stream the result
import { createSandbox } from "@codecourier/sdk";
const sandbox = await createSandbox({
template: "node-22-ts",
region: "eu-west-1",
cpu: 4,
memoryMB: 8192,
env: { DATABASE_URL: secret("db-prod") },
});
const result = await sandbox.runCommand("pnpm db:migrate");
const snap = await sandbox.snapshot(); // → snap_8f3a
await sandbox.pause();
createSandbox liefert ein typsicheres Handle mit files, git, network und Lifecycle. Dieselbe Form aus Node, Bun und Deno.
Wo Sandboxes ihren Wert beweisen.
Parallele Migrationen über Repos
Ein Upgrade über vierzig Services ausfächern. Jeder Agent erhält seine eigene VM, snapshottet seine Arbeit, öffnet seinen eigenen PR.
Playbook lesen →Lange Test-Suites
Zweistündige Integrationsläufe, die nie ein Entwicklerlaptop berühren. Booten, mitten im Lauf snapshotten, nach dem Mittagessen fortsetzen.
Playbook lesen →Untrusted-Code ausführen
Code ausführen, den Sie nicht geschrieben haben - generiert, gescraped, beigesteuert - ohne ihm Ihre Workstation oder Ihr Netzwerk zu geben.
Sprechen Sie mit uns →Sandboxes haben die gesamte Risikofläche unserer Agenten von Entwicklerlaptops in eine Umgebung verschoben, die wir tatsächlich auditieren können. Die Cold-Boot-Geschwindigkeit lässt sie nie remote wirken - und allein die Snapshot-Story hat die Migration bezahlt.
Was Platform-Leads fragen.
Wo laufen Sandboxes physisch?
Kann ich ein eigenes Docker-Image mitbringen?
Wie lange leben Sandboxes?
Was passiert zwischen Läufen mit der Platte?
Können Sandboxes unsere internen Dienste erreichen?
Booten Sie Ihre erste Sandbox in Sekunden.
Stellen Sie Ihren ersten KI-Ingenieur ein.
Bis zum Mittag live.
5 Minuten Onboarding. Erster PR innerhalb einer Stunde. Jederzeit kündbar.