Platform
Developers
Build on boxkite three ways: the boxkiteCLI + a hosted control-plane's REST API, the Python or JavaScript SDK, or an MCP server for any MCP-compatible agent client. Or skip the control-plane entirely and embed SandboxManageras a Python library directly against your own Kubernetes cluster — see the README's quickstart on the landing page for that path. This section is a small, hand-written set of guides on top of the real code in this repo — not a separate docs platform.
Router source
The actual FastAPI route definitions — request/response shapes, auth, rate limits.
SECURITY.md
What's in/out of scope for reports, and every known, not-yet-fixed risk, disclosed.
Quickstart
pip install boxkite-sandbox # ships the `boxkite` CLI
# Signs up, mints an API key, and saves both -- one command
boxkite signup --url https://your-control-plane.example.com
# Create a sandbox session and run something in it
boxkite session create --label demo
# -> Created session 3f9a.. (status=active)
boxkite exec "python3 -c 'print(1 + 1)'" # auto-detects the one active session
boxkite session rm 3f9a...Full walkthrough, including running the whole stack locally with no hosted control-plane at all: Quickstart guide.
Capabilities
Sandboxes
Create, look up, list, and destroy sandboxes -- sizing, storage, lifetime, and batch count.
File system
Create, view, edit, and search files in a running sandbox.
Process & exec
Run shell commands in a sandbox and read back stdout/stderr/exit code.
Command allowlist
An opt-in, persisted per-account guardrail on exec -- not a sandbox-escape boundary.
Custom sandbox images
The opt-in declarative builder -- pin exact package versions on a pre-approved base, get an image_id.
Independent storage volumes
Opt-in PVC-backed block storage with its own lifecycle -- create once, mount into any sandbox afterward.
Audit log & takeover
What the exec/file-op audit trail captures today, and the current, partial state of live watch and human takeover.
Session handoff
Move an in-progress local Claude Code/Codex CLI/opencode session into a fresh sandbox, full conversation history included.
Secrets management
Securely store write-only credentials, map them to sandbox sessions, and proxy external API requests with server-side secret substitution.
Webhooks
Receive push notifications when sandboxes are created or destroyed, complete with signature verification and retry backoff.
Network ingress & previews
Expose background process ports securely and generate authenticated public preview URLs for dev servers, REPLs, and databases.
Integrations
Hosted API & CLI
Sign up, mint an API key, and drive every capability above from the boxkite CLI or raw REST.
Python SDK
boxkite-client: sync and async clients, a context-manager sandbox, LangChain tools.
JavaScript SDK
boxkite-client for Node and the browser -- and why an API key must never ship client-side.
Go SDK
boxkite-client for Go: (result, err) returns, context.Context on every call, WithSandbox for automatic cleanup.
Rust SDK
boxkite-client for Rust: async-first (tokio), builder-pattern options, mirrors the same /v1/* REST API.
MCP server
Attach a real sandboxed code-execution backend to Claude Code, Claude Desktop, Codex, or Cursor.
Operations
Kubernetes deployment
RBAC, NetworkPolicy, and the admission-policy backstop for a real, production cluster.
Rate limits & quotas
Per-account token-bucket limits, and the free-tier monthly sandbox-hours cap.
Security & isolation model
What actually isolates a sandbox pod, and the honestly-disclosed limits of that isolation.
Examples
Need a different language than Python/JS? Every deployed control-plane serves a standard FastAPI-generated OpenAPI spec at /openapi.json — feed it to @openapitools/openapi-generator-cli or any OpenAPI-based generator for the other 50+ targets it supports.