{
 "features_resolved": {
  "snapshot_any": true,
  "snapshot_mem": false,
  "fork": true,
  "pause_resume": true,
  "persistent_disk": true,
  "whole_disk": null,
  "persist_scope": null,
  "volumes": false,
  "auto_stop_idle": true,
  "long_sessions": true,
  "custom_image": true,
  "image_snapshot": true,
  "image_oci": false,
  "vm_isolation": true,
  "docker_inside": true,
  "nested_virt": null,
  "root": true,
  "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": true,
  "ssh": true,
  "public_ipv4": false,
  "inbound_https": true,
  "custom_domain": true,
  "raw_tcp_inbound": true,
  "egress_allowlist": false,
  "open_internet": null,
  "static_egress_ip": false,
  "private_network": null,
  "self_host": false,
  "byoc": false,
  "open_source": false,
  "soc2": true,
  "hipaa": false,
  "sso": true,
  "gpu": false,
  "arm64": false,
  "windows": false,
  "macos": false,
  "lang_python": true,
  "lang_node": true,
  "lang_go": true,
  "lang_rust": null,
  "lang_java": null,
  "gpu_desktop": null,
  "credential_injection": null,
  "egress_http_rules": false,
  "wake_on_request": true,
  "live_resize": true,
  "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": true,
  "secret_proxy": false,
  "secret_proxy_any": false,
  "volume_attach": false,
  "volume_shared": false,
  "sidecar": null,
  "fuse": true,
  "kernel_features": true,
  "burst": null
 },
 "company": {
  "id": "buddy",
  "checked": "2026-09-30",
  "company": "Buddy (Buddy.Works sp. z o.o.)",
  "ownership": {
   "value": "bootstrapped",
   "parent": null,
   "source": "https://getlatka.com/companies/buddy.works",
   "quote": "Buddy Warsaw, Woj. Mazowieckie, Poland buddy.works Other Collaboration Software 2025 Revenue $3.1M (Est.) Team 28 Founded 2015"
  },
  "stage": {
   "value": "bootstrapped",
   "source": "https://getlatka.com/companies/buddy.works",
   "quote": "Data and Sources All figures on this page are taken directly from interviews or are estimates from public sources and proprietary models",
   "confidence": "low",
   "note": "No priced equity round (seed/Series A/etc.) or investor was found for Buddy in press, HN, or aggregator data. GetLatka profiles the company on revenue/team only with no funding section populated, and no TechCrunch/press-release/Crunchbase-visible raise could be located; treated as bootstrapped/self-funded rather than confirmed 'unknown', consistent with its long (2015-founding), small (~28 employee), profitable-looking profile. This is an inference, not a sourced statement of bootstrapped status."
  },
  "accelerators": [],
  "total_funding_usd": {
   "value": null,
   "status": "unknown"
  },
  "last_round": {
   "type": "unknown",
   "amount_usd": null,
   "date": null,
   "leads": [],
   "status": "unknown",
   "source": "",
   "quote": ""
  },
  "investors": [],
  "portfolio_listings": [],
  "revenue": {
   "value_usd": 3080000,
   "kind": "ARR",
   "as_of": "2025",
   "status": "estimated",
   "basis": "GetLatka estimate (aggregator model, not company-confirmed)",
   "source": "https://getlatka.com/companies/buddy.works",
   "quote": "As of 2025, Buddy generated an estimated $3.1M in annual revenue."
  },
  "employees": {
   "value": 28,
   "source": "https://getlatka.com/companies/buddy.works"
  },
  "note": "Buddy (buddy.works), founded 2015, HQ Warsaw, Poland; CEO/founder Simon Szczepankowski. Long-running, small-team (~28 employees per GetLatka, 2025/2026) DevOps/CI-CD platform now adding a 'Sandboxes for AI agents' product (launching Oct 7 2026 per its site). No evidence of any external funding round, accelerator participation, or acquisition was found; the company appears to be an independent, privately held, likely self-funded (bootstrapped) business rather than VC-backed. All funding/stage fields are best-effort inference given absence of data, not confirmed facts — flagged accordingly."
 },
 "id": "buddy",
 "name": "Buddy Sandboxes",
 "url": "https://buddy.works/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": "resource",
   "vcpu_h": 0.0144,
   "ram_gib_h": 0.0144,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": 2,
   "vcpu_options": null,
   "min_vcpu": null,
   "max_vcpu": 12,
   "max_ram_gib": 24,
   "sizes": null,
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": null,
   "granularity_s": 60,
   "start_fee": null,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "note": "buddy.works/pricing (2026-10-14): sandbox extra \"$0.00024 per CPU-minute\" (= $0.0144/vCPU-h) and \"$0.00011 per GB-hour\", shown in USD while plan fees are shown in EUR. RAM is encoded at $0.0144/GB-h from Buddy's own cost estimator on https://buddy.works/sandboxes (2026-10-14), whose formula is machines x hours x (.0144 x CPU + .0144 x RAM GB) and which shows \"Buddy $62\" for its default 2 CPU / 4 GB / 720 h; the same formula ignores its \"CPU working\" slider, so CPU and RAM are billed on allocation. The $0.00011 GB-hour meter is therefore read as disk storage (see storage)."
  }
 ],
 "storage": {
  "included_disk_gib": 0,
  "disk_gib_month": 0.0803,
  "disk_billed_when_stopped": true,
  "snapshot_gib_month": null,
  "paused_ram_billed": null
 },
 "network": {
  "egress_free_gib": null,
  "egress_gib": null,
  "ipv4_month": null,
  "ipv4_available": null
 },
 "plans": [
  {
   "name": "Free",
   "fee": 0,
   "flags": [],
   "fee_is_credit": false,
   "included_usd": 0.15,
   "per_seat": null,
   "concurrency": null,
   "max_session_h": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes_allowed": null,
   "note": "Free: 300 sandbox CPU-minutes + 730 sandbox GB-hours/month included (~$0.15 at the overage rates), per buddy.works/pricing (2026-10-14): \"Free €0 ... 1 concurrents 300 pipeline GB-minutes 1 GB of pipeline cache 300 sandbox CPU-minutes 730 sandbox GB-hours\". Conflicts with the plan docs (see caveats), which say Free has no Sandboxes."
  },
  {
   "name": "Pro (EUR 29/month)",
   "fee": null,
   "flags": [],
   "fee_is_credit": null,
   "included_usd": null,
   "per_seat": 9,
   "concurrency": null,
   "max_session_h": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes_allowed": null,
   "note": "Unknown limits are not promises of unlimited capacity."
  },
  {
   "name": "Hyper (EUR 99/month)",
   "fee": null,
   "flags": [],
   "fee_is_credit": null,
   "included_usd": null,
   "per_seat": 29,
   "concurrency": null,
   "max_session_h": null,
   "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
 },
 "features": {
  "linux": true,
  "windows": false,
  "macos": false,
  "arm64": false,
  "gpu": false,
  "snapshot": "fs",
  "pause_resume": true,
  "fork": true,
  "persistent_disk": true,
  "volumes": null,
  "auto_stop_idle": true,
  "max_session_h": null,
  "custom_image": null,
  "docker_inside": true,
  "nested_virt": null,
  "root": true,
  "systemd": null,
  "browser": false,
  "desktop": false,
  "computer_use": false,
  "code_interpreter": null,
  "agent_harnesses": true,
  "ssh": true,
  "public_ipv4": false,
  "inbound_https": true,
  "custom_domain": true,
  "raw_tcp_inbound": true,
  "egress_allowlist": false,
  "static_egress_ip": false,
  "private_network": null,
  "self_host": false,
  "byoc": false,
  "open_source": false,
  "soc2": true,
  "hipaa": false,
  "sso": true,
  "gpu_types": [],
  "regions": [],
  "lang_python": true,
  "lang_node": true,
  "lang_go": true,
  "lang_rust": null,
  "lang_java": null,
  "gpu_desktop": null,
  "credential_injection": null,
  "egress_http_rules": false,
  "wake_on_request": true,
  "live_resize": true,
  "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": true,
  "secret_proxy": false,
  "volume_attach": false,
  "volume_shared": false,
  "anti_bot": false,
  "captcha_solving": false,
  "own_agent_api": false,
  "max_session_unlimited": true,
  "egress_ip_type": "datacenter",
  "usage_api": false
 },
 "perf": {
  "cpu_runs_s": null,
  "cold_start_ms": null,
  "burst_tti_ms": null,
  "dax_s": null
 },
 "knobs": [],
 "caveats": [
  "Plan fees are EUR (Pro €29, Hyper €99; no USD fee published, so these plans stay fee:null and are never auto-picked); sandbox overage rates are published in USD. Pro includes 7,300 GB-h, Hyper 14,600 GB-h; all plans 300 CPU-min.",
  "Rates: CPU $0.00024/CPU-minute on buddy.works/pricing; RAM $0.0144/GB-h from Buddy's own estimator on buddy.works/sandboxes (not stated as text on the pricing page). The pricing page's \"$0.00011 per GB-hour\" never says whether a GB-hour is RAM or disk; with RAM priced separately by the estimator it is read as disk, so disk_gib_month 0.0803 = $0.00011 x 730 is derived, not published as a per-GB-month price. CPU/RAM billed on allocation (the estimator ignores CPU utilisation).",
  "Buddy sandboxes are being launched (webinar \"Live on October 7th\" 2026); concurrency limits per plan not published.",
  "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.",
  "A complete monthly bill requires known snapshot/egress/plan limits; do not silently treat missing ancillary charges as free.",
  "docker_inside=true per buddy.works/docs/sandboxes/introduction (\"run Docker inside it\"). Isolation \"vm\" is inferred from \"behaves like a virtual machine you own\" + kernel-parameter changes; the underlying hypervisor is not named. Nested virt / desktop not documented (null).",
  "Plan allowances are two separate, non-fungible buckets: only 300 sandbox CPU-minutes (5 CPU-hours) per month on every plan, plus 730/7,300/14,600 sandbox GB-hours (Free/Pro/Hyper). A 2 CPU sandbox exhausts the CPU allowance in 2.5 h.",
  "No sandbox timeout by default: a sandbox keeps running (and billing) until stopped unless a timeout is set; snapshots never expire and are not deleted with their sandbox.",
  "Resources are fixed 2 GB per CPU presets from 1x2 to 12x24 (plus an undocumented 'CUSTOM' option in the API/YAML schema); disk is always 50 GB, not configurable.",
  "Free workspaces are frozen after 60 days without a login and deleted 30 days later.",
  "Conflict (rechecked 2026-10-14): buddy.works/pricing lists \"300 sandbox CPU-minutes 730 sandbox GB-hours\" on Free, but the plan docs (https://buddy.works/docs/basics/billing-and-usage/features, last modified Jul 31, 2026) say \"Free tier gives you access to all the base features of Buddy with only exception being 2FA and Sandboxes.\" and Pro \"has access to most of the features, including Sandboxes\". Prices here use Free (the pricing page). If the docs are right, the cheapest sandbox option is Pro (EUR 29/mo + usage), which the engine cannot price because the fee is EUR-only.",
  "Stopped sandboxes keep billing for disk: \"Compute stops being charged. The disk you keep is billed at the storage rate.\" (buddy.works/sandboxes FAQ, 2026-10-14). Disk is a fixed 50 GB, so on the derived $0.0803/GB-month rate a kept sandbox costs ~$4/month in storage, minus whatever the plan's GB-hour allowance covers."
 ],
 "sources": [
  "https://buddy.works/pricing",
  "https://buddy.works/docs/sandboxes",
  "https://buddy.works/docs/sandboxes/configuration",
  "https://buddy.works/docs/sandboxes/lifecycle",
  "https://buddy.works/docs/sandboxes/snapshots",
  "https://buddy.works/docs/sandboxes/introduction",
  "https://buddy.works/sandboxes",
  "https://buddy.works/docs/basics/billing-and-usage/features"
 ],
 "fleet": {
  "default_max_instances": null,
  "default_max_vcpu": null,
  "default_max_gpus": null,
  "raise": null,
  "raise_time_days": null,
  "verification": "Free signup explicitly says no credit card required.",
  "tiers": null,
  "notes": "Pricing lists \"1 concurrents\" (Free, Pro; \"extra: $50 /mo. per concurrent\") and \"2 concurrents\" (Hyper). Buddy's docs define these as pipeline runners: \"Pipeline concurrency defines how many pipelines can run at the same time. When the number of triggered pipelines is greater that the number of runners in your plan, the subsequent executions get enqueued\" (https://buddy.works/docs/pipelines/concurrency-and-parallelism, 2026-10-14). No sandbox concurrency cap is published; do not map pipeline slots to a VM quota.",
  "sources": [
   "https://buddy.works/pricing",
   "https://buddy.works/docs/pipelines/concurrency-and-parallelism"
  ],
  "researched": "2026-10-14"
 },
 "audit_2026_09_29": {
  "applied": 15,
  "source": "checked against the provider's live pricing and docs pages",
  "reviewed": 6
 },
 "feature_evidence": {
  "snapshot_auto": {
   "value": false,
   "source": "https://buddy.works/docs/sandboxes/introduction.md",
   "quote": "The disk survives. Memory does not - running processes are terminated when the Sandbox stops, and apps are started again when it comes back up.",
   "note": "Stop (manual or inactivity timeout) keeps the 50 GB disk (persistent_disk), but no automatic snapshot/checkpoint is taken and memory is lost. Snapshots are taken by hand, from a pipeline action, or from inside via `this snapshot create`.",
   "checked": "2026-09-29"
  },
  "snapshot_on_demand": {
   "value": true,
   "source": "https://buddy.works/docs/sandboxes/snapshots.md",
   "quote": "A snapshot is a saved state of a Sandbox at a point in time - the filesystem with everything installed and configured in it.",
   "note": "Filesystem only (no memory). UI/CLI/REST/SDK/MCP and from inside the sandbox (`this snapshot create`). 'Run in new sandbox' boots new machines from it ('One snapshot can back any number of Sandboxes'); 'Restore' reverts the source sandbox in place. Snapshots never expire and outlive their sandbox. Separate 'Clone' (copy of a sandbox) also exists.",
   "checked": "2026-09-29"
  },
  "harness_api": {
   "value": false,
   "source": "https://buddy.works/docs/sandboxes/sdk.md",
   "quote": "the full lifecycle: create, clone, start, stop, restart, destroy",
   "note": "SDK/API/CLI cover lifecycle, commands, files, apps, snapshots only. Agents (Claude Code etc.) are preinstalled and started by SSH-ing in and typing `claude` (agent_harnesses). Separate Claude Code / Codex CLI pipeline actions run a prompt in a CI pipeline container, not in the sandbox. Claude Managed Agents integration is a reference repo (github.com/buddy/claude-managed-agents) where Anthropic's API drives the loop, not a Buddy harness API.",
   "checked": "2026-09-29"
  },
  "ingress_rules": {
   "value": true,
   "source": "https://buddy.works/docs/sandboxes/endpoints.md",
   "quote": "Who is allowed through - an IP whitelist on any endpoint, plus Basic auth or Buddy auth on HTTP ones.",
   "note": "Endpoints are tunnels via the in-sandbox bdy agent; nothing exposed unless you add an endpoint (SSH endpoint by default). Per-endpoint IP/CIDR whitelist, Basic auth, Buddy auth (signed-in Buddy users), user-agent whitelist, region choice.",
   "checked": "2026-09-29"
  },
  "guest_firewall": {
   "value": true,
   "source": null,
   "quote": null,
   "note": "Docs: 'behaves like a virtual machine you own', passwordless sudo, 'change kernel parameters, run Docker inside it', each sandbox has its own network. Hypervisor not named; not explicitly documented.",
   "checked": "2026-09-29",
   "derived": true
  },
  "secret_proxy": {
   "value": false,
   "source": "https://buddy.works/docs/sandboxes/variables-and-secrets.md",
   "quote": "Variables are injected when the Sandbox starts, **before the first boot commands run**, so setup logic can rely on them.",
   "note": "Secrets are encrypted/masked variables injected as env vars, files or SSH keys inside the sandbox. Exception: git fetch/push to Buddy-connected repos is 'pre-authorized' and 'needs no tokens and no keys inside the Sandbox' (mechanism undocumented) - git-only, not arbitrary HTTP.",
   "checked": "2026-09-29"
  },
  "volume_attach": {
   "value": false,
   "source": "https://buddy.works/docs/sandboxes/lifecycle.md",
   "quote": "This is why Sandboxes have no volumes or external drives to attach.",
   "note": "Fixed 50 GB persistent local disk. User can self-mount e.g. S3 buckets from inside (not first-party).",
   "checked": "2026-09-29"
  },
  "volume_shared": {
   "value": false,
   "source": "https://buddy.works/docs/sandboxes/lifecycle.md",
   "quote": "This is why Sandboxes have no volumes or external drives to attach.",
   "note": "No first-party shared volume/FS; only DIY mounts (e.g. S3) from inside.",
   "checked": "2026-09-29"
  },
  "desktop": {
   "value": false,
   "source": "https://buddy.works/docs/sandboxes/introduction",
   "quote": "A Sandbox is an isolated Linux machine ... Terminal and SSH, Files, Running commands, Apps, Logs, Endpoints",
   "note": "not offered: outside the product's scope. Access is via browser terminal, SSH, or the SDK/CLI/API only; no VNC/RDP/graphical desktop stream is documented anywhere.",
   "checked": "2026-09-30"
  },
  "browser": {
   "value": false,
   "source": "https://buddy.works/docs/sandboxes/introduction",
   "quote": "A Sandbox is an isolated Linux machine that runs in Buddy's cloud. It has its own operating system, CPU and RAM allocation, a persistent disk, applications, and public endpoints",
   "note": "not offered: outside the product's scope. Buddy Sandboxes are generic dev/CI Linux machines; no managed/pre-installed browser product is documented.",
   "checked": "2026-09-30"
  },
  "computer_use": {
   "value": false,
   "source": "https://buddy.works/docs/sandboxes/introduction",
   "quote": "A Sandbox is an isolated Linux machine that runs in Buddy's cloud.",
   "note": "not offered: outside the product's scope. No screenshot+click driving API is documented; Sandboxes are driven via SSH/terminal/SDK/CLI/API, not a computer-use interface.",
   "checked": "2026-09-30"
  },
  "anti_bot": {
   "value": false,
   "source": "https://buddy.works/pricing",
   "quote": "7-in-1 Pricing ... Sandboxes: password-protected public URLs & custom domains",
   "note": "not offered: outside the product's scope. Buddy is a DevOps/CI-CD platform with generic sandbox machines; no stealth/fingerprinting/anti-bot feature is documented.",
   "checked": "2026-09-30"
  },
  "captcha_solving": {
   "value": false,
   "source": "https://buddy.works/pricing",
   "quote": "7-in-1 Pricing ... Sandboxes: password-protected public URLs & custom domains",
   "note": "not offered: outside the product's scope. No CAPTCHA-solving feature is documented anywhere on Buddy's docs or pricing pages.",
   "checked": "2026-09-30"
  },
  "fork_running": {
   "value": true,
   "source": "https://buddy.works/docs/sandboxes/snapshots",
   "quote": "From inside the Sandbox - `this snapshot create -n before-migration` lets a script or an AI agent save a known-good state before a risky change.",
   "note": "derived: snapshots (and by extension the Copy/Clone action, which also copies disk state) can be triggered from inside a live, running Sandbox via the self-management CLI, and the Clone API (POST /workspaces/:workspace/sandboxes with source_sandbox_id) documents no requirement that the source be stopped first.",
   "checked": "2026-09-30"
  },
  "pause_resume": {
   "value": true,
   "source": "https://buddy.works/docs/sandboxes/lifecycle",
   "quote": "The Sandbox disk is persistent. Stopping or restarting a Sandbox does not erase anything ... A Sandbox can have a timeout - the number of seconds of inactivity after which it stops automatically.",
   "note": "Buddy's Stop/Start acts as pause/resume: compute stops accruing while STOPPED and the machine resumes on Start/auto wake-on-traffic. Stopped disk is still billed: buddy.works/sandboxes FAQ \"What happens when a Sandbox stops? Compute stops being charged. The disk you keep is billed at the storage rate.\" The pricing page itself publishes no sandbox storage rate.",
   "checked": "2026-10-14"
  },
  "own_agent_api": {
   "value": false,
   "source": "https://buddy.works/docs/sandboxes/ai-agents",
   "quote": "A Sandbox is a clean, isolated machine with your repository already fetched, full sudo, and popular coding agents preinstalled.",
   "note": "not offered: outside the product's scope. Buddy offers an SDK/API/CLI/MCP to drive the SANDBOX MACHINE (create, clone, run commands, snapshot) and preinstalls third-party coding agents you SSH in and run yourself; there is no first-party browser/computer-use/research task-agent API.",
   "checked": "2026-09-30"
  },
  "public_ipv4": {
   "value": false,
   "source": "https://buddy.works/docs/sandboxes/endpoints",
   "quote": "Endpoints are tunnels: the Buddy agent (bdy) running in the Sandbox holds an encrypted connection to Buddy, and Buddy publishes it on an address it assigns. Nothing is exposed directly, and there are no ports to open.",
   "note": "Access is exclusively via Buddy-assigned tunnel addresses (eu-1/us-1 style hostnames); no dedicated public IPv4 per machine is offered.",
   "checked": "2026-09-30"
  },
  "egress_allowlist": {
   "value": false,
   "source": "https://buddy.works/docs/sandboxes/permissions-and-security",
   "quote": "How access to a Buddy Sandbox is calculated from project roles, direct assignments, and groups - plus repository and artifact access, tokens, and IP whitelists.",
   "note": "not offered: only inbound controls are documented (per-endpoint IP whitelist, Basic/Buddy auth on tunnels, permission roles). No outbound/egress allow-list, deny-list, or no-internet mode is documented.",
   "checked": "2026-09-30"
  },
  "egress_http_rules": {
   "value": false,
   "source": "https://buddy.works/docs/sandboxes/permissions-and-security",
   "quote": "plus repository and artifact access, tokens, and IP whitelists",
   "note": "not offered: no HTTP method/path-level egress rules are documented; only inbound tunnel/IP whitelisting exists.",
   "checked": "2026-09-30"
  },
  "static_egress_ip": {
   "value": false,
   "source": "https://buddy.works/docs/sandboxes/introduction",
   "quote": "A Sandbox is an isolated Linux machine that runs in Buddy's cloud.",
   "note": "not offered: no fixed/dedicated outbound IP product is documented anywhere in the sandbox docs or pricing page.",
   "checked": "2026-09-30"
  },
  "gpu": {
   "value": false,
   "source": "https://buddy.works/docs/sandboxes/introduction",
   "quote": "Resources | From 1 CPU / 2 GB RAM up to 12 CPU / 24 GB RAM",
   "note": "not offered: outside the product's scope. Resource presets are CPU/RAM only (1x2 to 12x24); no GPU option is listed anywhere in the sandbox docs or pricing page.",
   "checked": "2026-09-30"
  },
  "windows": {
   "value": false,
   "source": "https://buddy.works/docs/sandboxes/introduction",
   "quote": "Operating system | Ubuntu 22.04 LTS or Ubuntu 24.04 LTS",
   "note": "not offered: outside the product's scope. Sandboxes are Ubuntu Linux only; no Windows machine option exists.",
   "checked": "2026-09-30"
  },
  "macos": {
   "value": false,
   "source": "https://buddy.works/docs/sandboxes/introduction",
   "quote": "Operating system | Ubuntu 22.04 LTS or Ubuntu 24.04 LTS",
   "note": "not offered: outside the product's scope. Sandboxes are Ubuntu Linux only; no macOS machine option exists.",
   "checked": "2026-09-30"
  },
  "arm64": {
   "value": false,
   "source": "https://buddy.works/docs/sandboxes/introduction",
   "quote": "Operating system | Ubuntu 22.04 LTS or Ubuntu 24.04 LTS",
   "note": "not offered: no CPU architecture choice is documented; the API's `resources` enum (1x2..12x24, CUSTOM) and OS list give no indication of an ARM image option.",
   "checked": "2026-09-30"
  },
  "self_host": {
   "value": false,
   "source": "https://buddy.works/docs/sandboxes/introduction",
   "quote": "A Sandbox is an isolated Linux machine that runs in Buddy's cloud.",
   "note": "not offered: Sandboxes run only in Buddy's managed cloud. Buddy separately advertises 'self-hosted runners and on-premises installation' for its CI/CD pipeline build agents, but that is a different feature from running the Sandboxes product on your own infrastructure, which is not offered.",
   "checked": "2026-09-30"
  },
  "byoc": {
   "value": false,
   "source": "https://buddy.works/docs/sandboxes/introduction",
   "quote": "A Sandbox is an isolated Linux machine that runs in Buddy's cloud.",
   "note": "not offered: no bring-your-own-cloud-account deployment model is documented for Sandboxes; they run exclusively in Buddy's own cloud.",
   "checked": "2026-09-30"
  },
  "open_source": {
   "value": false,
   "source": "https://github.com/buddy-works",
   "quote": "buddy-works organization repositories: buddy-cli, buddy-works-node-api, buddy-works-php-api, passport-buddy, website ...",
   "note": "The Buddy platform (including Sandboxes) is closed-source SaaS; the GitHub org only publishes client SDKs/CLI wrappers, demo projects, and forks, not the core product under an OSI license.",
   "checked": "2026-09-30"
  },
  "soc2": {
   "value": true,
   "source": "https://buddy.works/security",
   "quote": "SOC2 Type II certification",
   "note": null,
   "checked": "2026-09-30"
  },
  "hipaa": {
   "value": false,
   "source": "https://buddy.works/security",
   "quote": "PCI DSS CCPA GDPR ... SOC2 Type II certification",
   "note": "not offered: the security page lists PCI DSS, CCPA, GDPR, and SOC2 Type II but never mentions HIPAA eligibility or a BAA offering.",
   "checked": "2026-09-30"
  },
  "eu_data_residency": {
   "value": true,
   "source": "https://buddy.works/docs/sandboxes/sdk",
   "quote": "export BUDDY_REGION=\"US\"   # optional, US by default, EU and AS available",
   "note": "Both the SDK/API workspace region and per-endpoint tunnel region (EU/US/AS) can be set to EU, allowing sandboxes and their traffic to be kept in the EU region.",
   "checked": "2026-09-30"
  },
  "max_session_h": {
   "value": "none",
   "source": "https://buddy.works/docs/sandboxes/lifecycle",
   "quote": "A Sandbox can have a timeout - the number of seconds of inactivity after which it stops automatically. There is no timeout by default.",
   "note": "A Sandbox keeps running (and billing) indefinitely until stopped, unless the owner sets an inactivity timeout themselves; there is no provider-imposed maximum session length.",
   "checked": "2026-09-30"
  },
  "memory_snapshot_fork": {
   "value": false,
   "source": "https://buddy.works/docs/sandboxes/introduction.md",
   "quote": "The disk survives. Memory does not - running processes are terminated when the Sandbox stops, and apps are started again when it comes back up.",
   "note": "Snapshots and the 'Copy of an existing Sandbox' start point both only preserve filesystem/disk state ('a snapshot is a saved state of a Sandbox at a point in time - the filesystem with everything installed and configured in it', configuration.md: 'the copy includes the disk state'). No product surface captures or restores RAM/process state, so forking from a running memory state is not offered.",
   "checked": "2026-09-30"
  },
  "image_oci": {
   "value": false,
   "source": "https://buddy.works/docs/sandboxes/configuration.md",
   "quote": "Whichever channel you use, a Sandbox starts from one of four sources: Clean OS ... Snapshot ... Copy of an existing Sandbox ... YAML definition",
   "note": "The four documented starting points for a Sandbox are Clean Ubuntu OS, a Buddy snapshot, a copy of an existing Sandbox, or a YAML definition - none of them is a Docker/OCI image import. snapshots.md is explicit that Buddy's own snapshot mechanism substitutes for that workflow: 'Snapshots do the job of custom container images on other platforms. Instead of writing a Dockerfile, building it, and pushing it to a registry, you prepare a Sandbox once, save it, and start new machines from that state.'",
   "checked": "2026-09-30"
  },
  "egress_ip_type": {
   "value": "datacenter",
   "source": "https://buddy.works/docs/sandboxes/introduction",
   "quote": "A Sandbox is an isolated Linux machine that runs in Buddy's cloud.",
   "note": "No dedicated/static or residential/mobile outbound IP product is documented anywhere (consistent with static_egress_ip:false); Sandboxes are generic multi-tenant cloud VMs, so outbound traffic uses ordinary shared cloud-datacenter IPs. Derived, not explicitly stated.",
   "checked": "2026-09-30"
  },
  "live_resize": {
   "value": true,
   "source": "https://buddy.works/docs/sandboxes/self-management",
   "quote": "Grow the machine. Raise resources for a heavier build, then bring them back down. There is no dedicated flag for it - this update takes the full YAML definition: this yaml > /tmp/sandbox.yml # edit resources, e.g. to 4x8 ; this update @/tmp/sandbox.yml",
   "note": "Resources (CPU x RAM, 1x2 to 12x24) can be changed on a live Sandbox from inside itself via `this update`, or externally via `bdy sandbox update` / PATCH /workspaces/:workspace/sandboxes/:sandbox_id (resources is an editable field), without recreating or wiping the machine.",
   "checked": "2026-09-30"
  },
  "usage_api": {
   "value": false,
   "source": "https://buddy.works/docs/api",
   "quote": "Sandboxes: GET List Sandbox Snapshots, POST Create Sandboxes, GET Get Sandbox, PATCH Edit Sandbox, DEL Delete Sandboxes. Platform Account management: GET Get user, PATCH Update user, Emails, Personal Access Tokens, SSH keys, Projects, Permissions, Workspaces, Integrations, Variables. No billing, usa",
   "note": "granularity: account-only; cost: no; Billing information (GB-minutes usage) exists only via web dashboard. The REST API covers full sandbox lifecycle (create, start, stop, restart, clone, snapshot, run commands, upload files) but provides no programmatic access to billable usage per sandbox, per-tag, or per-project. Usage tracking is not available through REST API, SDK, or CLI.",
   "confidence": "high",
   "checked": "2026-10-01"
  }
 },
 "locations": [],
 "locations_source": "https://buddy.works/docs/sandboxes/sdk",
 "locations_quote": "export BUDDY_REGION=\"US\"   # optional, US by default, EU and AS available",
 "locations_checked": "2026-10-01"
}