{
 "features_resolved": {
  "snapshot_any": true,
  "snapshot_mem": false,
  "fork": true,
  "pause_resume": false,
  "persistent_disk": false,
  "whole_disk": null,
  "persist_scope": null,
  "volumes": false,
  "auto_stop_idle": false,
  "long_sessions": true,
  "custom_image": true,
  "image_snapshot": true,
  "image_oci": false,
  "vm_isolation": true,
  "docker_inside": false,
  "nested_virt": false,
  "root": false,
  "systemd": null,
  "browser": false,
  "desktop": false,
  "computer_use": false,
  "code_interpreter": null,
  "browser_control": null,
  "desktop_control": null,
  "browser_and_desktop": false,
  "anti_bot": false,
  "captcha_solving": false,
  "residential_ip": false,
  "agent_harnesses": false,
  "ssh": false,
  "public_ipv4": false,
  "inbound_https": true,
  "custom_domain": null,
  "raw_tcp_inbound": null,
  "egress_allowlist": false,
  "open_internet": true,
  "static_egress_ip": false,
  "private_network": null,
  "self_host": false,
  "byoc": false,
  "open_source": false,
  "soc2": false,
  "hipaa": false,
  "sso": false,
  "gpu": false,
  "arm64": false,
  "windows": false,
  "macos": false,
  "lang_python": true,
  "lang_node": true,
  "lang_go": null,
  "lang_rust": null,
  "lang_java": null,
  "gpu_desktop": null,
  "credential_injection": null,
  "egress_http_rules": false,
  "wake_on_request": false,
  "live_resize": false,
  "fork_running": true,
  "memory_snapshot_fork": false,
  "webhooks": null,
  "scheduled_wakeups": null,
  "audit_logs": null,
  "eu_data_residency": true,
  "zero_data_retention": null,
  "scoped_api_keys": null,
  "spend_limits": null,
  "mcp_server": true,
  "usage_api": false,
  "snapshot_auto": false,
  "snapshot_on_demand": true,
  "harness_api": false,
  "own_agent_api": false,
  "fast_boot": null,
  "strong_isolation": true,
  "ingress_rules": true,
  "guest_firewall": false,
  "secret_proxy": false,
  "secret_proxy_any": false,
  "volume_attach": false,
  "volume_shared": false,
  "sidecar": null,
  "fuse": null,
  "kernel_features": true,
  "burst": null
 },
 "company": {
  "id": "sandbox-as-a-service",
  "checked": "2026-09-30",
  "company": "productivity-boost.com Betriebs UG (haftungsbeschränkt) & Co. KG",
  "ownership": {
   "value": "bootstrapped",
   "parent": null,
   "source": "https://sandbox-as-a-service.com/imprint",
   "quote": "productivity-boost.com Betriebs UG (haftungsbeschränkt) & Co. KG, Reichenbergerstr. 2, 94036 Passau, Germany. Represented by Florian Standhartinger."
  },
  "stage": {
   "value": "bootstrapped",
   "source": "https://sandbox-as-a-service.com/imprint",
   "quote": "productivity-boost.com Betriebs UG (haftungsbeschränkt) & Co. KG ... Represented by Florian Standhartinger",
   "confidence": "medium",
   "note": "Site is run by a small German 'UG (haftungsbeschränkt) & Co. KG' (a micro-capital private company form) with a single named founder/representative in Passau, Germany; no press, Crunchbase/Tracxn profile, accelerator mention, or investor names were found anywhere. Treated as an independent, self-funded/bootstrapped small operation rather than a VC-backed startup."
  },
  "accelerators": [],
  "total_funding_usd": {
   "value": null,
   "status": "unknown"
  },
  "last_round": {
   "type": null,
   "amount_usd": null,
   "date": null,
   "leads": [],
   "status": "unknown",
   "source": "",
   "quote": ""
  },
  "investors": [],
  "portfolio_listings": [],
  "revenue": {
   "value": null,
   "status": "unknown"
  },
  "employees": {
   "value": null,
   "source": "https://sandbox-as-a-service.com/imprint"
  },
  "note": "Appears to be a small, single-founder (Florian Standhartinger) bootstrapped German company (legal form: UG haftungsbeschränkt & Co. KG, based in Passau) rather than a venture-backed startup. No evidence of accelerator participation, funding rounds, investors, or disclosed revenue was found in a 15-minute search (DuckDuckGo queries for name + 'raises'/'seed'/'funding'/'Y Combinator'/'ARR' returned no relevant results, and the site itself is a thin product page with pricing/docs/security/privacy/imprint pages only)."
 },
 "id": "sandbox-as-a-service",
 "name": "Sandbox as a Service",
 "url": "https://sandbox-as-a-service.com/pricing",
 "category": "agent-sandbox",
 "isolation": "vm",
 "modes": [
  {
   "key": "on-demand",
   "label": "On-demand",
   "flags": [],
   "os": [
    "linux"
   ],
   "regions": null,
   "gpu_only": false,
   "features": {
    "isolation": "vm"
   },
   "pricing": "sizes",
   "vcpu_h": null,
   "ram_gib_h": null,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": null,
   "min_vcpu": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes": [
    {
     "name": "small",
     "vcpu": 2,
     "ram_gib": 4,
     "disk_gib": 40,
     "hour": 0.09,
     "month_cap": null
    },
    {
     "name": "medium",
     "vcpu": 4,
     "ram_gib": 8,
     "disk_gib": 80,
     "hour": 0.28,
     "month_cap": null
    },
    {
     "name": "large",
     "vcpu": 8,
     "ram_gib": 16,
     "disk_gib": 160,
     "hour": 0.55,
     "month_cap": null
    }
   ],
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 0,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": 0,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "note": ""
  }
 ],
 "storage": {
  "included_disk_gib": null,
  "disk_gib_month": null,
  "disk_billed_when_stopped": null,
  "snapshot_gib_month": null,
  "paused_ram_billed": null
 },
 "network": {
  "egress_free_gib": null,
  "egress_gib": 0,
  "ipv4_month": null,
  "ipv4_available": null,
  "outbound_smtp": false,
  "internet": {
   "default": "full"
  }
 },
 "plans": [
  {
   "name": "Prepaid",
   "fee": 0,
   "flags": [],
   "fee_is_credit": false,
   "included_usd": null,
   "per_seat": null,
   "concurrency": 20,
   "max_session_h": 24,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes_allowed": null,
   "note": "Unknown limits are not promises of unlimited capacity."
  }
 ],
 "free": {
  "monthly_credit": null,
  "one_time_credit": 5,
  "conditions": "No credit card required; credits do not expire."
 },
 "features": {
  "linux": true,
  "windows": false,
  "macos": false,
  "arm64": false,
  "gpu": false,
  "snapshot": "fs",
  "pause_resume": false,
  "fork": true,
  "persistent_disk": false,
  "volumes": null,
  "auto_stop_idle": false,
  "max_session_h": 24,
  "custom_image": null,
  "docker_inside": false,
  "nested_virt": false,
  "root": false,
  "systemd": null,
  "browser": false,
  "desktop": false,
  "computer_use": false,
  "code_interpreter": null,
  "agent_harnesses": false,
  "ssh": false,
  "public_ipv4": false,
  "inbound_https": true,
  "custom_domain": null,
  "raw_tcp_inbound": null,
  "egress_allowlist": false,
  "static_egress_ip": false,
  "private_network": null,
  "self_host": false,
  "byoc": false,
  "open_source": false,
  "soc2": false,
  "hipaa": false,
  "sso": false,
  "gpu_types": [],
  "regions": [
   "eu"
  ],
  "lang_python": true,
  "lang_node": true,
  "lang_go": null,
  "lang_rust": null,
  "lang_java": null,
  "gpu_desktop": null,
  "credential_injection": null,
  "egress_http_rules": false,
  "wake_on_request": false,
  "live_resize": false,
  "fork_running": true,
  "memory_snapshot_fork": false,
  "webhooks": null,
  "scheduled_wakeups": null,
  "audit_logs": null,
  "eu_data_residency": true,
  "zero_data_retention": null,
  "scoped_api_keys": null,
  "spend_limits": null,
  "mcp_server": true,
  "isolation": "vm",
  "image_oci": false,
  "snapshot_auto": false,
  "snapshot_on_demand": true,
  "harness_api": false,
  "ingress_rules": true,
  "guest_firewall": false,
  "secret_proxy": false,
  "volume_attach": false,
  "volume_shared": false,
  "anti_bot": false,
  "captcha_solving": false,
  "egress_ip_type": "datacenter",
  "own_agent_api": false,
  "open_internet": true,
  "usage_api": false
 },
 "perf": {
  "cpu_runs_s": null,
  "cold_start_ms": null,
  "burst_tti_ms": null,
  "dax_s": null
 },
 "knobs": [],
 "caveats": [
  "Public list rates. Dedicated disposable Linux VMs, prepaid balance. Ready-to-destroy runtime only; provisioning time excluded. No rounding or minimum runtime; credits do not expire.",
  "Features set to null were not verified. No sandbox was purchased or tested; feature/performance statements are documentation claims. Null maximums are unknown unless a cited note explicitly states unlimited.",
  "Egress is free (docs/billing, Not billed: \"API requests, executions, output bytes, network transfer and API keys — all free.\", checked 2026-10-14). Snapshot storage is billed at an unpublished rate (docs/sandboxes: \"Delete one early with DELETE /v1/snapshots/{id} — it stops storage billing immediately.\"); snapshots are kept 7 days, max 3 per account, so snapshot cost is unknown, not free.",
  "Limits: default sandbox lifetime 15 min (max 1,440); command timeout 60 s default, 600 s max; 10 active API keys. Prepaid only: never billed beyond purchased credit and no automatic card charges; when the balance is empty running sandboxes are stopped and new creation is blocked.",
  "Start latency is vendor-published, not independently benchmarked (docs/limits, measured 23 Aug 2026, small size, checked 2026-10-14): warm ~1 s, but \"The pool currently holds one machine.\" so only one small create at a time is warm; standard ~24–47 s (\"Standard path, 33 creates: fastest 23.6 s, median 30.6 s, ninetieth percentile 40.4 s, slowest 46.9 s.\"); fallback ~160 s. Other sizes and snapshot restores always take the standard path. Provisioning time is not billed."
 ],
 "sources": [
  "https://sandbox-as-a-service.com/pricing",
  "https://sandbox-as-a-service.com/llms.txt",
  "https://sandbox-as-a-service.com/docs/billing",
  "https://sandbox-as-a-service.com/docs/sandboxes",
  "https://sandbox-as-a-service.com/docs/limits"
 ],
 "fleet": {
  "default_max_instances": 20,
  "default_max_vcpu": null,
  "default_max_gpus": null,
  "raise": "ticket",
  "raise_time_days": null,
  "verification": "Google signup and introductory runtime credit without card; paid credit via Stripe afterwards.",
  "tiers": "20 provisioning+running sandboxes per account; request larger account limit.",
  "notes": "10 fits default; 50/300/1,000 require approval with unspecified timing. Maximum lifetime 1,440 minutes; insufficient prepaid balance stops usage. Rate limits: 40 sandbox creations/min per account, 120 API requests/min per account, 300 requests/min per source IP.",
  "sources": [
   "https://sandbox-as-a-service.com/pricing"
  ],
  "researched": "2026-09-28"
 },
 "audit_2026_09_29": {
  "applied": 2,
  "source": "checked against the provider's live pricing and docs pages",
  "reviewed": 3
 },
 "feature_evidence": {
  "snapshot_auto": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/docs/sandboxes",
   "quote": "There is no persistent volume. When a sandbox is destroyed — by you, by expiry, or because your balance hit zero — the machine and its disk are destroyed with it.",
   "note": "No stop/pause state; timeout destroys the VM. Security page: 'Sandbox contents are not backed up and not recoverable.'",
   "checked": "2026-09-29"
  },
  "snapshot_on_demand": {
   "value": true,
   "source": "https://sandbox-as-a-service.com/docs/sandboxes",
   "quote": "A snapshot captures a running sandbox as a full-VM image that can be restored, filesystem included, into a new sandbox later",
   "note": "POST /v1/sandboxes/{id}/snapshots (REST only, not in SDK/MCP yet), no reboot; restore via snapshot_id on POST /v1/sandboxes boots NEW sandboxes (template-style, same size). Filesystem only: 'Processes are not resumed'. Kept 7 days, max 3 per account, one capture in flight; storage billed. New since the 2026-09-28 card (card says snapshot none).",
   "checked": "2026-09-29"
  },
  "harness_api": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/llms.txt",
   "quote": null,
   "note": "API surface is sandboxes, snapshots, exec, files, ports, account/usage (plus an MCP server exposing the same ops as tools for an outside agent). No endpoint to drive an agent harness inside the sandbox; no harnesses preinstalled.",
   "checked": "2026-09-29"
  },
  "egress_allowlist": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/docs/execution",
   "quote": "Outbound internet is open, so package registries and git remotes work. The cloud metadata endpoint is blocked for the sandbox user, and outbound SMTP (ports 25, 465, 587) is blocked account-wide as an anti-abuse measure.",
   "note": "Only fixed platform blocks (SMTP, metadata, private networks/control plane); create request has no network options (OpenAPI: size, name, timeout_minutes, snapshot_id).",
   "checked": "2026-09-29"
  },
  "egress_http_rules": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/docs/execution",
   "quote": "Outbound internet is open, so package registries and git remotes work.",
   "note": "No egress controls of any kind exposed.",
   "checked": "2026-09-29"
  },
  "ingress_rules": {
   "value": true,
   "source": "https://sandbox-as-a-service.com/docs/ports",
   "quote": "Your machine's firewall is not touched, no port is opened to the internet, and the sandbox's inbound surface stays exactly what it was: nothing.",
   "note": "No inbound ports by default; per-port opt-in preview URLs (POST /v1/sandboxes/{id}/ports, HTTP/WebSocket only, port 22 refused) that 'carr[y] an unguessable token' (160-bit path token) and can be closed (DELETE .../ports/{port}). 'Who can reach it: Anyone with the link.' No IP allowlist or auth header option. Quote from docs/limits: 'No inbound port is opened on a sandbox either'.",
   "checked": "2026-09-29"
  },
  "guest_firewall": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/security",
   "quote": "Your commands run as the unprivileged sandbox user, never as root. That user has no sudo and no access to the control-plane SSH key",
   "note": "Dedicated VM with its own kernel, but customer code has no root/sudo, so it cannot configure nftables/iptables. The platform itself uses in-VM firewall rules (metadata endpoint blocked 'by firewall rules scoped to the sandbox user').",
   "checked": "2026-09-29"
  },
  "secret_proxy": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/docs/execution",
   "quote": "String values only. Keys must match [A-Za-z_][A-Za-z0-9_]*. Applied to this command only.",
   "note": "No secret store or credential proxy; secrets can only be passed as per-exec env vars or written as files, so they enter the sandbox.",
   "checked": "2026-09-29"
  },
  "volume_attach": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/docs/sandboxes",
   "quote": "There is no persistent volume.",
   "note": "Fixed disk per size (40/80/160 GB); persist to your own storage (S3, DB).",
   "checked": "2026-09-29"
  },
  "volume_shared": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/docs/sandboxes",
   "quote": "There is no persistent volume.",
   "note": null,
   "checked": "2026-09-29"
  },
  "image_oci": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/openapi.json",
   "quote": "size: {type: string, enum: [small, medium, large], default: small}... snapshot_id: Restore this snapshot into a new sandbox instead of booting a fresh one.",
   "note": "Create sandbox only accepts size/name/timeout_minutes/snapshot_id; every machine boots from the platform's prepared Ubuntu 24.04 image or a previously captured snapshot of one of your own sandboxes. No custom Docker/OCI image can be supplied.",
   "checked": "2026-09-30"
  },
  "docker_inside": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/security",
   "quote": "Your commands run as the unprivileged sandbox user, never as root. That user has no sudo and no access to the control-plane SSH key",
   "note": "derived: no root/sudo and no mention of a Docker daemon or container runtime in the pre-installed software list (Python, Node, git, curl, wget, jq, unzip, build-essential, ca-certificates, gnupg).",
   "checked": "2026-09-30"
  },
  "nested_virt": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/security",
   "quote": "Your commands run as the unprivileged sandbox user, never as root.",
   "note": "derived: no root access and no mention of /dev/kvm or nested virtualization anywhere in the docs.",
   "checked": "2026-09-30"
  },
  "desktop": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/llms.txt",
   "quote": "Secure, disposable cloud sandboxes for AI agents and code execution. Each sandbox is a dedicated virtual machine, created with one API call and destroyed when you are done.",
   "note": "not offered: outside the product's scope (headless code-execution VM; no VNC/RDP/desktop stream)",
   "checked": "2026-09-30"
  },
  "browser": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/llms.txt",
   "quote": "Pre-installed in every sandbox: Python 3.12 (with requests, numpy, pandas), Node.js 22, git, curl, wget, jq, unzip, gnupg, build-essential.",
   "note": "not offered: outside the product's scope (no browser in the pre-installed software list; no browser automation API)",
   "checked": "2026-09-30"
  },
  "computer_use": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/llms.txt",
   "quote": "Secure, disposable cloud sandboxes for AI agents and code execution.",
   "note": "not offered: outside the product's scope (headless code-exec sandbox, no screenshot/click API)",
   "checked": "2026-09-30"
  },
  "anti_bot": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/pricing",
   "quote": "Secure, disposable cloud sandboxes for AI agents and code execution.",
   "note": "not offered: outside the product's scope (plain code-exec VM, no browser/stealth features)",
   "checked": "2026-09-30"
  },
  "captcha_solving": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/pricing",
   "quote": "Secure, disposable cloud sandboxes for AI agents and code execution.",
   "note": "not offered: outside the product's scope (no browser present, so no CAPTCHA solving)",
   "checked": "2026-09-30"
  },
  "egress_ip_type": {
   "value": "datacenter",
   "source": "https://sandbox-as-a-service.com/docs/execution",
   "quote": "Outbound internet is open, so package registries and git remotes work.",
   "note": "Ordinary cloud-VM outbound networking from the provider's own German data centre; no residential/mobile IP product is mentioned anywhere.",
   "checked": "2026-09-30"
  },
  "ssh": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/security",
   "quote": "SSH is locked down: password authentication is disabled, root login is key-only, and the sandbox user is explicitly denied SSH access. Only the control plane can log in, with a key.",
   "note": "Customers interact only via REST/SDK/MCP exec calls; there is no customer SSH access, and port 22 cannot even be exposed via a preview URL.",
   "checked": "2026-09-30"
  },
  "fork": {
   "value": true,
   "source": "https://sandbox-as-a-service.com/docs/sandboxes",
   "quote": "A snapshot captures a running sandbox as a full-VM image that can be restored, filesystem included, into a new sandbox later",
   "note": "No dedicated 'fork' endpoint, but snapshot+restore clones a sandbox's filesystem state into a brand-new sandbox, which is the platform's fork mechanism.",
   "checked": "2026-09-30"
  },
  "fork_running": {
   "value": true,
   "source": "https://sandbox-as-a-service.com/docs/sandboxes",
   "quote": "Capture. The sandbox keeps running throughout; the call returns 202 at once. ... The source sandbox must stay alive until the snapshot is available.",
   "note": "The source sandbox is not stopped during capture, and a new sandbox can then be booted from that snapshot while the original keeps running — a two-step live fork rather than a single clone call.",
   "checked": "2026-09-30"
  },
  "memory_snapshot_fork": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/docs/sandboxes",
   "quote": "Restores filesystem state. ... Processes are not resumed: the restored machine starts with nothing running, exactly as a rebooted machine would.",
   "note": "Filesystem-only clone; no running-process/memory state is carried into the fork.",
   "checked": "2026-09-30"
  },
  "pause_resume": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/docs/sandboxes",
   "quote": "There is no persistent volume. When a sandbox is destroyed — by you, by expiry, or because your balance hit zero — the machine and its disk are destroyed with it.",
   "note": "No pause state exists in the sandbox lifecycle (provisioning/running/deleting/deleted/failed); only create/destroy and snapshot/restore.",
   "checked": "2026-09-30"
  },
  "wake_on_request": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/docs/sandboxes",
   "quote": "Statuses only move forward. Nothing returns from deleted or failed to running — create a new sandbox instead.",
   "note": "No sleeping/stopped machine concept that wakes on an incoming request; a destroyed sandbox must be recreated via the API.",
   "checked": "2026-09-30"
  },
  "auto_stop_idle": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/docs/limits",
   "quote": "Default sandbox lifetime 15 minutes automatic teardown ... Every sandbox has an expires_at. A sweeper runs every minute and destroys sandboxes past it.",
   "note": "Teardown is a fixed timeout timer (timeout_minutes / expires_at), not activity/idle-based detection.",
   "checked": "2026-09-30"
  },
  "live_resize": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/docs/sandboxes",
   "quote": "Size is fixed for the life of a sandbox; there is no resize.",
   "note": null,
   "checked": "2026-09-30"
  },
  "agent_harnesses": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/llms.txt",
   "quote": "Pre-installed in every sandbox: Python 3.12 (with requests, numpy, pandas), Node.js 22, git, curl, wget, jq, unzip, gnupg, build-essential.",
   "note": "No coding-agent harness (Claude Code, Codex, OpenCode, etc.) is preinstalled or offered as a template.",
   "checked": "2026-09-30"
  },
  "own_agent_api": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/llms.txt",
   "quote": "What it does - Create an isolated sandbox VM ... Run a shell command ... Write a file ... Expose a port ...",
   "note": "not offered: outside the product's scope. The API surface is raw infra ops (create/exec/files/ports/snapshots); there is no first-party browser/computer-use/research task agent.",
   "checked": "2026-09-30"
  },
  "mcp_server": {
   "value": true,
   "source": "https://sandbox-as-a-service.com/llms.txt",
   "quote": "An MCP server exposes the same operations as agent tools. Remote (Streamable HTTP, no install): https://sandbox-as-a-service.com/v1/mcp",
   "note": null,
   "checked": "2026-09-30"
  },
  "lang_python": {
   "value": true,
   "source": "https://sandbox-as-a-service.com/llms.txt",
   "quote": "Python 3.12 (with requests, numpy, pandas)",
   "note": null,
   "checked": "2026-09-30"
  },
  "lang_node": {
   "value": true,
   "source": "https://sandbox-as-a-service.com/llms.txt",
   "quote": "Node.js 22",
   "note": null,
   "checked": "2026-09-30"
  },
  "public_ipv4": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/docs/limits",
   "quote": "No inbound port is opened on a sandbox either: a server started inside one binds its own localhost, and the way to reach it from outside is a preview URL, which tunnels the request in rather than exposing the machine.",
   "note": "No public IPv4 per machine; only tokenized HTTPS/WebSocket preview URLs, and port 22 cannot be exposed at all.",
   "checked": "2026-09-30"
  },
  "static_egress_ip": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/docs/execution",
   "quote": "Outbound internet is open, so package registries and git remotes work.",
   "note": "No fixed/static outbound IP feature is mentioned anywhere in the docs, security page or API reference; the create request has no networking options at all.",
   "checked": "2026-09-30"
  },
  "gpu": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/pricing",
   "quote": "small: 2 vCPU, 4 GB RAM, 40 GB disk — $0.09/hour; medium: 4 vCPU, 8 GB RAM, 80 GB disk — $0.28/hour; large: 8 vCPU, 16 GB RAM, 160 GB disk — $0.55/hour",
   "note": "not offered: only the three fixed CPU sizes exist; no GPU size or pricing anywhere.",
   "checked": "2026-09-30"
  },
  "windows": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/docs/execution",
   "quote": "Because there is no sudo, install into user space or a virtualenv. This is Ubuntu 24.04, so the...",
   "note": "not offered: every sandbox is an Ubuntu 24.04 Linux VM; no Windows image option.",
   "checked": "2026-09-30"
  },
  "macos": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/security",
   "quote": "Every sandbox is a dedicated virtual machine with its own kernel, filesystem, memory and network stack.",
   "note": "not offered: outside the product's scope (Linux-only code-exec VM product, Ubuntu 24.04 images)",
   "checked": "2026-09-30"
  },
  "self_host": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/security",
   "quote": "We do not offer a signed data processing agreement with custom terms, dedicated single-tenant infrastructure, or a private deployment today.",
   "note": "not offered: single hosted SaaS run by the vendor in its own German data centre; no on-prem/self-hosted distribution.",
   "checked": "2026-09-30"
  },
  "byoc": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/security",
   "quote": "We do not offer a signed data processing agreement with custom terms, dedicated single-tenant infrastructure, or a private deployment today.",
   "note": "not offered: no deployment into a customer's own cloud account is offered.",
   "checked": "2026-09-30"
  },
  "open_source": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/",
   "quote": "Sandbox as a Service: disposable, isolated cloud sandboxes for AI agents and code execution, with a REST API and an MCP server.",
   "note": "No open-source repository for the core platform is referenced anywhere on the site (only client SDKs are published to PyPI/npm).",
   "checked": "2026-09-30"
  },
  "soc2": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/security",
   "quote": "We hold no SOC 2 report, no ISO 27001 certification, no PCI DSS attestation of our own (card data is Stripe's scope, not ours) and no HIPAA compliance programme.",
   "note": null,
   "checked": "2026-09-30"
  },
  "hipaa": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/security",
   "quote": "We hold no SOC 2 report, no ISO 27001 certification, no PCI DSS attestation of our own (card data is Stripe's scope, not ours) and no HIPAA compliance programme. Do not use this service for protected health information.",
   "note": null,
   "checked": "2026-09-30"
  },
  "sso": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/privacy",
   "quote": "The only way to create an account is to sign in with Google. From that sign-in we receive and store your Google account identifier, your email address, your display name and the URL of your Google profile picture.",
   "note": "Account creation is Google sign-in only; no SAML/OIDC enterprise SSO option is offered.",
   "checked": "2026-09-30"
  },
  "eu_data_residency": {
   "value": true,
   "source": "https://sandbox-as-a-service.com/privacy",
   "quote": "The control plane and the sandbox machines currently run in a data centre in Germany.",
   "note": "Single region, and that region is in the EU, so all machines/data are inherently EU-resident (no region selection needed/offered).",
   "checked": "2026-09-30"
  },
  "max_session_h": {
   "value": 24,
   "source": "https://sandbox-as-a-service.com/docs/limits",
   "quote": "Maximum sandbox lifetime 1440 minutes after creation hard cap, extension included",
   "note": "1440 minutes = 24 hours, an absolute ceiling regardless of extensions.",
   "checked": "2026-09-30"
  },
  "arm64": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/pricing",
   "quote": "small: 2 vCPU, 4 GB RAM, 40 GB disk — $0.09/hour; medium: 4 vCPU, 8 GB RAM, 80 GB disk — $0.28/hour; large: 8 vCPU, 16 GB RAM, 160 GB disk — $0.55/hour",
   "note": "not offered: the product only exposes three fixed VM sizes (small/medium/large) with no CPU architecture selector anywhere in the pricing, docs, limits, or API reference; no mention of ARM/arm64 on any official page.",
   "checked": "2026-09-30"
  },
  "snapshot": {
   "value": "fs",
   "source": "https://sandbox-as-a-service.com/docs/sandboxes",
   "quote": "A snapshot captures a running sandbox as a full-VM image that can be restored, filesystem included, into a new sandbox later ... Processes are not resumed: the restored machine starts with nothing running, exactly as a rebooted machine would.",
   "note": "On-demand only (no snapshot_auto). Restores disk/filesystem into a NEW sandbox; running processes/memory are not carried over, so this is filesystem-level snapshotting, not memory snapshotting -> 'fs'.",
   "checked": "2026-09-30"
  },
  "persistent_disk": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/docs/sandboxes",
   "quote": "There is no persistent volume. When a sandbox is destroyed — by you, by expiry, or because your balance hit zero — the machine and its disk are destroyed with it.",
   "note": "No stop/start with disk retained; the disk dies with the sandbox on any expiry/destroy. The only way to keep filesystem state across sandboxes is an explicit on-demand snapshot restored into a brand-new sandbox, which is not the same machine's disk persisting through a stop/start, so persistent_disk=false is correct.",
   "checked": "2026-09-30"
  },
  "root": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/security",
   "quote": "Your commands run as the unprivileged sandbox user, never as root. That user has no sudo and no access to the control-plane SSH key; /root and /root/.ssh are mode 700.",
   "note": "Confirmed: customer code always executes as an unprivileged, non-sudo user; root login over SSH is also disallowed for the sandbox user (\"root login is key-only, and the sandbox user is explicitly denied SSH access\"). root=false is correct.",
   "checked": "2026-09-30"
  },
  "usage_api": {
   "value": false,
   "source": "https://sandbox-as-a-service.com/openapi.json",
   "quote": "GET /usage: usage_summary returns object, period_days, balance_usd, spent_usd, added_usd, sandboxes_created, runtime_minutes. Billing documentation confirms this is account-wide aggregate data only, with no per-sandbox, per-tag, or per-project breakdown.",
   "note": "granularity: account-only; cost: yes; The REST API has a GET /usage endpoint that returns billable spend (spent_usd) and runtime minutes, but only for the entire account across all sandboxes. There is no way to query usage per individual sandbox, by tag/label/metadata, or by project. The docs show: 'Spend and runtime over the last 30 days' with aggregate totals only. The Sandbox object schema does not include usage fields, and create/fetch requests provide no way to set tags or metadata. Thus granularity is account-only, not per-sandbox or per-tag.",
   "confidence": "high",
   "checked": "2026-10-01"
  }
 },
 "locations": [
  {
   "country": "DE",
   "state": null,
   "city": null,
   "provider_region": null,
   "self_serve": true,
   "choosable": false
  }
 ],
 "locations_source": "https://sandbox-as-a-service.com/privacy",
 "locations_quote": "The control plane and the sandbox machines currently run in a data centre in Germany.",
 "locations_checked": "2026-10-01"
}