PAGES
← all tools
◆ Runtime Security

OpenSandbox

release-1.2.0 open-source

OpenSandbox gives AI applications isolated environments to execute code, run commands, manage files, and operate browsers or desktops.

Summary

OpenSandbox is an open-source sandbox platform that gives AI applications an isolated runtime to execute code, run coding and GUIGUIA graphical user interface, controls such as windows, buttons and menus. It lets people use software visually rather than entering commands. agents, and support RL training and agent evaluation. It runs as a self-hosted system via Docker or Kubernetes, with SDKs in Python, Go, JS, Kotlin, and Java, and sits in the CNCF landscape under orchestration and scheduling. It is aimed at engineers building or operating AI agent infrastructure rather than at end users. Its design leans on runtime-security mechanics more than developer convenience: a supervisor process manages egress and crashloop recovery, a credential vault injects secrets into sandboxes without exposing raw values, and signed images and seccomp fallbacks harden the execution path. First committed in 2025, it already has 165 contributors and a release twelve days ago, a fast-moving, actively maintained project.

OpenSandbox gives AI applications isolated environments to execute code, run commands, manage files, and operate browsers or desktops.

How OpenSandbox helps

What happens to a long-running agent job if I can't hold the connection open until it finishes?

submitting it in the background returns a run handle immediately, and status and logs are retrieved later by polling that handle rather than blocking the caller

Can I get back into a session after the worker process behind it restarts?

rebuilding a session handle from just the session ID reconstructs a fully functional handle, with the session's original creation parameters echoed back for confirmation

If network isolation can't actually be set up for a session, will it silently run unprotected instead?

a private-network session that cannot bind-pin its network and user namespace at startup fails closed with a retryable error rather than allowing the sandbox to start without isolation

What isolation is actually available on this host before I request it?

the sandbox daemon probes namespace and privilege-dropping support directly and reports unsupported modes as a distinct unavailable status instead of failing every isolation request the same way

Will my own team or CI ever land in a sandbox pool that's already exhausted?

exhausted pool capacity surfaces as a distinct, machine-identifiable condition with a retry-after hint rather than a generic timeout, so callers can tell exhaustion apart from other failures

Can I keep OTLP metrics flowing out of a sandbox whose network policy defaults to deny-all?

the egress sidecar auto-detects its own metrics endpoint at startup and injects that destination into the allow list, so telemetry export survives policy updates without a manually written rule

all 70 features, with the evidence for each →

Languages

Chinese (Simplified) Documentation: Chinese (Simplified)

Features

70 capabilities across 4 capability groups

Built from OpenSandbox's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

  • OpenSandbox covers 3 of the 11 endpoint investigation and controls capabilities we track.
  • OpenSandbox covers 1 of the 2 secrets and credential hygiene capabilities we track.

What OpenSandbox offers you

  • REST API9
  • Client SDKs6
  • Python scripting support3
  • Scripting language support3
  • Command-line interface2
  • Administrative audit log1
  • JavaScript scripting support1
  • JSON data export1
  • Kubernetes-native deployment1
  • Multi-tenant management1
  • Plugin system1
Security baseline enforcement 2 features Endpoint investigation and controls since 2026
Sandbox Launch Hardening shipped Enforces strict security constraints during sandbox launch, including environment stripping, capability bounding set trimming, privilege dropping, and seccomp application via a native launcher helper. 3 releases · 2 other sources · first seen Aug 2026

Shared capability: Security baseline enforcement

release

  • Adds [docker] publish_host config key to bind bridge-mode sandbox ports to a specific host address (default 0.0.0.0), preventing the tokenless execd port from appearing on public interfaces when set to 127.0.0.1 or the Docker bridge gateway. release-1.1.1 · Oct 2026 · source · release history
  • Native opensandbox-launcher helper enforces env strip, KEEPCAPS, bounding-set trim, no_new_privs, identity drop, seccomp, and execve. docker/execd/1.1.0 · Aug 2026 · source · release history
  • Adds [landlock] filesystem allowlist support in the hardening floor (requires kernel ≥5.13). docker/execd/1.1.0 · Aug 2026 · source · release history

example

  • Lock sandbox port exposure to localhost so the tokenless execd port never reaches public interfaces on a Docker host. [docker] publish_host = "127.0.0.1" release-1.1.1 · Oct 2026 · source
  • Lock down the tokenless execd port so it is never reachable on public interfaces in a Docker deployment. [docker] publish_host = "127.0.0.1" release-1.1.1-rc.1 · Sep 2026 · source
Server-Side Sandbox ID Injection shipped Injects a server-controlled sandbox identifier into the environment and blocks user-provided values for this variable to prevent egress sidecar telemetry spoofing. 1 release · first seen Aug 2026

Shared capability: Security baseline enforcement

release

  • The OPENSANDBOX_EGRESS_SANDBOX_ID variable is now server-injected and removed from the env allowlist; passing it in request env returns HTTP 400. server/v0.2.3 · Aug 2026 · source · release history
Secrets management 2 features Secrets and credential hygiene since 2026
Credential Vault Injection shipped Allows sandboxes to consume secrets (API keys, OAuth tokens, HTTP headers) without exposing raw values to user code. 9 releases · first seen Jun 2026

Shared capability: Secrets management

release 9 total

  • Adds POST|GET|PATCH|DELETE /v1/sandboxes/{id}/credential-vault API for the Credential Vault (OSEP-0022) — credential values never appear on public reads, PATCH uses expectedRevision as the cross-replica backstop, and non-fsb backends proxy the sidecar's /credential-vault surface — along with a Credential Vault… release-1.2.0 · Oct 2026 · source · release history
  • Adds Credential Vault support for fast sandboxes: a POST|GET|PATCH|DELETE /v1/sandboxes/{id}/credential-vault API with credential values sanitized on every public read and expectedRevision as the cross-replica PATCH backstop, plus a Credential Vault client contract added to all five SDKs that routes vault calls… release-1.2.0 · Oct 2026 · source · release history
  • Adds an experimental opt-in egress sidecar with live credential-bound Vault admission, HTTP/2 support with bounded drain, atomic policy-file persistence, and runtime fault containment (OSEP-0023). release-1.2.0-rc.1 · Oct 2026 · source · release history
  • Credential vault request matching now supports opt-in placeholders for path, query, header, and body surfaces including passthrough auth bindings. js/sandbox/v0.1.11 · Jul 2026 · source · release history
  • Credential Vault placeholder substitutions for path, query, header, and body request surfaces python/sandbox/v0.1.14 · Jul 2026 · source · release history
  • Opt-in credential vault placeholder substitutions for path, query, header, and body (including passthrough bindings) java/sandbox/v1.0.16 · Jul 2026 · source · release history
Credential Vault Placeholder Substitution shipped Allows the use of placeholder variables within credential vault configurations, enabling dynamic matching and substitution across request paths, query parameters, headers, and bodies. 3 releases · 1 other source · first seen Jul 2026

Shared capability: Secrets management

release

  • Adds POST|GET|PATCH|DELETE /v1/sandboxes/{id}/credential-vault API for the Credential Vault (OSEP-0022) — credential values never appear on public reads, PATCH uses expectedRevision as the cross-replica backstop, and non-fsb backends proxy the sidecar's /credential-vault surface — along with a Credential Vault… release-1.2.0 · Oct 2026 · source · release history
  • Adds credential vault placeholder substitutions for path, query, header, and body surfaces csharp/sandbox/v0.1.5 · Jul 2026 · source · release history
  • Placeholder substitution opt-in for request matching across path, query, header, and body surfaces in credential vault config sdks/sandbox/go/v1.0.5 · Jul 2026 · source · release history

example

  • Use credential vault placeholders in request matching to substitute dynamic auth data. // Request matching with placeholders const match = await vault.match({ body: '{"token": "{{VAULT_AUTH_TOKEN}}"}' }); js/sandbox/v0.1.11 · Jul 2026 · source
Process telemetry 1 feature Endpoint investigation and controls since 2026
Sandbox Audit Logging shipped Emits rotating JSONL audit logs for exec, connect, and privilege events by hooking into the execution lifecycle using eBPF on supported kernels. 1 release · first seen Aug 2026

Shared capability: Process telemetry

Also counts toward: Administrative audit log, JSON data export

release

  • execd-ebpf variant hooks exec/connect/privilege with CO-RE and emits rotating JSONL audit (requires kernel ≥5.10 with BTF). docker/execd/1.1.0 · Aug 2026 · source · release history
Host network isolation 1 feature Endpoint investigation and controls since 2026
Session Isolation Capability Inspection shipped Reports the availability and readiness of specific isolation modes (such as setpriv or user namespaces) during isolated session creation, failing with an error if the underlying host does not support the requested mode. 2 releases · first seen Aug 2026

Shared capability: Host network isolation

release

  • execd probes setpriv/userns availability independently and returns 503 NOT_SUPPORTED for unavailable modes instead of failing all isolation docker/execd/v1.0.22 · Aug 2026 · source · release history
  • Explicit share_net: false sessions now require execd to bind-pin the workload NetNS/UserNS; failure returns a retryable 503 error docker/execd/v1.0.22 · Aug 2026 · source · release history
Other / not yet classified 64 features Features we have not matched to a capability yet. A suggested match is marked.
Isolated Session Management shipped Supports ephemeral, auto-cleanup isolated execution sessions for single or multiple runs within a secure context. 28 releases · 9 other sources · first seen Jul 2026

release 28 total

  • Retains a BatchSandbox in the lifecycle API (reporting Stopping) until foreground cascading deletion and cleanup finalizers complete, preventing a replacement sandbox from writing the same persistent directory before the old writer exits. release-1.2.0-rc.1 · Oct 2026 · source · release history
  • Exposes CreateIsolatedSessionRequest.overlays ({path, mode, persist}) across the API and all five SDKs, enabling multiple independent overlay mounts per isolated session with separate host-tracked or ephemeral tmpfs uppers; workspace is retained as sugar and SessionState echoes the canonical list. release-1.1.1 · Oct 2026 · source · release history
  • Adds detached runs in isolated sessions for background work, accessible via Kotlin SDK polling and incremental log reads. java/sandbox/v1.0.19 · Aug 2026 · source · release history
  • Exposes per-mode setpriv / userns availability in isolated session responses with 503 error for unavailable modes csharp/sandbox/v0.1.5 · Jul 2026 · source · release history
  • Isolated session responses now expose per-mode setpriv / userns availability; unavailable modes fail with 503 NOT_SUPPORTED. js/sandbox/v0.1.11 · Jul 2026 · source · release history
  • Isolated sessions accept explicit bind mounts and the SDK exposes a new session listing capability for active sessions. js/sandbox/v0.1.11 · Jul 2026 · source · release history

example 9 total

  • Enable the server-side idle sweeper so paused fast sandboxes are reclaimed automatically, with Redis tracking activity. [automation.idle_pause] enabled = true [redis] dsn = "redis://localhost:6379/0" [kubernetes] template_mitm_ca_secret = "pool-mitm-ca" release-1.2.0 · Oct 2026 · source
  • Reattach to a running isolated session using its ID for stateless worker resilience var handle = await client.AttachAsync(existingSessionId); csharp/sandbox/v0.1.5 · Jul 2026 · source
  • Attach to an existing isolated session using its session ID. sandbox.isolation.attach('existing-session-id') js/sandbox/v0.1.11 · Jul 2026 · source
  • Rebuild a handle for an in-memory isolated session from a stateless worker. python -c " import asyncio from sandbox import Sandbox async def main(): session_id = 'sess-abc' handle = await Sandbox.isolation.attach(session_id) print(handle.state) " " python/sandbox/v0.1.15 · Jul 2026 · source
  • List currently active isolated sessions in the sandbox pool. from opensandbox.isolation import list sessions = list() python/sandbox/v0.1.14 · Jul 2026 · source
  • Run code in an isolated sandbox and automatically clean up resources afterward. from opensandbox.isolation import run_once run_once(code="print('hello')", workspace='/tmp/output') python/sandbox/v0.1.14 · Jul 2026 · source
Code Execution Context Management shipped Allows creating, listing, retrieving, and deleting persistent code execution contexts with language-specific defaults. 25 releases · 5 other sources · first seen Jan 2026

Also counts toward: Client SDKs

release 25 total

  • The informer_enabled flag is removed; the informer-backed cache is now the only Kubernetes read path. release-1.1.0 · Sep 2026 · source · release history
  • Makes the informer-backed cache the only Kubernetes read path by removing informer_enabled flag. release-1.1.0 · Sep 2026 · source · release history
  • Adds background: true to the run API, returning a JSON handle; new runs/{runId} and runs/{runId}/logs endpoints enable status polling for long-running sessions without blocking the caller. docker/execd/v1.0.22 · Aug 2026 · source · release history
  • session_id parameter on Attach to recover an existing isolated session handle in stateless workers sdks/sandbox/go/v1.0.5 · Jul 2026 · source · release history
  • CreateSandboxResponse, getSandbox, and listSandboxes now return opensandbox.extensions.* values. server/v0.2.2 · Jul 2026 · source · release history
  • Migrates osb devops logs and osb devops events to deprecated compatibility wrappers while preserving existing --tail, --since, and --limit flag behaviors cli/v0.1.1 · May 2026 · source · release history

example

  • Enable Redis-backed distributed sandbox pools in a Python client by installing the optional dependency. pip install opensandbox[pool-redis] python/sandbox/v0.1.8 · May 2026 · source
  • Create a sandbox using a previously saved snapshot ID instead of booting from scratch. val sandbox = Sandbox.create(client, SnapshotRequest("snapshotId-abc123")) java/sandbox/v1.0.10 · May 2026 · source
  • Pass environment variables when executing a command via the API. curl -X POST https://<host>/api/run \ -H 'Content-Type: application/json' \ -d '{ "cmd": "printenv MY_VAR", "env": { "MY_VAR": "hello" } }' docker/execd/v1.0.7 · Mar 2026 · source
  • Execute a command as a specific non-root user by specifying uid and gid. curl -X POST https://<host>/api/run \ -H 'Content-Type: application/json' \ -d '{ "cmd": "whoami", "uid": 1000, "gid": 1000 }' docker/execd/v1.0.7 · Mar 2026 · source
  • Manage code contexts programmatically via the SDK ctx = interpreter.create_context(language="python") contexts = interpreter.list_contexts() interpreter.delete_contexts(language="java") python/code-interpreter/v0.1.1 · Jan 2026 · source
Egress Filtering and Control shipped Allows configuring network egress modes (DNS, DoT/DoH) and blocking traffic via IP/CIDR rules or hostnames. 18 releases · 3 other sources · first seen Jan 2026

release 18 total

  • Adds port-scoped egress rules end to end in the classic sandbox profile. release-1.2.0 · Oct 2026 · source · release history
  • Treats pasta, slirp4netns, and none as valid container-runtime network modes, passing them through to podman kernel-level networking; rejects networkPolicy for these modes since no bridge is available for the egress sidecar. release-1.2.0-rc.1 · Oct 2026 · source · release history
  • Adds [egress.upstream_proxy] config section (URL + optional authorization) that injects a chained upstream CONNECT proxy for both Docker and Kubernetes backends, with ca_cert_path (Docker) and ca_secret_name (Kubernetes) to trust private-CA https:// proxies without replacing the system trust store. release-1.1.1 · Oct 2026 · source · release history
  • Adds OPENSANDBOX_EGRESS_UPSTREAM_PROXY / _AUTH environment variables to route transparent-proxy egress through an upstream CONNECT proxy with SNI/Host-consistent authority and fail-closed startup validation. release-1.1.1-rc.1 · Sep 2026 · source · release history
  • Egress rules derived from OTLP env vars survive policy updates and reloads, bypassing the default deny-all policy while respecting deny.always precedence docker/egress/v1.1.7 · Aug 2026 · source · release history
  • [egress] mode = "dns+nft" required; DNS-only egress no longer carries credential-bound traffic. server/v0.2.2 · Jul 2026 · source · release history

example

  • Configure the egress sidecar to use DNS-bound credential enforcement instead of direct IP. [egress] mode = "dns+nft" docker/egress/v1.1.4 · Jul 2026 · source
  • Generate a temporary, signed token for internal route access within a sandbox. curl "https://<opensandbox-host>/sandboxes/{sandboxId}/endpoints/{port}?expires=1709251200" server/v0.1.13 · May 2026 · source
  • Request a time-limited route token using the new signed endpoint API. val token = client.getSignedEndpoint(tokenRequest) java/sandbox/v1.0.10 · May 2026 · source
Sandbox Snapshotting shipped Allows capturing and restoring sandbox state via snapshots to create new instances or resume paused ones. 15 releases · 2 other sources · first seen May 2026

Also counts toward: REST API, Client SDKs

release 15 total

  • Adds preflight rejection of gVisor snapshots unless effective args include --overlay2=none, preventing silent write-drop on docker commit under gVisor's default --overlay2=root:self. release-1.2.0 · Oct 2026 · source · release history
  • Supports publishing Fast Sandbox snapshots and template builds to — and booting from — OCI registries via the OverlayBD OCI lifecycle. release-1.2.0 · Oct 2026 · source · release history
  • Supports publishing Fast Sandbox snapshots and template builds to, and booting from, OCI registries via OverlayBD OCI lifecycle. release-1.2.0 · Oct 2026 · source · release history
  • Adds opt-in PostgreSQL snapshot store with migrate-snapshots CLI command. release-1.1.0 · Sep 2026 · source · release history
  • Rejects unsupported gVisor (runsc) snapshots with 409 SNAPSHOT::UNSUPPORTED_RUNTIME. release-1.1.0 · Sep 2026 · source · release history
  • QEMU VMState pause/resume captures guest memory/vCPU/device state via QMP migration for runc-based sandboxes; rootfs and VMState stored as separate OCI images keyed by SHA-256 digests. server/v0.2.3 · Aug 2026 · source · release history

example

  • Filter snapshot listing by a specific name using the new exact filter GET /rest/snapshots?name='<snapshot_name>' java/sandbox/v1.0.17 · Jul 2026 · source
  • Filter snapshots by exact name using the API query parameter. curl 'https://<server>/v1/snapshots?name=my-snapshot-01' server/v0.2.2 · Jul 2026 · source
Egress MITM Proxy Support shipped Enables man-in-the-middle interception of sandbox egress traffic to inspect or modify HTTPS requests. 13 releases · 3 other sources · first seen Apr 2026

release 13 total

  • Adds [kubernetes] template_mitm_ca_secret server config (default off) to bake a pinned MITM CA into server-created SandboxTemplates via spec.egressMitmCertificate, so an egress restart no longer rotates the trust anchor under live sandboxes. release-1.2.0 · Oct 2026 · source · release history
  • Adds [kubernetes] template_mitm_ca_secret server config (default off) that pins the MITM CA per pool by emitting spec.egressMitmCertificate on every SandboxTemplate, so an egress restart no longer rotates the trust anchor under live sandboxes. release-1.2.0 · Oct 2026 · source · release history
  • Adds OPENSANDBOX_EGRESS_MITMPROXY_EXTRA_PORTS env var (comma-separated) to append extra destination ports to the transparent-mitm REDIRECT rule, with fail-closed validation — ports are decrypted and logged, though not yet matched against credential bindings (experimental). docker/egress/v1.1.5 · Jul 2026 · source · release history
  • bootstrap.sh now discovers every JDK and imports the egress MITM CA into each cacerts via keytool. server/v0.2.2 · Jul 2026 · source · release history
  • isolation.runOnce(code, workspace, ...) and isolation.withSession(req) { ... } for one-shot and scoped sessions with guaranteed cleanup java/sandbox/v1.0.16 · Jul 2026 · source · release history
  • bootstrap.sh imports the MITM CA into every JDK's cacerts for non-OS-store environments. docker/execd/v1.0.21 · Jul 2026 · source · release history

example

  • Enable the MITM CA pinning feature so that egress sidecar restarts never rotate the trust anchor under live sandboxes in a Kubernetes deployment. [kubernetes] template_mitm_ca_secret = "mitm-ca-secret" [automation.idle_pause] enabled = true [redis] dsn = "redis://localhost:6379/0" release-1.2.0 · Oct 2026 · source
  • Route all sandbox egress through a corporate CONNECT proxy signed by an internal CA, without replacing the sidecar system trust store. [egress.upstream_proxy] url = "https://proxy.corp.example.com:3128" # Docker deployments ca_cert_path = "/etc/pki/corp-ca.pem" # Kubernetes deployments # ca_secret_name = "corp-ca-secret" release-1.1.1 · Oct 2026 · source
  • Configure the egress service to write combined mitmproxy logs to a file via rotation. export OPENSANDBOX_LOG_OUTPUT=file docker/egress/v1.1.6 · Aug 2026 · source
Ingress Proxy Mode shipped Intercepts traffic to sandboxes via URI or header-based routing without requiring target pod service creation. 12 releases · 3 other sources · first seen Jan 2026

release 12 total

  • Adds the OpenSandbox-Skip-Activity: skip request header sentinel to suppress ingress activity observation for a single request (stripped at both gateway and server-proxy hops). release-1.2.0-rc.1 · Oct 2026 · source · release history
  • Makes reverse proxy internal resolution configurable via [proxy] resolve_internal. release-1.1.0 · Sep 2026 · source · release history
  • Imports mitmproxy CA into NSS DB and sets NODE_EXTRA_CA_CERTS for TLS trust behind interception docker/execd/v1.0.14 · Apr 2026 · source · release history
  • Trust the MITM proxy when OPENSANDBOX_EGRESS_MITMPROXY_TRANSPARENT environment variable is set docker/execd/v1.0.12 · Apr 2026 · source · release history
  • header ingress gateway mode server/v0.1.3 · Feb 2026 · source · release history
  • multi ingress gateway mode support server/v0.1.3 · Feb 2026 · source · release history

example

  • Probe an auto-paused sandbox from a health-check script without recording the request as user activity, keeping the idle timer accurate. curl -H 'OpenSandbox-Skip-Activity: skip' https://<sandbox-host>/healthz release-1.2.0-rc.1 · Oct 2026 · source
  • Ensure Chrome and Node.js trust intercepted TLS certificates in transparent egress mode. export NODE_EXTRA_CA_CERTS=/path/to/mitmproxy-ca.pem docker/execd/v1.0.14 · Apr 2026 · source
  • Force the egress proxy to use specific external DNS servers like Google's or Cloudflare's. docker run -e OPENSANDBOX_EGRESS_DNS_UPSTREAM=8.8.8.8,1.1.1.1 opensandbox/egress:v1.0.6 docker/egress/v1.0.6 · Apr 2026 · source
Persistent Volume Mounting shipped Supports mounting host and PVC volumes into sandbox environments. 13 releases · 2 other sources · first seen Feb 2026

Also counts toward: REST API

release 13 total

  • Adds [egress.resources] config key for independent resource requests/limits on the Kubernetes egress sidecar. release-1.1.0 · Sep 2026 · source · release history
  • CreateIsolatedSessionRequest.binds accepts BindMount(source, dest, readonly) for arbitrary host-to-namespace mappings; also exposes uidMode java/sandbox/v1.0.16 · Jul 2026 · source · release history
  • CreateIsolatedSessionRequest.binds accepting BindMount(source, dest, readonly) for host→namespace path mappings and uid_mode support python/sandbox/v0.1.14 · Jul 2026 · source · release history
  • CreateIsolatedSessionRequest accepts binds: [{source, dest, readonly}] for explicit bind mounts. docker/execd/v1.0.21 · Jul 2026 · source · release history
  • Adds gVisor and Kata RuntimeClass support via the new secure-container feature for enhanced isolation k8s/task-executor/v0.2.0 · May 2026 · source · release history
  • Supports GVisor and Kata Containers as secure-container RuntimeClass options k8s/controller/v0.2.0 · May 2026 · source · release history

example

  • Mount host directories into an isolated session with read-write access. from opensandbox.isolation import CreateIsolatedSessionRequest, BindMount req = CreateIsolatedSessionRequest( binds=[BindMount(source='/host/data', dest='/container/data', readonly=False)] ) python/sandbox/v0.1.14 · Jul 2026 · source
  • Create a session with explicit bind mounts using the new binds field. { "session_name": "my-sandbox", "binds": [ {"source": "/host/data", "dest": "/data", "readonly": true}, {"source": "/host/code", "dest": "/workspace/src", "readonly": false} ] } docker/execd/v1.0.21 · Jul 2026 · source
Resource Concurrency and Scaling Control shipped Provides configuration options for pool scaling strategies, worker limits, memory accumulation controls, and expiration thresholds to manage resource usage. 15 releases · first seen May 2026

release 15 total

  • Supports pool-only sandbox creation using poolRef without an entrypoint (previously rejected with HTTP 400), and surfaces pool back-pressure as HTTP 429 KUBERNETES::POOL_CAPACITY_EXHAUSTED with a Retry-After header. release-1.1.0 · Sep 2026 · source · release history
  • Adds [egress] otlp_endpoint config key so the egress sidecar exports metrics to an OpenTelemetry collector on both runtimes. release-1.1.0 · Sep 2026 · source · release history
  • Bounded concurrency for idle sandbox pool cleanup cuts 100-sandbox release time from approximately 8.3 seconds to 0.8 seconds. python/sandbox/v0.1.16 · Aug 2026 · source · release history
  • Enables rolling pool warmups via warmupConcurrency to prevent single slow creation from stalling the rest of the refill wave. java/sandbox/v1.0.18 · Aug 2026 · source · release history
  • Adds RetryPolicy configuration with bounded exponential backoff, jitter modes, and per-attempt timeouts for non-streaming calls. java/sandbox/v1.0.18 · Aug 2026 · source · release history
  • RETRY_NEXT_IDLE and RETRY_NEXT_IDLE_THEN_CREATE policies for pool acquire allow skipping stale idle candidates before falling back or failing; max_acquire_retries defaults to 3. python/sandbox/v0.1.15 · Jul 2026 · source · release history
Sandbox Lifecycle Hooks shipped Enables configuring preStart initialization and periodic health check logic via internal environment variables at sandbox creation. 14 releases · first seen Aug 2026

release 14 total

  • Adds OpenSandbox-Skip-Activity sentinel header to suppress one activity observation on the idle sweeper, stripped on both gateway and proxy hops. release-1.2.0 · Oct 2026 · source · release history
  • Accepts env on template create, baking it into the fast-sandbox golden image at /etc/sandbox-init.env (inheriting the source image's OCI Config.Env), supported across all five SDKs. release-1.1.1 · Oct 2026 · source · release history
  • Adds preStart and periodic sandbox lifecycle hooks via create request environment variables. release-1.1.0 · Sep 2026 · source · release history
  • Adds default strict health check to CodeInterpreter creation in all SDKs. release-1.1.0 · Sep 2026 · source · release history
  • Adds preStart and periodic lifecycle hooks to sandbox create requests (OSEP-0020), validated server-side and serialized into a reserved environment variable for Kubernetes workloads; preStart.timeoutSeconds limit raised to 10800 seconds.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ release-1.1.0 · Sep 2026 · source · release history
  • Adds sandbox lifecycle hook models (OSEP-0020) to the API spec and every SDK with consistent validation aligned to server ranges. release-1.1.0 · Sep 2026 · source · release history
Server-Side Egress Telemetry shipped Exports HTTP request metrics (rate, error, latency) and egress sidecar metrics to OpenTelemetry for observability. 10 releases · 3 other sources · first seen Jul 2026

Also counts toward: REST API

release 10 total

  • Exports server HTTP metrics (request rate, error rate, latency) over OTLP. release-1.1.0 · Sep 2026 · source · release history
  • Exports generic HTTP request metrics (request rate, error rate, latency) from the server over OTLP, complementing the SDK-reported create-duration histogram. release-1.1.0 · Sep 2026 · source · release history
  • Supports independent [egress.resources] and [egress] otlp_endpoint for egress sidecars. release-1.1.0 · Sep 2026 · source · release history
  • New OTLP metric server.http.request.duration exported via ASGI middleware with http_method, http_route, and http_status_code attributes; enabled via [otel] config. server/v0.2.3 · Aug 2026 · source · release history
  • egress.nftables.updates.failed_total{operation} Prometheus counter for nftables dynamic allow-set update failures docker/egress/v1.1.6 · Aug 2026 · source · release history
  • Changes automatic retry behavior: idempotent methods now retry 429, 502, and 503 by default; use .retryPolicy(RetryPolicy.disabled()) to revert. java/sandbox/v1.0.18 · Aug 2026 · source · release history

example

  • Export egress sidecar metrics to your OpenTelemetry collector and cap its resource footprint independently of the sandbox container. [egress] otlp_endpoint = "http://otel-collector:4317" timeout_seconds = 30 [egress.resources] requests = { cpu = "50m", memory = "64Mi" } limits = { cpu = "200m", memory = "128Mi" } release-1.1.0 · Sep 2026 · source
  • Configure the egress sidecar to export metrics to an external collector without manual firewall rules or policy edits. OTEL_EXPORTER_OTLP_METRICS_ENDPOINT=http://collector:4317 docker run opensandbox/egress:v1.1.7 docker/egress/v1.1.7 · Aug 2026 · source
  • Record sandbox creation latency as an OTEL histogram via the new metrics endpoint. curl -X POST 'https://<server>/v1/metrics/events' \ -H 'Content-Type: application/json' \ -d '{"event": "MetricsEvent", "payload": {"type": "opensandbox.sandbox.create.duration", "value": 120}}' server/v0.2.2 · Jul 2026 · source
Sandbox Lifecycle Management (Pause/Resume) shipped Allows pausing a running sandbox to preserve its root filesystem state for later inspection and resuming it, backed by snapshot technology. 8 releases · 4 other sources · first seen May 2026

release 8 total

  • Adds lifecycle.idlePolicy create field (idleTimeoutSeconds 30–86400, onIdle: pause, wakeOnAccess, optional activeProbe) enabling auto-pause and wake-on-access for fast sandboxes, with config moving under [automation.idle_pause] and redis.dsn validated at load when the sweeper is enabled, plus a typed… release-1.2.0 · Oct 2026 · source · release history
  • Adds lifecycle.idlePolicy create field (with idleTimeoutSeconds 30–86400, onIdle: pause, wakeOnAccess, and optional activeProbe) to opt fast sandboxes into server-side auto-pause and wake-on-access (OSEP-0024); the policy persists as the sandbox.opensandbox.io/idle-policy Sandbox CR annotation and is off… release-1.2.0-rc.1 · Oct 2026 · source · release history
  • Implements pause/resume for the agent-sandbox provider by bridging to spec.operatingMode (Running/Suspended) on agents.x-k8s.io/v1beta1, with state derivation (Paused/Pausing/Resuming/Terminated) and 409 on invalid transitions. release-1.1.1 · Oct 2026 · source · release history
  • Adds QEMU VMState pause/resume for runc-based sandboxes: opt-in capture of guest memory, vCPU, and device state via QMP migration, stored as separate OCI images keyed by immutable SHA-256 digests; supports pooled BatchSandbox pause, detachment, and standalone restoration. server/v0.2.3 · Aug 2026 · source · release history
  • Implements pause/resume functionality with underlying rootfs snapshot support helm/opensandbox/0.2.0 · May 2026 · source · release history
  • Implements pause and resume operations for batchsandbox instances backed by rootfs snapshots k8s/controller/v0.2.0 · May 2026 · source · release history

example

  • Create a fast sandbox that automatically pauses after 5 minutes of inactivity and wakes transparently on the next request. import asyncio from opensandbox import Sandbox from opensandbox.models import IdlePolicy, RenewalPolicy async def main() -> None: sandbox = await Sandbox.create( "python:3.12", lifecycle={… release-1.2.0 · Oct 2026 · source
  • Create a fast sandbox that auto-pauses after 5 minutes of idle and wakes transparently on the next access, keeping costs low for infrequently used environments. curl -X POST https://api.opensandbox.example/v1/sandboxes \ -H 'Content-Type: application/json' \ -d '{ "template": "my-template", "lifecycle": { "idlePolicy": { "idleTimeoutSeconds": 300, "onIdle":… release-1.2.0 · Oct 2026 · source
  • Create a fast sandbox that auto-pauses after 5 minutes of inactivity and wakes transparently when the next request arrives. { "lifecycle": { "idlePolicy": { "idleTimeoutSeconds": 300, "onIdle": "pause", "wakeOnAccess": true } } } release-1.2.0-rc.1 · Oct 2026 · source
  • Pause a running sandbox to preserve its root filesystem state for later inspection. opensandbox pause <sandbox_id> helm/opensandbox/0.2.0 · May 2026 · source
Sandbox Hardening Inspection shipped suggested Exposes runtime metadata reporting the active state of per-layer security hardening such as seccomp, no_new_privs, and Landlock. 10 releases · 1 other source · first seen Jun 2026

Suggested capability: Security baseline assessment. This is our guess, not confirmed.

release 10 total

  • Adds sandbox-scoped CPU/memory metrics in execd: when the sandbox cgroup carries configured limits, execd.system.cpu.usage and execd.system.memory.usage_bytes now read from the sandbox's own cgroup (cpu.stat/cpu.max, memory.current/memory.max, with v1 fallback) instead of the host-wide /proc view via… release-1.2.0-rc.1 · Oct 2026 · source · release history
  • Adds OOM kill reporting in execd via cgroupfs polling: polls the sandbox cgroup every 5 s, diffs memory.events (cgroup v2; best-effort v1), and exports the execd.system.oom.kills metric with a local/descendant level attribute plus structured warn logs with best-effort victim attribution. release-1.2.0-rc.1 · Oct 2026 · source · release history
  • GET /v1/isolated/capabilities returns a hardening object with per-layer hardening state. docker/execd/1.1.0 · Aug 2026 · source · release history
  • Exposes confirmed Pool allocation summaries in sandbox responses and adds execd init mode and hardening-layer state fields to isolated capabilities; fields are absent when the server cannot confirm the state. python/sandbox/v0.1.16 · Aug 2026 · source · release history
  • Models execd hardening capability results as part of richer runtime metadata exposed in the SDK. java/sandbox/v1.0.19 · Aug 2026 · source · release history
  • Sandbox pods no longer mount a service-account token (kubernetes.service_account config removed and automountServiceAccountToken: false set). server/v0.2.2 · Jul 2026 · source · release history

example

  • Inspect the hardening state of an isolated environment programmatically. curl -s http://localhost:8080/v1/isolated/capabilities | jq '.hardening' docker/execd/1.1.0 · Aug 2026 · source
Session Persistence and Execution shipped Enables creating persistent, pipe-based bash sessions for interactive command execution within sandboxes. 9 releases · 1 other source · first seen Mar 2026

Also counts toward: Client SDKs

release 9 total

  • Adds attach(sessionId) to all five SDKs, rebuilding a fully functional session handle from a bare session ID (e.g. after a worker restart); SessionState now echoes creation parameters. docker/execd/v1.0.22 · Aug 2026 · source · release history
  • WebSocket proxy now forwards all headers except hop-by-hop and handshake-specific headers (replacing hardcoded whitelist) docker/ingress/v1.0.8 · Jun 2026 · source · release history
  • Adds optional command field to POST /pty for one-shot terminal I/O docker/execd/v1.0.19 · Jun 2026 · source · release history
  • Adds ?takeover=1 query parameter to GET /pty/:sessionId/ws for live PTY session handoff docker/execd/v1.0.19 · Jun 2026 · source · release history
  • Adds the runInSession method to execute code within an existing session context. java/sandbox/v1.0.6 · Apr 2026 · source · release history
  • Adds run_in_session subcommand in the Python SDK for persistent shell workflows python/sandbox/v0.1.6 · Mar 2026 · source · release history

example

  • Reconnect to an existing session from SDK code after a worker restart, without needing the original session object. session = client.attach(sessionId) docker/execd/v1.0.22 · Aug 2026 · source
Secure Access Key Verification shipped Enforces cryptographic verification of access keys for sandboxes marked as secure. 9 releases · 1 other source · first seen May 2026

release 9 total

  • OPENSANDBOX_EGRESS_CREDENTIAL_VAULT_TRUSTED_PROXY_CIDRS env var added for trusted proxy addresses; X-Forwarded-Proto no longer trusted by default by the server proxy. server/v0.2.2 · Jul 2026 · source · release history
  • X-Forwarded-Proto header is no longer trusted unless the client IP is listed in OPENSANDBOX_EGRESS_CREDENTIAL_VAULT_TRUSTED_PROXY_CIDRS; otherwise requests are rejected as non-HTTPS docker/egress/v1.1.4 · Jul 2026 · source · release history
  • Adds OPENSANDBOX_EGRESS_CREDENTIAL_VAULT_TRUSTED_PROXY_CIDRS environment variable to define trusted IPs/CIDRs for X-Forwarded-Proto validation docker/egress/v1.1.4 · Jul 2026 · source · release history
  • Adds secureAccess option for sandbox creation and endpoint access headers in Kubernetes ingress gateway mode js/sandbox/v0.1.8 · Jun 2026 · source · release history
  • Adds secure_access support for sandbox creation and endpoint access headers in Kubernetes ingress gateway mode python/sandbox/v0.1.10 · Jun 2026 · source · release history
  • Adds opt-in SecureAccess support for sandbox creation and endpoint access headers in Kubernetes ingress gateway mode csharp/sandbox/v0.1.2 · Jun 2026 · source · release history

example

  • Request secure access for a new sandbox to get signed, short-lived endpoint URLs. sandbox = await client.sandboxes.create( ..., secureAccess=True ) python/sandbox/v0.1.8 · May 2026 · source
Diagnostics API Scoping shipped Supports filtering diagnostics output by specific scopes such as logs and events. 7 releases · 2 other sources · first seen Aug 2026

Also counts toward: REST API

release 7 total

  • Adds GET /v1/sandboxes/{sandboxId}/diagnostics/context endpoint returning sandbox ID, lifecycle state, backend type, and backend-defined identifiers for Docker, Kubernetes, and Fast Sandbox without requiring an execd connection. release-1.2.0 · Oct 2026 · source · release history
  • Adds GET /v1/sandboxes/{sandboxId}/diagnostics/context endpoint returning sandbox ID, lifecycle state, backend type, and backend-defined identifiers for Docker, Kubernetes, and Fast Sandbox without connecting to execd; unsupported extension backends return 501. release-1.2.0 · Oct 2026 · source · release history
  • Maps proxied backend failures to typed HTTP statuses: read/write timeouts return 504 BACKEND_TIMEOUT, mid-response resets and protocol errors return 502 BACKEND_RESPONSE_FAILED, and connect failures return 502 BACKEND_CONNECTION_FAILED. release-1.1.1 · Oct 2026 · source · release history
  • Adds a stable, scoped diagnostics API with logs:container|all and events:runtime|lifecycle|all scopes, returning 400 DIAGNOSTICS_SCOPE_UNSUPPORTED for unknown scopes and backward-compatible plain-text responses. release-1.1.0 · Sep 2026 · source · release history
  • Adds scoped diagnostics API with logs:container|all and events:runtime|lifecycle|all scopes. release-1.1.0 · Sep 2026 · source · release history
  • Diagnostics API supports scopes: logs: container|all and events: runtime|lifecycle|all; returns 400 for unsupported scopes. server/v0.2.3 · Aug 2026 · source · release history

example

  • Inspect a sandbox's lifecycle state and backend identifiers without an active execd connection — useful for triage when a pod has not yet been allocated. curl -s -H 'Authorization: Bearer <your-api-key>' \ https://<server>/v1/sandboxes/<sandboxId>/diagnostics/context | jq . release-1.2.0 · Oct 2026 · source
  • Scope diagnostics queries to only runtime events for a sandbox, using the new events:runtime scope to cut noise during incident triage. curl -H 'OPEN-SANDBOX-API-KEY: <key>' 'https://<server>/diagnostics?scope=events:runtime' release-1.1.0 · Sep 2026 · source
Sandbox Renewal Response shipped Returns structured expiration metadata for renewed sandbox instances. 8 releases · 1 other source · first seen Jan 2026

release 8 total

  • The extensions['access.renew.extend.seconds'] key is deprecated and fast sandboxes now reject it with 400 instead of silently accepting a no-op; migrate to lifecycle.renewalPolicy.extendSeconds before upgrading to 2.0, where the legacy key is removed. release-1.2.0 · Oct 2026 · source · release history
  • Adds lifecycle.renewalPolicy.extendSeconds (300–86400) structured field (OSEP-0009), replacing the opaque extensions['access.renew.extend.seconds'] key; the legacy key is deprecated through 1.x and removed in 2.0. release-1.2.0 · Oct 2026 · source · release history
  • Adds lifecycle.renewalPolicy.extendSeconds (300–86400) as the structured replacement for the opaque extensions['access.renew.extend.seconds'] key (deprecated, supported through 1.x, removed in 2.0); fast sandbox now rejects the legacy key with 400. release-1.2.0 · Oct 2026 · source · release history
  • The extensions['access.renew.extend.seconds'] key is deprecated and fast sandbox now rejects it with 400 instead of silently accepting a no-op; migrate to lifecycle.renewalPolicy.extendSeconds (supported throughout 1.x; the legacy key is removed in 2.0). release-1.2.0 · Oct 2026 · source · release history
  • Adds OpenSandbox-Access-Renew: skip request header to opt individual requests out of access renew intents, for health probes and heartbeat-style traffic. release-1.1.1-rc.1 · Sep 2026 · source · release history
  • Sandbox lifecycle responses now expose opensandbox.extensions.* data js/sandbox/v0.1.10 · Jul 2026 · source · release history

example

  • Check when an renewed sandbox expires using the new response object. response = sandbox.renew() print(response.expires_at) python/sandbox/v0.1.1 · Jan 2026 · source
Automated PVC and Volume Lifecycle Management shipped Automatically provisions, attaches, and deletes Persistent Volume Claims (PVCs) and Docker volumes for sandboxes using declarative API fields. 8 releases · first seen May 2026

release 8 total

  • Adds PVC auto-provisioning fields to the SDK model python/sandbox/v0.1.10 · Jun 2026 · source · release history
  • Adds SDK model support for Persistent Volume Claim (PVC) auto-provisioning fields js/sandbox/v0.1.8 · Jun 2026 · source · release history
  • Adds SDK model support for PVC auto-provisioning fields sdks/sandbox/go/v1.0.2 · Jun 2026 · source · release history
  • Adds SDK model support for PVC auto-provisioning fields csharp/sandbox/v0.1.2 · Jun 2026 · source · release history
  • SDK model support for PVC auto-provisioning fields enables automatic volume claims in sandbox builders java/sandbox/v1.0.12 · Jun 2026 · source · release history
  • Enables automatic PVC and Docker volume lifecycle management through per-volume API fields k8s/task-executor/v0.2.0 · May 2026 · source · release history
Pool Capacity Diagnostics shipped Provides machine-identifiable signals for pool capacity exhaustion via HTTP 429 responses and Retry-After headers. 7 releases · first seen Jul 2026

release 7 total

  • Surfaces pool back-pressure as HTTP 429 KUBERNETES::POOL_CAPACITY_EXHAUSTED with Retry-After. release-1.1.0 · Sep 2026 · source · release history
  • Pool capacity exhaustion is now machine-identifiable: controller publishes a PoolAllocationPending / PoolCapacityExhausted condition. server/v0.2.3 · Aug 2026 · source · release history
  • Pool capacity exhaustion returns HTTP 429 with Retry-After: 5 and KUBERNETES::POOL_CAPACITY_EXHAUSTED header; new kubernetes.pool_acquisition_timeout_seconds config (default 30s). server/v0.2.3 · Aug 2026 · source · release history
  • Exhausted Kubernetes Pool capacity returns HTTP 429 with KUBERNETES::POOL_CAPACITY_EXHAUSTED header for immediate client handling python/sandbox/v0.1.16 · Aug 2026 · source · release history
  • Surfaces exhausted Kubernetes Pool capacity as HTTP 429 with error code KUBERNETES::POOL_CAPACITY_EXHAUSTED and a Retry-After header instead of a generic readiness timeout; sandbox creation is not automatically replayed on this status. python/sandbox/v0.1.16 · Aug 2026 · source · release history
  • Sandbox pool FORCE-destroy via DESTROYING fence and DESTROYED tombstone in SandboxPoolManager python/sandbox/v0.1.14 · Jul 2026 · source · release history
Docker Fleet Config shipped Enables applying fleet-wide environment variables and host bind mounts to all Docker-based sandbox containers. 5 releases · 1 other source · first seen Aug 2026

release

  • Adds Docker-runtime-wide sandbox_env and sandbox_binds configuration. release-1.1.0 · Sep 2026 · source · release history
  • Adds sandbox_env and sandbox_binds Docker-runtime-wide configuration keys, giving Docker parity with the Kubernetes pod template for fleet-wide CA bundles, proxies, and mounts. release-1.1.0 · Sep 2026 · source · release history
  • Honors image.auth in create requests for agent-sandbox provider with per-sandbox pull secrets. release-1.1.0 · Sep 2026 · source · release history
  • New [docker] config fields sandbox_env and sandbox_binds apply fleet-wide environment variables and host bind mounts to every Docker sandbox container (request env wins over sandbox_env; config binds precede request-derived binds). server/v0.2.3 · Aug 2026 · source · release history
  • [docker] sandbox_env and sandbox_binds fields apply fleet-wide environment variables and host bind mounts to every sandbox container. server/v0.2.3 · Aug 2026 · source · release history

example

  • Apply fleet-wide environment variables and a host bind mount to every Docker sandbox so operators can inject shared config without touching each request. [docker] sandbox_env = { "LOG_LEVEL" = "info", "REGION" = "us-east-1" } sandbox_binds = ["/etc/ssl/certs:/etc/ssl/certs:ro"] server/v0.2.3 · Aug 2026 · source
FastPath Fleet Lifecycle Management shipped Provides a dedicated lifecycle backend for creating, renewing, deleting, and pausing/resuming sandboxes with high-speed semantics. 5 releases · first seen Mar 2026

Also counts toward: REST API

release

  • Adds lifecycle.idlePolicy create field (with idleTimeoutSeconds 30–86400, onIdle: pause, wakeOnAccess, and optional activeProbe) to enable auto-pause and wake-on-access for fast sandboxes, with server config moving under [automation.idle_pause] (requiring redis.dsn when the sweeper is enabled), and typed… release-1.2.0 · Oct 2026 · source · release history
  • Adds FastPath fleets lifecycle backend with pause/resume for Firecracker microVMs. release-1.1.0 · Sep 2026 · source · release history
  • Adds the FastPath fleets lifecycle backend: create, renew, delete, and status mapping via FastPath v2, plus end-to-end fast-sandbox pause/resume with async 202 semantics and UID fencing. release-1.1.0 · Sep 2026 · source · release history
  • Supports pool-only sandbox creation using poolRef without an entrypoint. release-1.1.0 · Sep 2026 · source · release history
  • [UNSTABLE] Adds Pool CRUD API and Kubernetes CRD service for automated pool management. server/v0.1.9 · Mar 2026 · source · release history
Distributed Pool State Persistence shipped Provides backend options for sandbox pool state management, including an in-memory default and a Redis-backed distributed store. 4 releases · 1 other source · first seen Jul 2026

release

  • Moves idle-pause configuration from [idle_pause] to [automation.idle_pause], removes the redundant redis.enabled gate, and requires redis.dsn (validated at load) when enabled = true. release-1.2.0-rc.1 · Oct 2026 · source · release history
  • The [idle_pause] config section is renamed to [automation.idle_pause]; the redis.enabled gate is removed and redis.dsn is now required (validated at load) when enabled = true — a previously silent non-start now fails loudly. release-1.2.0-rc.1 · Oct 2026 · source · release history
  • Adds optional poolredis sub-module providing RedisPoolStateStore via go-redis v9 for distributed pool state sdks/sandbox/go/v1.0.4 · Jul 2026 · source · release history
  • Adds InMemoryPoolStateStore for single-process deployments when using the new sandbox pool sdks/sandbox/go/v1.0.4 · Jul 2026 · source · release history

example

  • Migrate the server config to the new idle-pause section layout and enforce a valid Redis DSN so the sweeper starts loudly rather than silently skipping. [automation.idle_pause] enabled = true redis.dsn = "redis://localhost:6379/0" release-1.2.0-rc.1 · Oct 2026 · source
Egress Rule Auto-Reloading shipped Automatically detects and applies updates to egress allow/deny rules without requiring a service restart. 5 releases · first seen Apr 2026

release

  • Adds sandbox.IsolationWithSession(ctx, req, fn) helper for multi-run isolated workflows with auto-delete on exit sdks/sandbox/go/v1.0.4 · Jul 2026 · source · release history
  • Adds RunOnceAsync(code, workspace, ...) and WithSessionAsync(req, fn) extension methods on IIsolatedSessions to simplify isolated session lifecycle management. csharp/sandbox/v0.1.4 · Jul 2026 · source · release history
  • Egress participates in the credential vault injection pipeline, enabling sandboxes to receive injected credentials (API keys, tokens, OAuth) for outbound requests docker/egress/v1.1.0 · Jun 2026 · source · release history
  • The environment variable OPENSANDBOX_EGRESS_MITMPROXY_CONFDIR is removed and will break config.yaml discovery if set docker/egress/v1.1.0 · Jun 2026 · source · release history
  • Automatically reloads deny.always and allow.always rules every minute using mtime/size checks docker/egress/v1.0.8 · Apr 2026 · source · release history
Resource Request Configuration shipped Allows setting Kubernetes resource requests independently from limits when creating sandboxes. 4 releases · 1 other source · first seen Jun 2026

release

  • Adds optional resourceRequests field to sandbox creation for Burstable QoS on Kubernetes-backed sandboxes js/sandbox/v0.1.10 · Jul 2026 · source · release history
  • Adds optional resourceRequests field to sandbox creation for setting resource requests separately from limits on Kubernetes-backed sandboxes. csharp/sandbox/v0.1.4 · Jul 2026 · source · release history
  • Adds resourceRequests field to CreateSandboxRequest API to set Kubernetes resource requests separately from limits, enabling Burstable QoS class sandboxes server/v0.2.1 · Jun 2026 · source · release history
  • Adds resourceRequests to sandbox creation so Kubernetes-backed sandboxes can set resource requests separately from limits. csharp/sandbox/v0.1.3 · Jun 2026 · source · release history

example

  • Configure Burstable QoS by specifying distinct resource requests in the API payload. { "metadata": { "name": "test-sandbox" }, "container": { "image": "alpine", "command": ["sleep", "infinity"] }, "resourceRequests": { "cpu": "50m", "memory": "64Mi" } } server/v0.2.1 · Jun 2026 · source
Egress Sidecar Tuning shipped Allows configuring the timeout duration for egress sidecar health checks in Docker deployments. 3 releases · 1 other source · first seen Aug 2026

release

  • Adds [egress] timeout_seconds config key to make egress sidecar readiness wait configurable. release-1.1.0 · Sep 2026 · source · release history
  • New [egress] timeout_seconds config key (default 30s; non-positive values rejected) lets Docker deployments tune how long the server waits for the sidecar health endpoint. server/v0.2.3 · Aug 2026 · source · release history
  • [egress] timeout_seconds configures the egress sidecar readiness timeout (default 30s). server/v0.2.3 · Aug 2026 · source · release history

example

  • Tune how long the server waits for pool allocation before returning a machine-identifiable 429, and increase the egress sidecar readiness window for slower Docker hosts. [kubernetes] pool_acquisition_timeout_seconds = 60 [egress] timeout_seconds = 60 server/v0.2.3 · Aug 2026 · source
Execd Init Mode shipped Runs the sandbox init daemon as PID 1 to enable proper signal forwarding and exit-code propagation. 2 releases · 2 other sources · first seen Aug 2026

release

  • Adds EXECD_INIT=1 environment variable to run execd as PID 1 with signal forwarding (TERM/HUP/USR1/USR2/WINCH), entrypoint-owned exit-code propagation, and a subreaper fallback for the Pool path; opt-in via server's runtime.execd_run_as_init for Docker/K8s Batch/Agent/Pool — classic topology unchanged and off by… docker/execd/v1.1.0 · Aug 2026 · source · release history
  • Enables execd to run as PID 1 via EXECD_INIT=1 (or server-side runtime.execd_run_as_init), providing a single reaper with signal forwarding (TERM/HUP/USR1/USR2/WINCH), entrypoint-owned exit-code propagation, and a subreaper fallback for the Pool path; classic topology unchanged and off by default. docker/execd/1.1.0 · Aug 2026 · source · release history

example

  • Enable init-mode to get proper PID-1 signal forwarding and exit-code propagation in a Docker sandbox container. docker run -e EXECD_INIT=1 opensandbox/execd:v1.1.0 docker/execd/v1.1.0 · Aug 2026 · source
  • Run execd as PID 1 in a Docker container to get proper signal forwarding and exit-code propagation for sandboxed workloads. docker run -e EXECD_INIT=1 opensandbox/execd:v1.1.0 docker/execd/1.1.0 · Aug 2026 · source
Egress Patch Configuration shipped Allows updating network egress rules for existing sandbox instances via patch operations. 4 releases · first seen Mar 2026

Also counts toward: REST API

release

  • Adds automatic always-allow egress rule for the sidecar's own OTLP metric export: reads OTEL_EXPORTER_OTLP_METRICS_ENDPOINT (preferred) or OTEL_EXPORTER_OTLP_ENDPOINT at startup and injects the destination into the deny-all policy — domains via the DNS proxy, IPs into the static nft allow sets — surviving policy… docker/egress/v1.1.7 · Aug 2026 · source · release history
  • Adds background: true to the run API, returning a JSON handle; new runs/{runId} and runs/{runId}/logs endpoints enable status polling for long-running sessions without blocking the caller. docker/execd/v1.0.22 · Aug 2026 · source · release history
  • Adds file_logger configuration to write both server logs and access logs to files server/v0.1.10 · Apr 2026 · source · release history
  • Adds egress patch support for sandbox network configuration allowing traffic rule updates java/sandbox/v1.0.5 · Mar 2026 · source · release history
Command Output Tailing shipped Enables real-time tailing of background command outputs. 4 releases · first seen Jan 2026

release

  • Automatic log rotation for file outputs using lumberjack (100MB, 30d retention, 10 backups default) docker/ingress/v1.0.7 · May 2026 · source · release history
  • Adds lumberjack log rotation for file-based log outputs in OpenSandbox Egress, auto-enabled with 100 MB max size, 30-day retention, and 10 backups when the log path is a file docker/egress/v1.0.10 · Apr 2026 · source · release history
  • Adds lumberjack-backed log rotation to file outputs (auto-enabled; 100MB max size, 30-day retention, 10 backups, no compression) docker/execd/v1.0.14 · Apr 2026 · source · release history
  • Adds the ability to tail background command outputs in real-time docker/execd/v1.0.2 · Jan 2026 · source · release history
Sandbox File Upload Capability shipped Allows uploading files into a sandbox environment via multipart upload endpoints. 3 releases · first seen May 2026

release

  • Removes whole-call timeouts from SDK file transfers in all five languages, eliminating the 30 s default cap that caused large or slow transfers to fail mid-flight. release-1.2.0 · Oct 2026 · source · release history
  • Removes whole-call timeouts from SDK file uploads and downloads in all five languages, eliminating mid-flight failures on large or slow transfers. release-1.2.0 · Oct 2026 · source · release history
  • Adds UploadFiles method on the Sandbox type to perform multipart uploads against /files/upload sdks/sandbox/go/v1.0.1 · May 2026 · source · release history
Multi-Tenancy Isolation shipped Enables isolation of sandbox resources per tenant using file or HTTP-based backends mapped to Kubernetes namespaces. 3 releases · first seen Jul 2026

Also counts toward: Kubernetes-native deployment, Multi-tenant management

release

  • Isolates tenants sharing one Kubernetes namespace via a new opensandbox.io/tenant stamp label — list/get/delete/pause/resume/proxy hide other tenants' labeled sandboxes as 404 while unlabeled legacy sandboxes remain visible until expiry. release-1.1.1 · Oct 2026 · source · release history
  • Tenant namespaces validated at startup with fatal error if any are missing or inaccessible. server/v0.2.3 · Aug 2026 · source · release history
  • New multi-tenancy provider with file and HTTP backends isolates sandboxes per tenant via K8s namespaces. server/v0.2.2 · Jul 2026 · source · release history
Secure Access Key Management shipped suggested Sources secure access signing keys from environment variables or Kubernetes Secrets rather than plaintext configuration. 3 releases · first seen Aug 2026

Suggested capability: Security baseline enforcement. This is our guess, not confirmed.

release

  • Sources OSEP-0011 secure-access signing keys from the OPENSANDBOX_SECURE_ACCESS_KEYS environment variable or a Kubernetes Secret instead of plaintext chart values. release-1.1.0 · Sep 2026 · source · release history
  • Sources secure-access signing keys from OPENSANDBOX_SECURE_ACCESS_KEYS env var or K8s Secret. release-1.1.0 · Sep 2026 · source · release history
  • OPENSANDBOX_SECURE_ACCESS_KEYS / OPENSANDBOX_SECURE_ACCESS_ACTIVE_KEY env overrides and Helm chart key server.gateway.secureAccess.existingSecret allow secure-access signing keys from a Kubernetes Secret. server/v0.2.3 · Aug 2026 · source · release history
Background Session Execution shipped Allows starting detached workloads within isolated sessions that return immediately with a handle, enabling non-blocking status polling and log retrieval. 2 releases · 1 other source · first seen Aug 2026

release

  • Isolated sessions can start detached work via background runs to poll status and incremental output without blocking python/sandbox/v0.1.16 · Aug 2026 · source · release history
  • run endpoint accepts background: true to return a handle immediately; use runs/{runId} for status and .../logs for output polling docker/execd/v1.0.22 · Aug 2026 · source · release history

example

  • Start a non-blocking sandbox run and poll for its status curl -X POST https://opensandbox/api/run -d '{"background": true, "share_net": false}' | jq .runId curl https://opensandbox/api/runs/<runId> docker/execd/v1.0.22 · Aug 2026 · source
Egress OTLP Auto-Allow shipped Automatically configures egress allow rules for OpenTelemetry metric endpoints to prevent blocking sidecar traffic. 3 releases · first seen Aug 2026

release

  • OTLP egress auto-allow now honors OTEL_EXPORTER_OTLP_METRICS_ENDPOINT and OTEL_EXPORTER_OTLP_ENDPOINT environment variables in shared components. docker/execd/1.1.0 · Aug 2026 · source · release history
  • OTEL_EXPORTER_OTLP_METRICS_ENDPOINT or OTEL_EXPORTER_OTLP_ENDPOINT is parsed at startup and injected as an always-allow rule for the sidecar's own metric egress docker/egress/v1.1.7 · Aug 2026 · source · release history
  • Adds automatic always-allow egress rule for the sidecar's own OTLP metric export: reads OTEL_EXPORTER_OTLP_METRICS_ENDPOINT (preferred) or OTEL_EXPORTER_OTLP_ENDPOINT at startup and injects the destination into the deny-all policy — domains via the DNS proxy, IPs into the static nft allow sets — surviving policy… docker/egress/v1.1.7 · Aug 2026 · source · release history
Host Client IP Propagation shipped Automatically detects and injects the host's intranet IPv4 address into sandbox session requests via a standard header, preserving any user-provided values. 3 releases · first seen Jul 2026

release

  • Adds OPEN-SANDBOX-CLIENT-IP HTTP header injection for host intranet IPv4 addresses csharp/sandbox/v0.1.5 · Jul 2026 · source · release history
  • SDK detects host intranet IPv4 and sends it as OPEN-SANDBOX-CLIENT-IP header, preserving user-provided values. js/sandbox/v0.1.11 · Jul 2026 · source · release history
  • SDK detects host intranet IPv4 and sends it in the OPEN-SANDBOX-CLIENT-IP header for session requests. java/sandbox/v1.0.17 · Jul 2026 · source · release history
Sandbox Pool Acquisition Policies shipped Provides configurable acquisition policies with retry logic, allowing the cyber tool to intelligently handle pool contention by waiting for idle resources or creating new ones. 1 release · 2 other sources · first seen Jul 2026

release

  • AcquirePolicyRetryNextIdle and AcquirePolicyRetryNextIdleThenCreate sandbox pool acquire policies with a configurable MaxAcquireRetries defaulting to 3 sdks/sandbox/go/v1.0.5 · Jul 2026 · source · release history

example

  • Configure sandbox pool acquisition to retry on stale connections before creating a new session. AcquirePolicyRetryNextIdle MaxAcquireRetries: 3 sdks/sandbox/go/v1.0.5 · Jul 2026 · source
  • Skip stale idle pool members before falling back to direct create for lower latency. python -c " from opensandbox.pool import Pool pool = Pool(acquire_policy='RETRY_NEXT_IDLE') session = await pool.acquire() " python/sandbox/v0.1.15 · Jul 2026 · source
Endpoint Request Caching shipped Implements LRU and TTL-based caching for sandbox endpoint connections with in-flight request deduplication. 3 releases · first seen Jul 2026

release

  • Endpoint cache with inflight dedup, TTL 600s, MaxSize 1024, configurable via ConnectionConfig python/sandbox/v0.1.14 · Jul 2026 · source · release history
  • Enables LRU + TTL endpoint cache with in-flight request deduplication by default (TTL 600s, max size 1024), tunable via ConnectionConfig sdks/sandbox/go/v1.0.4 · Jul 2026 · source · release history
  • Adds LRU + TTL endpoint caching (ConnectionConfig) with in-flight request deduplication for sandbox endpoints (enabled by default, TTL 600s, max size 1024). csharp/sandbox/v0.1.4 · Jul 2026 · source · release history
Line-Based File Reading shipped Enables reading specific ranges of lines from large files without downloading entire contents. 2 releases · 1 other source · first seen Jun 2026

Also counts toward: REST API

release

  • Adds offset and limit query parameters to GET /files/download for line-based file reads js/sandbox/v0.1.10 · Jul 2026 · source · release history
  • Adds offset and limit query parameters to GET /files/download for line-based file reads via the REST API. java/sandbox/v1.0.13 · Jun 2026 · source · release history

example

  • Read lines 10-20 of a large log file from a sandbox. curl 'http://localhost:8080/files/download?path=/var/log/app.log&offset=10&limit=11' js/sandbox/v0.1.10 · Jul 2026 · source
Sandbox Snapshot State Management shipped Provides blocking calls and typed constants to check snapshot readiness and state without magic strings. 2 releases · 1 other source · first seen Jun 2026

release

  • SandboxManager.waitForSnapshotReady(snapshotId, timeout, pollingInterval) now allows blocking calls until a snapshot reaches the Ready state, replacing manual polling logic. java/code-interpreter/v1.0.14 · Jun 2026 · source · release history
  • Adds SnapshotState constants (Creating, Ready, Failed, Deleting, Unknown) for state comparison without magic strings java/sandbox/v1.0.14 · Jun 2026 · source · release history

example

  • Block execution until a snapshot is ready before proceeding with sandbox operations. SandboxManager.waitForSnapshotReady(snapshotId, 15, TimeUnit.MINUTES, 2, TimeUnit.SECONDS) java/sandbox/v1.0.14 · Jun 2026 · source
Multi-Platform Execution shipped Enables provisioning sandboxes on specific operating systems and architectures, such as Windows, via platform selection arguments. 2 releases · 1 other source · first seen May 2026

release

  • Adds CreateSandboxRequest.Platform, SandboxInfo.Platform, and SandboxCreateOptions.Platform fields for specifying OS/architecture targets like Windows sdks/sandbox/go/v1.0.2 · Jun 2026 · source · release history
  • Sandbox.create() now accepts a platform argument to constrain the runtime OS/architecture js/sandbox/v0.1.7 · May 2026 · source · release history

example

  • Request a sandbox running on a specific platform, such as Windows, with auto-provisioned storage. const sandbox = await Sandbox.create({ image: 'opensandbox/js:latest', platform: 'windows/amd64', createIfNotExists: true, storageClass: 'standard', storage: '10Gi' }); js/sandbox/v0.1.7 · May 2026 · source
Secure Endpoint Access shipped Generates short-lived, signed URLs for accessing sandbox ports or endpoints securely without sharing static tokens or secrets. 2 releases · 1 other source · first seen May 2026

release

  • New sandbox.getSignedEndpoint(port, expires) method generates time-limited signed route tokens js/sandbox/v0.1.7 · May 2026 · source · release history
  • Introduces a signed endpoint for secure route access per OSEP-0011 k8s/controller/v0.2.0 · May 2026 · source · release history

example

  • Get a time-limited URL to access a port inside the sandbox without sharing static secrets. const signedUrl = await sandbox.getSignedEndpoint(8080, new Date(Date.now() + 3600 * 1000)); console.log(signedUrl); // Returns https://...?token=... js/sandbox/v0.1.7 · May 2026 · source
SDK Wake-Retry on Expired Sandbox shipped Automatically retries requests across all SDKs when a 503 response signals an expired sandbox, with configurable attempt limits and a typed exception on exhaustion. 2 releases · first seen Oct 2026

Also counts toward: JavaScript scripting support, Python scripting support, Scripting language support, Client SDKs

release

  • Adds wake-retry contract to all five SDKs: on a 503 carrying the OpenSandbox-Wake: expired header the SDK resends after Retry-After up to a bounded budget (default 5 attempts / 60 s) and raises a typed wake-timeout exception on exhaustion; stream-start wake-retry lands in JavaScript, Python, and Go. release-1.2.0 · Oct 2026 · source · release history
  • Adds wake-retry contract to all five SDKs: on a 503 carrying the OpenSandbox-Wake: expired gateway header, the SDK resends after Retry-After within a bounded budget (default 5 attempts / 60 s, configurable per client); exhaustion raises a typed wake-timeout exception carrying attempt count and waited time. release-1.2.0-rc.1 · Oct 2026 · source · release history
High-Availability Snapshot Storage shipped Supports PostgreSQL-backed snapshot persistence with pooled connections, CAS semantics, and Kubernetes multi-process coordination for HA deployments. 1 release · 1 other source · first seen Sep 2026

Also counts toward: Command-line interface

release

  • Adds opt-in PostgreSQL snapshot store with pooled connections and CAS semantics, plus the one-shot migrate-snapshots command for moving existing SQLite records, and multi-process HA coordination for snapshot create/recovery/delete on Kubernetes. release-1.1.0 · Sep 2026 · source · release history

example

  • Enable the PostgreSQL snapshot store for HA multi-process deployments and migrate existing SQLite records in one shot. migrate-snapshots release-1.1.0 · Sep 2026 · source
Egress MITM Extension shipped Allows appending additional TCP ports to the egress sidecar's transparent HTTPS interception list beyond standard 80/443. 1 release · 1 other source · first seen Jul 2026

release

  • Experimental OPENSANDBOX_EGRESS_MITMPROXY_EXTRA_PORTS env var appends extra TCP ports to the always-on 80/443 interception list (multiport cap of 15) for the egress transparent MITM. server/v0.2.3 · Aug 2026 · source · release history

example

  • Intercept and log traffic on a non-standard port (e.g. 8443 or 9000) alongside the default 80/443 — useful when sandbox workloads communicate with internal services on custom TLS ports. OPENSANDBOX_EGRESS_MITMPROXY_EXTRA_PORTS=8443,9000 docker run opensandbox/egress:v1.1.5 docker/egress/v1.1.5 · Jul 2026 · source
Idle Worker Session Recovery shipped Allows recovering a session handle from an idle worker without requiring a full reconnection. 2 other sources · first seen Jul 2026

example

  • Attach to an existing session using the SDK after a worker restart session = sandbox_sdk.attach('<sessionId>') state = session.SessionState print(state.creation_params) docker/execd/v1.0.22 · Aug 2026 · source
  • Recover a session handle from an idle worker without reconnecting isolation.attach('<existing_session_id>') java/sandbox/v1.0.17 · Jul 2026 · source
Multi-Tenant Session Sharing shipped Enables multiple clients to connect to a single session using viewer-mode PTY endpoints, allowing shared access alongside the exclusive session holder. 1 release · 1 other source · first seen Aug 2026

release

  • PTY endpoints support ?mode=viewer to allow multiple clients to watch a live session alongside the exclusive holder docker/execd/v1.0.22 · Aug 2026 · source · release history

example

  • Watch a PTY session without taking exclusive control curl -N "https://opensandbox/api/pty/<sessionId>?mode=viewer" docker/execd/v1.0.22 · Aug 2026 · source
Egress Header Management shipped Generates and propagates authentication headers for egress traffic at the sandbox level. 2 releases · first seen Mar 2026

release

  • SDK now sends host intranet IPv4 as OPEN-SANDBOX-CLIENT-IP header on outbound requests; detection is cached and respects user-provided values. python/sandbox/v0.1.15 · Jul 2026 · source · release history
  • Per-sandbox egress auth header generation is now supported, propagating headers through lifecycle endpoint responses. server/v0.1.8 · Mar 2026 · source · release history
One-Shot Isolation Flows shipped Provides a one-shot API for creating, running, and automatically deleting isolated sessions in a single flow. 2 releases · first seen Jul 2026

release

  • sandbox.isolation.run_once() API for one-shot create → run → delete flows python/sandbox/v0.1.14 · Jul 2026 · source · release history
  • The IsolationService interface now declares runOnce and withSession as default methods java/sandbox/v1.0.16 · Jul 2026 · source · release history
Directory Traversal API shipped Provides depth-controlled directory traversal and file type information within sandbox environments. 1 release · 1 other source · first seen Jul 2026

release

  • Adds execd directory API with depth-controlled traversal (depth) and FileInfo.type field for symlinks js/sandbox/v0.1.10 · Jul 2026 · source · release history

example

  • Scan directory structure in a sandbox without following symlinks. curl -s 'http://localhost:8080/execd/directory?path=/app/src&depth=1' | jq '.[].type' js/sandbox/v0.1.10 · Jul 2026 · source
Activity Observation Suppression shipped Provides a sentinel request header that suppresses a single activity observation for a sandbox, stripped automatically at both gateway and proxy hops. 1 release · first seen Oct 2026

release

  • Adds OpenSandbox-Skip-Activity sentinel header that suppresses one activity observation and is stripped on both gateway and proxy hops. release-1.2.0 · Oct 2026 · source · release history
Podman Network Mode Pass-Through shipped Passes podman-specific network modes (pasta, slirp4netns, none) through to sandbox containers, while rejecting networkPolicy modes that require a bridge interface. 1 release · first seen Oct 2026

release

  • Passes through podman pasta, slirp4netns, and none network modes (with networkPolicy rejected, since there is no bridge to attach to). release-1.2.0 · Oct 2026 · source · release history
BatchSandbox Restart Policy Control shipped BatchSandbox pods default to a non-restarting policy, requiring explicit restart policy configuration in the pod template to preserve automatic restart behavior. 1 release · first seen Oct 2026

release

  • BatchSandbox pods now default to restartPolicy: Never; any workload relying on the previous implicit restart behavior must set an explicit restartPolicy in the pod template to preserve it. release-1.2.0-rc.1 · Oct 2026 · source · release history
Identity-Bound File Operations shipped Enables executing filesystem operations within sandbox environments using explicit Linux UID/GID credentials per request. 1 release · first seen Oct 2026

Also counts toward: Python scripting support, REST API, Scripting language support, Client SDKs

release

  • Adds identity-bound filesystem operations via /v1/filesystem/{uid}/{gid} execd routes — backed by a per-request worker running with explicit Linux UID/GID credentials — exposed as files_with_identity (Python), filesWithIdentity (JavaScript, Kotlin, Go, C#) across all five SDKs.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ release-1.1.1 · Oct 2026 · source · release history
Kubernetes Backend TLS Configuration shipped Allows configuring TLS verification settings for Kubernetes backend connections to handle certificate mismatches in multi-tenant deployments. 1 release · first seen Oct 2026

release

  • Adds kubernetes.insecure_skip_tls_verify config key for ServiceAccount CA mismatches in Kubernetes multi-tenant deployments. release-1.1.1 · Oct 2026 · source · release history
Runtime Environment Variable Injection shipped Allows injecting persistent environment variables into a running sandbox at runtime without restarting it. 1 release · first seen Oct 2026

Also counts toward: Python scripting support, Scripting language support, Client SDKs

release

  • Adds commands.setEnv across all five sandbox SDKs (Python async/sync, JavaScript, Kotlin/Java, Go, C#) for persistent runtime environment variable injection, appending KEY=VALUE to the sandbox env file at runtime. release-1.1.1 · Oct 2026 · source · release history
Sandbox Template Management shipped Provides capabilities for creating, listing, retrieving, and deleting sandbox templates to standardize sandbox configurations. 1 release · first seen Sep 2026

Also counts toward: Command-line interface

release

  • Adds osb template create|get|list|delete and osb snapshot ... CLI subcommands, plus --template and --snapshot-id flags on sandbox create, for template and snapshot management. release-1.1.1-rc.1 · Sep 2026 · source · release history
Secure Sandbox Identity Injection shipped suggested Injects server-side sandbox identifiers to prevent egress sidecar telemetry spoofing. 1 release · first seen Sep 2026

Suggested capability: Security baseline enforcement. This is our guess, not confirmed.

release

  • Injects OPENSANDBOX_EGRESS_SANDBOX_ID server-side so egress sidecar telemetry can no longer be spoofed by request environment variables. release-1.1.0 · Sep 2026 · source · release history
Pool Warmup Tracing shipped Enables OpenTelemetry tracing for the sandbox pool warmup phase to provide visibility into resource acquisition timing and behavior. 1 release · first seen Aug 2026

release

  • Adds ConnectionConfig.enableTracing(true) to enable OpenTelemetry tracing for pool warmup phases. java/sandbox/v1.0.19 · Aug 2026 · source · release history
Egress Telemetry Integration shipped Integrates egress-sidecar logging with the main sandbox log sink and provides specific Prometheus counters for DNS resolution and nftables update failures to aid in observability. 1 release · first seen Aug 2026

release

  • egress.dns.query.failed_total{reason} Prometheus counter for DNS resolution failures (values: no_upstreams, upstream_error, empty_response, rcode) docker/egress/v1.1.6 · Aug 2026 · source · release history
Trusted Proxy CIDR Configuration shipped suggested Allows configuring a trusted proxy CIDR list to validate TLS termination traffic in front of the egress sidecar. 1 other source · first seen Jul 2026

Suggested capability: Security baseline enforcement. This is our guess, not confirmed.

example

  • Set the trusted proxy CIDR list so TLS termination in front of the sidecar passes validation. export OPENSANDBOX_EGRESS_CREDENTIAL_VAULT_TRUSTED_PROXY_CIDRS='10.0.0.0/8,172.16.0.0/12' docker/egress/v1.1.4 · Jul 2026 · source
Custom Traffic Analysis Addons shipped Allows loading custom analysis addons to inspect or modify incoming and outgoing sandbox traffic. 1 other source · first seen Jun 2026

Also counts toward: Plugin system

example

  • Load custom analysis addons for both incoming and outgoing traffic in your sandbox environment. export OPENSANDBOX_EGRESS_MITMPROXY_SCRIPT='/scripts/login.py,/scripts/analytics.py' docker/egress/v1.1.3 · Jun 2026 · source
Replace Content Feedback shipped Returns per-file replaced counts and match detection details for file replacement operations. 1 release · first seen Jun 2026

release

  • Adds replacedCount field to POST /files/replace response for match detection docker/execd/v1.0.19 · Jun 2026 · source · release history
Egress Rule Deletion Management shipped Allows removing existing egress allow/deny rules from a sandbox instance via API endpoints. 1 release · first seen Jun 2026

Also counts toward: REST API

release

  • Adds the DELETE /policy HTTP endpoint to remove egress rules by accepting a JSON array of target strings docker/egress/v1.0.13 · Jun 2026 · source · release history
Multi-Namespace Ingress shipped Allows the cyber tool to watch and manage sandbox resources across multiple Kubernetes namespaces. 1 release · first seen May 2026

release

  • Multi-namespace support: ingress now watches sandbox CRs across all namespaces instead of a single one (with --namespace deprecated) docker/ingress/v1.0.7 · May 2026 · source · release history
Websocket PTY Support shipped Provides pseudo-terminal access over websockets for enhanced terminal session capabilities. 1 release · first seen Apr 2026

release

  • Adds websocket PTY support for terminal sessions docker/execd/v1.0.10 · Apr 2026 · source · release history
Bidirectional WebSocket Proxy shipped Enables bidirectional sandbox communication through a WebSocket-based server proxy. 1 release · first seen Mar 2026

release

  • Adds server proxy by websocket to enable bidirectional sandbox communication. server/v0.1.9 · Mar 2026 · source · release history

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Command line

20 commands for OpenSandbox, each with where it came from. This tool has no source analysis yet, so there is no option reference and no captured run beside them.

Source

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for OpenSandbox, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail OpenSandbox puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

Show

131 entries

  1. October 20263
  2. September 20262
  3. August 20269
  4. July 202616
  5. June 202626
  6. May 202616
  7. April 202615
  8. March 202618
  9. February 202612
  10. January 202614
    Show

    131 entries

    Project health

    Issue, contributor and maintainer activity in opensandbox-group/OpenSandbox, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 156 +156 vs prior 12 months
    2. Maintainers 14 +16 joined · −2 left, last 12 months
    3. Bus factor 4 committers behind half the commits
    4. Community-filed 76% of issues opened, last 12 months
    5. Median time to close 4.4 days first maintainer reply 3.8 days
    6. Open backlog 73 of 459 issues ever filed
    1. Issues opened / month 26 · 15 communitymaintainers
    2. Open backlog 73
    3. Contributors / month 45
    4. Commits / month 362
    5. Stars 15,335
    Issue themes, last 12 months
    • bugs 6%
    • features 9%
    • questions 0%
    • docs 1%
    • other 84%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →