{
 "features_resolved": {
  "snapshot_any": true,
  "snapshot_mem": true,
  "fork": true,
  "pause_resume": true,
  "persistent_disk": true,
  "whole_disk": true,
  "persist_scope": null,
  "volumes": true,
  "auto_stop_idle": true,
  "long_sessions": true,
  "custom_image": true,
  "image_snapshot": true,
  "image_oci": false,
  "vm_isolation": true,
  "docker_inside": true,
  "nested_virt": false,
  "root": true,
  "systemd": true,
  "browser": true,
  "desktop": true,
  "computer_use": false,
  "code_interpreter": false,
  "browser_control": null,
  "desktop_control": null,
  "browser_and_desktop": false,
  "anti_bot": true,
  "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": true,
  "open_internet": true,
  "static_egress_ip": true,
  "private_network": true,
  "self_host": true,
  "byoc": true,
  "open_source": false,
  "soc2": false,
  "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": false,
  "credential_injection": true,
  "egress_http_rules": false,
  "wake_on_request": true,
  "live_resize": false,
  "fork_running": true,
  "memory_snapshot_fork": true,
  "webhooks": false,
  "scheduled_wakeups": true,
  "audit_logs": true,
  "eu_data_residency": true,
  "zero_data_retention": null,
  "scoped_api_keys": null,
  "spend_limits": null,
  "mcp_server": true,
  "usage_api": true,
  "snapshot_auto": true,
  "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": true,
  "secret_proxy_any": true,
  "volume_attach": true,
  "volume_shared": false,
  "sidecar": null,
  "fuse": true,
  "kernel_features": true,
  "burst": null
 },
 "company": {
  "id": "boxd",
  "checked": "2026-09-30",
  "company": "Azin Tech Holding (operates boxd.sh)",
  "ownership": {
   "value": "independent",
   "parent": null,
   "source": "https://boxd.sh/terms/",
   "quote": "Azin Tech Holding (“Company”, “we”, “us”, or “our”) operates boxd.sh, a platform providing persistent cloud virtual machines, agent sandboxes, and related developer infrastructure services. Contact: hidde@boxd.sh · Westerstraat 246 2, Amsterdam, Netherlands"
  },
  "stage": {
   "value": "pre-seed",
   "source": "https://boxd.sh/blog/we-raised-2m-to-kill-localhost/",
   "quote": "boxd has raised €2 million in pre-seed funding led by BlueYard Capital, with participation from Antler, OVNI, s20, Script Capital and a group of angels who have built developer infrastructure before.",
   "confidence": "high",
   "note": "Only priced round disclosed to date is this €2M pre-seed (Sep 2026)."
  },
  "accelerators": [
   {
    "name": "Antler",
    "batch": "unknown (pre-product cohort)",
    "source": "https://boxd.sh/blog/we-raised-2m-to-kill-localhost/",
    "quote": "Thank you to our customers, to the Antler team who backed us before there was a product, and to our investors who believe that the way software gets built is about to change",
    "confidence": "medium",
    "via": "research"
   }
  ],
  "total_funding_usd": {
   "value": 2160000,
   "status": "confirmed",
   "basis": "Single disclosed round: €2,000,000 pre-seed, converted at an approximate EUR/USD rate of 1.08 (company reports pricing in both EUR and USD lists, no separate USD figure for the round was given).",
   "source": "https://boxd.sh/blog/we-raised-2m-to-kill-localhost/",
   "quote": "boxd has raised €2 million in pre-seed funding led by BlueYard Capital"
  },
  "last_round": {
   "type": "pre-seed",
   "amount_usd": 2160000,
   "date": "2026-09",
   "leads": [
    "BlueYard Capital"
   ],
   "status": "confirmed",
   "source": "https://boxd.sh/blog/we-raised-2m-to-kill-localhost/",
   "quote": "boxd has raised €2 million in pre-seed funding led by BlueYard Capital, with participation from Antler, OVNI, s20, Script Capital and a group of angels who have built developer infrastructure before."
  },
  "investors": [
   "BlueYard Capital",
   "Antler",
   "OVNI",
   "s20",
   "Script Capital",
   "BoxGroup"
  ],
  "portfolio_listings": [
   {
    "source": "BoxGroup",
    "company": "BOXD",
    "batch": null,
    "how": "domain"
   }
  ],
  "revenue": {
   "value": null,
   "status": "unknown"
  },
  "employees": {
   "value": null,
   "source": "https://boxd.sh/careers/ and https://boxd.sh/blog/ (3 named team members appear as blog authors: Hidde Kehrer, Michiel Voortman, Laurentiu Ciobanu; careers page lists several open founding roles, no official headcount published)"
  },
  "note": "boxd.sh is operated by Azin Tech Holding (Amsterdam, Netherlands; also seen at azin.run, listed as sameAs on the company's own schema.org data). Founded/led by Hidde Kehrer. Raised a single disclosed €2M pre-seed round (Sep 2026) led by BlueYard Capital with Antler, OVNI, s20, Script Capital and angels participating; Antler backed the company pre-product (exact accelerator batch not disclosed). The open-source microVM engine underneath (Ignition, github.com/lttle-cloud/ignition) is a separate OSS project, not evidence the company itself is open-source or a subsidiary of another firm."
 },
 "id": "boxd",
 "name": "boxd",
 "url": "https://boxd.sh/pricing",
 "category": "agent-sandbox",
 "isolation": "vm",
 "modes": [
  {
   "key": "on-demand",
   "label": "Pay as you go (credits, USD list)",
   "pricing": "resource",
   "vcpu_h": 0.047,
   "ram_gib_h": 0.014,
   "cpu_basis": "alloc",
   "ram_basis": "active",
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    4
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": [
    1,
    2,
    4,
    8
   ],
   "min_vcpu": 1,
   "max_vcpu": 8,
   "max_ram_gib": 32,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": "No commitment. Custom plan offers volume pricing, but rates are not published.",
   "min_billed_seconds": 0,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": 0,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": {},
   "note": "vCPU is billed on the full shape size while running. RAM is billed on RESIDENT memory, sampled per second, so ram_util stands in for resident fraction. Shapes provision 4 GiB per vCPU (1/4, 2/8, 4/16, 8/32). Per the FAQ (checked 2026-10-14) 1/4, 2/8 and 4/16 are self-serve and 8/32 or larger needs an email to contact@boxd.sh: \"Machines come in 1 vCPU / 4 GiB, 2 vCPU / 8 GiB (the default) and 4 vCPU / 16 GiB, and you can pick any of them yourself. For 8 vCPU / 32 GiB or larger, email contact@boxd.sh.\" Rates cut ~20% (checked 2026-10-14, https://boxd.sh/llms.txt): \"vCPU: EUR 0.039 / USD 0.047 per vCPU-hour\" ; \"RAM: EUR 0.012 / USD 0.014 per GiB-hour\" ; \"Disk: EUR 0.00008 / USD 0.000096 per GiB-hour\" (was USD 0.059 / 0.018 / 0.00012). EUR list: EUR 0.039 / vCPU-h, EUR 0.012 / GiB-h. The USD list is the provider's own separate list, not an FX conversion. Basis verified 2026-09-28: \"vCPU is the one component billed on the machine's size: its full vCPU count while it runs, nothing in standby, hibernated or stopped.\" ; \"RAM bills on the memory a machine actually has resident, sampled every second, while it is running or in standby, not on the 8 GiB it was provisioned with.\" (https://boxd.sh/faq/). Auto-suspend: \"a machine suspends after N seconds of no inbound TCP/UDP traffic\"; auto-hibernate \"After 4 hours of no inbound TCP/UDP traffic\" (https://docs.boxd.sh/how-it-works/suspend-resume). Whether page cache counts as resident is not documented.",
   "flags": [],
   "features": {
    "isolation": "vm"
   }
  }
 ],
 "storage": {
  "included_disk_gib": 0,
  "disk_gib_month": 0.07008,
  "disk_billed_when_stopped": true,
  "snapshot_gib_month": 0.07008,
  "paused_ram_billed": true
 },
 "network": {
  "egress_free_gib": null,
  "egress_gib": null,
  "ipv4_month": null,
  "ipv4_available": false,
  "internet": {
   "default": "configurable",
   "evidence": [
    {
     "quote": "An empty list means no allowlist: the machine is unrestricted, which is how every machine starts.",
     "url": "https://docs.boxd.sh/guides/egress.md"
    }
   ]
  }
 },
 "plans": [
  {
   "name": "Pay as you go",
   "fee": 0,
   "fee_is_credit": false,
   "included_usd": 0,
   "per_seat": 0,
   "concurrency": 50,
   "max_session_h": null,
   "max_vcpu": 4,
   "max_ram_gib": 16,
   "sizes_allowed": null,
   "note": "Self-serve. 50 machines per org, hibernated machines included (2 without a payment method). Default shape 2 vCPU / 8 GiB / 100 GiB CoW; 1/4, 2/8 and 4/16 are self-serve per the FAQ (checked 2026-10-14). Prepaid credits with $20 auto top-up.",
   "flags": []
  },
  {
   "name": "Pay as you go (quota/shape raised on request)",
   "fee": 0,
   "fee_is_credit": false,
   "included_usd": 0,
   "per_seat": 0,
   "concurrency": null,
   "max_session_h": null,
   "max_vcpu": 8,
   "max_ram_gib": 32,
   "sizes_allowed": null,
   "note": "Email contact@boxd.sh; same-day approval is typical. 8 vCPU / 32 GiB is on the rate card (\"8 vCPU · 32 GiB\", https://boxd.sh/pricing) and the FAQ says \"For 8 vCPU / 32 GiB or larger, email contact@boxd.sh.\" Levels above 8/32 are not published.",
   "flags": []
  },
  {
   "name": "Custom",
   "fee": null,
   "fee_is_credit": false,
   "included_usd": null,
   "per_seat": null,
   "concurrency": null,
   "max_session_h": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes_allowed": null,
   "note": "Bigger machines, volume pricing, SSO + audit logs, EU residency, dedicated support, self-host or BYOC (annual licence). No published prices.",
   "flags": [
    "sales"
   ]
  }
 ],
 "free": {
  "monthly_credit": 0,
  "one_time_credit": 30
 },
 "features": {
  "linux": true,
  "windows": false,
  "macos": false,
  "arm64": false,
  "gpu": false,
  "gpu_types": [],
  "snapshot": "mem",
  "pause_resume": true,
  "fork": true,
  "persistent_disk": true,
  "volumes": true,
  "auto_stop_idle": true,
  "max_session_h": null,
  "custom_image": true,
  "docker_inside": true,
  "nested_virt": false,
  "root": true,
  "systemd": true,
  "browser": true,
  "desktop": true,
  "computer_use": false,
  "code_interpreter": false,
  "agent_harnesses": true,
  "ssh": true,
  "public_ipv4": false,
  "inbound_https": true,
  "custom_domain": true,
  "raw_tcp_inbound": true,
  "egress_allowlist": true,
  "static_egress_ip": true,
  "private_network": true,
  "self_host": true,
  "byoc": true,
  "open_source": false,
  "regions": [
   "eu"
  ],
  "soc2": false,
  "hipaa": false,
  "sso": true,
  "lang_python": true,
  "lang_node": true,
  "lang_go": true,
  "lang_rust": null,
  "lang_java": null,
  "gpu_desktop": false,
  "credential_injection": true,
  "egress_http_rules": false,
  "wake_on_request": true,
  "live_resize": false,
  "fork_running": true,
  "memory_snapshot_fork": true,
  "webhooks": false,
  "scheduled_wakeups": true,
  "audit_logs": true,
  "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": true,
  "snapshot_on_demand": true,
  "harness_api": false,
  "egress_allowlist_level": "both",
  "ingress_rules": true,
  "guest_firewall": true,
  "secret_proxy": "any-http",
  "volume_attach": true,
  "volume_shared": false,
  "anti_bot": true,
  "captcha_solving": false,
  "egress_ip_type": "datacenter",
  "own_agent_api": false,
  "max_session_unlimited": true,
  "open_internet": true,
  "usage_api": true
 },
 "perf": {
  "cpu_runs_s": null,
  "cold_start_ms": null,
  "burst_tti_ms": null,
  "dax_s": null
 },
 "perf_source": "No benchmark row: provider is not in ComputeSDK results or the HPC run (as of 2026-09-28). See research/perf-map.json.",
 "knobs": [
  {
   "id": "running_pct",
   "label": "Share of session running (rest hibernated)",
   "kind": "slider",
   "min": 0.05,
   "max": 1,
   "step": 0.05,
   "default": 1,
   "unit": "%",
   "options": null,
   "effect": "hours_factor",
   "modes": [
    "on-demand"
   ],
   "why": "boxd bills vCPU + resident RAM only while running; a hibernated machine (memory written to disk) pays written disk only. Use <1 if machines hibernate during idle gaps. Do NOT use it for standby (auto-suspend): standby drops vCPU but keeps billing resident RAM per the pricing FAQ, so it saves far less than hibernate (the docs' 'near zero' claim conflicts).",
   "source": "https://boxd.sh/pricing"
  },
  {
   "id": "hibernate_tail",
   "label": "Idle tail before auto-hibernate (x session hours)",
   "kind": "slider",
   "min": 1,
   "max": 5,
   "step": 0.05,
   "default": 1,
   "unit": "x",
   "options": null,
   "effect": "hours_factor",
   "modes": [
    "on-demand"
   ],
   "why": "Auto-hibernate triggers only after 4 h with no network traffic (default; it watches network, not CPU). A machine left alone after its work keeps billing full vCPU + RAM for up to 4 h. Factor = (session + idle tail) / session, e.g. 1 h sessions left to auto-hibernate = 5x; the 5x max is that worst case for 1 h sessions.",
   "source": "https://docs.boxd.sh/guides/suspend-resume"
  }
 ],
 "caveats": [
  "Price history (v8-history audit): the 2026-05-26 archived pricing page advertised Individual EUR 20/month in its headline but 'EUR 0 forever, no credit card' in its own FAQ (team FAQ EUR 25-200/user/month); actual old invoice terms unknown. By 2026-08-31 it had moved to the current credit-metered regime (EUR 0.049/vCPU-h, EUR 0.015/used-GiB-h, EUR 0.0001/written-GiB-h, EUR 30 starting credit; live-checked 2026-09-28). A regime change, not a measurable discount; EUR->USD toggle differences are FX, not price changes. Then a ~20% rate cut, seen 2026-10-14: EUR 0.049 / 0.015 / 0.0001 -> EUR 0.039 / 0.012 / 0.00008 and USD 0.059 / 0.018 / 0.00012 -> USD 0.047 / 0.014 / 0.000096 per vCPU-h / GiB-h RAM / GiB-h disk (https://boxd.sh/llms.txt, https://boxd.sh/pricing).",
  "EUR-native pricing. The USD list ($0.047 / $0.014 / $0.000096) is about 1.2x the EUR list (EUR 0.039 / 0.012 / 0.00008), checked 2026-10-14. EUR payers' USD cost depends on FX. Prices exclude VAT.",
  "RAM is billed on resident memory, not the provisioned 4 GiB per vCPU. The estimate uses ram_util as the resident fraction. Whether page cache counts as resident is undocumented.",
  "paused_ram_billed=true models STANDBY (optional auto-suspend: RAM + disk, no vCPU), per the pricing FAQ. The docs contradict this, calling standby 'near zero'. Default idle behaviour is HIBERNATE after 4 h without network traffic, which bills written disk only.",
  "Idle timers watch network traffic, not CPU. Machines left running bill full rate for up to 4 h (the default auto-hibernate window) after traffic stops. Disabling auto-hibernate means indefinite full billing.",
  "snapshot_gib_month uses the published written-disk rate ($0.000096 / GiB-h x 730 h), which applies to hibernated or stopped machines. Standalone named snapshots, backups (object storage, 7-day default retention) and volumes have no published price.",
  "Disk is billed on bytes written, not the 100 GiB CoW provisioned. Forks share blocks.",
  "Egress price not published (null): the rate card bills only vCPU, resident RAM and written disk, and the egress guide covers egress control only, with no transfer price or allowance (boxd.sh/pricing + docs.boxd.sh/guides/egress rendered 2026-09-28). Not assumed free. No dedicated IPv4: machines sit behind a shared proxy IP, with 3 raw TCP/UDP forwards per machine (docs.boxd.sh/guides/resources: 'a dedicated SSH port on boxd's shared proxy IP'). Note boxd.sh/faq marketing copy says each machine has 'a public IPv4'; the docs table is followed here (verified 2026-09-28).",
  "Self-serve shapes are 1/4, 2/8 and 4/16 per the FAQ; 8 vCPU / 32 GiB or larger needs an email (checked 2026-10-14). boxd's own pages disagree: the pricing FAQ still says to email for \"larger shapes than the default 2 vCPU / 8 GiB\", while the resources guide gives a default per-machine quota of \"8 vCPU / 32 GiB unless the boxd team raised it for your org\". The card follows the FAQ. No published ceiling for Custom.",
  "Resize exists but is not live: \"boxd machine resize myapp --memory 16G\" and \"A running machine reboots to apply it, so its disk persists and running processes are lost.\" (https://docs.boxd.sh/guides/resources, 2026-10-14). live_resize stays false.",
  "Custom root images are possible only with boxd's help: \"Machines boot from a container image, so a base like SUSE with your packages works. We set it up with you for now.\" The kernel stays boxd's (https://boxd.sh/faq/, 2026-10-14). image_oci stays false because you can't do it yourself yet.",
  "No US region yet: \"It's coming. Join the waitlist at boxd.sh/us-waitlist.\" (https://boxd.sh/faq/, 2026-10-14).",
  "min_billed_seconds=0: the vendor says 'metered every second' and publishes no minimum.",
  "No benchmark data for boxd in benchmarks.json. The vendor claims <10 ms boot and ~85 ms wake from hibernate.",
  "Idle suspension on boxd is two-stage: auto-suspend (standby) stops vCPU billing but keeps billing resident RAM + written disk; only hibernate (default after 4 h without inbound traffic) drops to disk only. The engine's idle auto-suspend saving (auto_stop_idle) removes whole hours and so overstates savings for short idle gaps; use running_pct / hibernate_tail instead.",
  "The vendor's own pricing-page calculator prices standby: 'Personal assistant' = 1 h/day running at $0.1564/h + 4 h/day standby at $0.0384/h (2 GiB resident x $0.018 + 20 GiB written x $0.00012) + 19 h/day hibernated at $0.0024/h = $10.82/month (730 h month). This confirms paused_ram_billed=true on the pricing page itself; the docs still say standby costs 'near zero' (checked 2026-09-29). Those figures use the pre-cut rates; at the 2026-10-14 rates the same example is about 20% lower.",
  "Currency is fixed per organization at creation (EUR or USD list), and prepaid credit purchases/top-ups are non-refundable per the Terms (last updated 2026-05-08). An org cannot switch to whichever list is cheaper at current FX."
 ],
 "sources": [
  "https://boxd.sh/pricing",
  "https://boxd.sh/faq/",
  "https://boxd.sh/llms.txt",
  "https://docs.boxd.sh/guides/resources",
  "https://docs.boxd.sh/guides/suspend-resume",
  "https://docs.boxd.sh/guides/snapshots",
  "https://docs.boxd.sh/guides/disaster-recovery",
  "https://docs.boxd.sh/guides/egress",
  "research/raw/boxd_sh_pricing.txt",
  "research/raw/boxd_sh_pricing_usd.txt"
 ],
 "fleet": {
  "default_max_instances": 2,
  "default_max_vcpu": null,
  "default_max_gpus": null,
  "raise": "ticket",
  "raise_time_days": 1,
  "verification": "Adding a payment card unlocks 50 machines and introductory credits; no charge just for adding card. Automatic wallet refills can charge thereafter.",
  "tiers": "New org without payment method 2; card on file 50 per organization; higher machine count/shapes by email contact@boxd.sh.",
  "notes": "Official resource guide says all listed limits can be raised and requests generally approved the same day (encoded as within 1 day, not an SLA). Hibernated retained machines count too. 10/50 supported after card; 300/1,000 need human review, not guaranteed. The 50-machine quota is per organization and a personal context counts as its own org, so one user with a personal context plus a team org has two separate 50-machine quotas (and two credit balances).",
  "sources": [
   "https://docs.boxd.sh/guides/resources",
   "https://boxd.sh/faq/"
  ],
  "researched": "2026-09-28"
 },
 "audit_2026_09_29": {
  "applied": 4,
  "source": "checked against the provider's live pricing and docs pages",
  "reviewed": 1
 },
 "feature_evidence": {
  "snapshot_auto": {
   "value": true,
   "source": "https://docs.boxd.sh/guides/suspend-resume",
   "quote": "On by default, set to 4 hours. After 4 hours of no inbound TCP/UDP traffic, boxd hibernates the machine: a snapshot is written to disk and its memory is released.",
   "note": "Trigger: no inbound network traffic (not CPU idleness) for the auto-hibernate timeout (default 4 h, configurable, 0 = never). Memory, processes and open sockets included; wakes in ~85 ms on the next inbound packet. Optional auto-suspend (off by default) freezes the VM in host RAM after N s idle. Separate: scheduled disk backups to object storage (disaster-recovery guide), not counted here.",
   "checked": "2026-09-29"
  },
  "snapshot_on_demand": {
   "value": true,
   "source": "https://docs.boxd.sh/guides/snapshots",
   "quote": "A snapshot is a saved copy of a specific machine. It captures the disk and the memory, so a machine booted from the snapshot is already running whatever the original machine was running (at time of snapshotting).",
   "note": "Memory included. Named, versioned snapshots boot any number of new machines (`boxd machine new --from-snapshot`); machine must be running to snapshot; a machine can snapshot itself from inside. Also: checkpoints (memory+disk, up to 10 per machine, in-place restore), live fork of a running machine, manual pause/resume.",
   "checked": "2026-09-29"
  },
  "harness_api": {
   "value": false,
   "source": "https://docs.boxd.sh/use-cases/coding-agents",
   "quote": "boxd machine exec myapp 'claude -p \"Add a /health endpoint\" --dangerously-skip-permissions'",
   "note": "Claude Code, Codex and OpenCode are preinstalled and pre-configured (agent_harnesses), with Claude Code login synced across machines, but the documented way to drive them from outside is the generic exec API/CLI or SSH + tmux + Claude's own /remote-control. No boxd API to start a prompt, stream agent events or list/resume sessions. The Claude Managed Agents / OpenAI Agents API integrations run Anthropic's/OpenAI's harness with boxd as the tool-execution environment (worker/executor inside the VM), not a boxd harness API.",
   "checked": "2026-09-29"
  },
  "egress_allowlist": {
   "value": true,
   "source": "https://docs.boxd.sh/guides/egress",
   "quote": "Two controls, both set from the SDK and enforced outside the machine, so nothing running inside it (root included) can loosen them: An egress allowlist per machine: the hosts and addresses it may reach. Everything else is blocked.",
   "note": "Entries: exact hostnames, wildcards (*.npmjs.org; refused on shared-hosting domains), public IPv4 addresses and CIDRs. HTTP(S) admitted by hostname, other protocols by destination IP. Changes live within a second. Set via SDK/gRPC (SetVmEgressAllow) only, not the laptop CLI yet. Default: unrestricted. `--isolated` additionally cuts the machine off from your own fleet. No IPv6 egress.",
   "checked": "2026-09-29",
   "level": "both"
  },
  "egress_http_rules": {
   "value": false,
   "source": "https://docs.boxd.sh/guides/egress",
   "quote": "Entries are bare hosts and addresses: no scheme, port, or path.",
   "note": "Allowlist is host/IP only; no method/path/header rules documented. (The secret proxy does rewrite HTTPS to bound hosts, but only for placeholder substitution.)",
   "checked": "2026-09-29"
  },
  "ingress_rules": {
   "value": true,
   "source": "https://docs.boxd.sh/guides/tailscale",
   "quote": "Serve your whole org over your company tailnet. Same hostnames, same TLS, reachable only from inside your Tailscale network.",
   "note": "By default every machine has a public HTTPS proxy name.boxd.sh -> port 8000; you choose which extra ports get subdomain proxies and up to 3 raw TCP/UDP forwards (owner-only). Tailnet-only mode is org-wide and enabled by contacting boxd; bot protection (browser check) on wake. No per-machine IP allowlist or authenticated preview URL documented.",
   "checked": "2026-09-29"
  },
  "guest_firewall": {
   "value": true,
   "source": "https://docs.boxd.sh/use-cases/sandboxes",
   "quote": "Code in the sandbox can run Docker, load kernel modules, restart `systemd`, edit `/etc`, open ports, and break the OS completely",
   "note": "KVM microVM with its own kernel and network stack, root inside; nftables/iptables not explicitly documented but Docker (which programs iptables) runs natively.",
   "checked": "2026-09-29",
   "derived": true
  },
  "secret_proxy": {
   "value": "any-http",
   "source": "https://docs.boxd.sh/guides/egress",
   "quote": "Inside the machine `STRIPE_KEY` is an opaque string starting with `bxds_`. A request to `api.stripe.com` that carries it, in a header, the query string, the body, or Basic auth, arrives at Stripe with the real key. A request anywhere else carries the useless placeholder.",
   "note": "Any secret can be bound to arbitrary hosts (`domains`), org-level, applies to forks/restores. HTTPS is intercepted with a boxd CA the VM trusts (cert-pinning tools fail). HTTP(S) only; no mention of databases/SSH/git-over-SSH. Separately, unbound secrets are injected as real env vars.",
   "checked": "2026-09-29"
  },
  "volume_attach": {
   "value": true,
   "source": "https://docs.boxd.sh/reference/python-sdk",
   "quote": "disk = boxd.disks.create(\"data\", \"10G\")\nboxd.disks.attach(disk.id, machine_id, \"/mnt/data\")",
   "note": "Persistent disks, created writable, attachable read-write or read-only, at create time (volumes=[VolumeMount]) or later; not combinable with --from-snapshot at creation. No published price.",
   "checked": "2026-09-29"
  },
  "volume_shared": {
   "value": false,
   "source": "https://docs.boxd.sh/reference/grpc-proto",
   "quote": "For now a disk can only be attached to one VM at a time (regardless of mode) — its backing file lives on one specific worker, not shared/networked storage, so this request is rejected if the disk already has any attachment.",
   "note": "Local worker-backed disk, one VM at a time even read-only. Forks get CoW copies, not a shared mount.",
   "checked": "2026-09-29"
  },
  "image_oci": {
   "value": false,
   "source": "https://boxd.sh/faq/",
   "quote": "Machines boot from a container image, so a base like SUSE with your packages works. We set it up with you for now.",
   "note": "Assisted only: boxd sets up a custom container base image with you; there is still no self-serve way (CLI/SDK) to boot your own Docker/OCI image, and the kernel stays boxd's. Self-serve starts are the default Ubuntu image, a fork, or a snapshot (`--from-snapshot`, https://docs.boxd.sh/use-cases/sandboxes). Kept false until it is self-serve.",
   "checked": "2026-10-14"
  },
  "anti_bot": {
   "value": true,
   "source": "https://docs.boxd.sh/guides/launch-a-browser",
   "quote": "Stealth by default. The machine ships a Chromium build with anti-bot fingerprinting, and every launch gets a fresh fingerprint.",
   "note": "First-party `agent-browser` on every machine ships stealth/anti-fingerprinting Chromium, on by default, toggleable per launch.",
   "checked": "2026-09-30"
  },
  "captcha_solving": {
   "value": false,
   "source": "https://docs.boxd.sh/use-cases/coding-agents",
   "quote": "The desktop is brought up automatically. ... click into it to help (type a password, solve a captcha).",
   "note": "No automated CAPTCHA-solving service. CAPTCHAs are handled by a human opening the machine's Desktop and solving them manually mid-task, not by a built-in solver.",
   "checked": "2026-09-30"
  },
  "egress_ip_type": {
   "value": "datacenter",
   "source": "https://boxd.sh/faq/",
   "quote": "Where are boxd machines hosted? In the EU by default, on European hardware, with no US cloud dependency.",
   "note": "Machines are KVM VMs on the provider's own EU datacenter hardware; egress is from that datacenter infrastructure, not residential/mobile IPs.",
   "checked": "2026-09-30"
  },
  "live_resize": {
   "value": false,
   "source": "https://docs.boxd.sh/guides/resources",
   "quote": "A running machine reboots to apply it, so its disk persists and running processes are lost.",
   "note": "Resize now exists (`boxd machine resize myapp --memory 16G`) but a running machine reboots to apply it, so it is not a live resize: disk survives, processes do not. The old ChangeShape RPC (grpc-proto) was removed earlier.",
   "checked": "2026-10-14"
  },
  "own_agent_api": {
   "value": false,
   "source": "https://boxd.sh/llms.txt",
   "quote": "boxd gives developers and AI agents their own persistent Linux machines accessible via SSH. No SDK required — if it can open an SSH connection, it can use boxd.",
   "note": "not offered: outside the product's scope. boxd is infrastructure (VMs/sandboxes) for running your own or third-party coding/browser agents (Claude Code, Codex, agent-browser); it does not ship its own first-party browser/computer-use/research task agent with a driving API.",
   "checked": "2026-09-30"
  },
  "static_egress_ip": {
   "value": true,
   "source": "https://docs.boxd.sh/guides/automations/scripts",
   "quote": "Cloud accounts | The provider's SDK (`@aws-sdk/*`, `@google-cloud/*`, `@azure/*`) with credentials from `process.env`. The machine's outbound IP is fixed per cluster if you need to allow-list it",
   "note": "Outbound IP is fixed per cluster (shared among machines on that cluster), not a unique static IP per machine, but it is stable/allow-listable rather than rotating.",
   "checked": "2026-09-30"
  },
  "soc2": {
   "value": false,
   "source": "https://boxd.sh/pricing",
   "quote": "Custom: ... SSO + audit logs ✓ Dedicated support",
   "note": "No SOC 2 attestation mentioned anywhere on the pricing, FAQ, terms, or privacy pages; the Custom/enterprise plan lists SSO + audit logs + EU data residency but never SOC 2.",
   "checked": "2026-09-30"
  },
  "hipaa": {
   "value": false,
   "source": "https://boxd.sh/terms/",
   "quote": "Our Services do not comply with industry-specific regulations such as HIPAA or FISMA. Users subject to such laws may not use the platform.",
   "note": "Explicitly stated in the Terms of Service.",
   "checked": "2026-09-30"
  },
  "max_session_h": {
   "value": "none",
   "source": "https://docs.boxd.sh/use-cases/sandboxes",
   "quote": "A sandbox lives as long as you keep it, disk and all... boxd machines are natively persistent.",
   "note": "No maximum session/runtime duration is documented; machines run indefinitely until the owner stops/removes them (subject to idle auto-suspend/hibernate, which is configurable including disabled).",
   "checked": "2026-09-30"
  },
  "computer_use": {
   "value": false,
   "source": "https://docs.boxd.sh/guides/desktop",
   "quote": "Desktop opens it in a separate browser window: a real desktop you can watch and control - launch a browser, a terminal, a file manager or any GUI app installed on the machine; type and click into whatever's running... Drive it from code: `browser.launch()` in an automation opens a Playwright-controlled browser on this same desktop.",
   "note": "Desktop is a human-operated remote-viewer (mouse/keyboard for a person, or Playwright for browser automation), not a screenshot+click agent API. No documented API to drive the desktop by screenshots/coordinates.",
   "checked": "2026-09-30"
  },
  "public_ipv4": {
   "value": false,
   "source": "https://docs.boxd.sh/reference/grpc-proto",
   "quote": "message ProxyNodeInfo {\n  string id   = 1;\n  // Primary public IPv4. The daemon dials this directly and overrides the TLS\n  // server name, since proxy nodes have no per-node DNS name of their own.\n  string ipv4 = 2;\n}",
   "note": "The only 'public IPv4' modeled in boxd's own protocol is a field on ProxyNodeInfo (cluster proxy infrastructure), not on the VM/machine resource. Docs elsewhere confirm: every machine's domain points at 'the proxy's shared public IP' and each machine gets 'a dedicated SSH port ... on boxd's shared proxy IP' plus up to 3 raw TCP/UDP forwards — i.e. one shared proxy IPv4 fronting many machines via SNI/port, not a dedicated public IPv4 per machine. boxd.sh/faq's marketing copy ('a public IPv4') is inconsistent with this technical description; the docs/proto description is treated as authoritative.",
   "checked": "2026-09-30"
  },
  "gpu": {
   "value": false,
   "source": "https://boxd.sh/faq/",
   "quote": "Composable computers: persistent, forkable Linux VMs with their own kernel, a public IPv4, and an automatic HTTPS domain, reachable over SSH. Each machine is a real KVM virtual machine running Ubuntu 24.04 with 2 vCPU, 8 GiB RAM, and 100 GiB persistent disk.",
   "note": "No GPU shape, GPU pricing, or GPU flag anywhere in the docs, pricing page, or FAQ; the only 'GPU' mention in the docs is about a customer's own external GPUs staying busy during RL rollouts, not boxd-supplied GPUs.",
   "checked": "2026-09-30"
  },
  "windows": {
   "value": false,
   "source": "https://boxd.sh/faq/",
   "quote": "Each machine is a real KVM virtual machine running Ubuntu 24.04 with 2 vCPU, 8 GiB RAM, and 100 GiB persistent disk.",
   "note": "Product is Linux-only KVM microVMs (Ubuntu 24.04 image); no Windows guest image or option is documented anywhere. Outside the product's scope.",
   "checked": "2026-09-30"
  },
  "macos": {
   "value": false,
   "source": "https://boxd.sh/faq/",
   "quote": "Each machine is a real KVM virtual machine running Ubuntu 24.04 with 2 vCPU, 8 GiB RAM, and 100 GiB persistent disk.",
   "note": "Only the CLI/client binary runs on macOS (Apple Silicon) as a laptop tool; the actual boxd machines are Linux KVM VMs. No macOS guest machine offering. Outside the product's scope.",
   "checked": "2026-09-30"
  },
  "arm64": {
   "value": false,
   "source": "https://docs.boxd.sh/reference/grpc-proto",
   "quote": "message VmConfig {\n  uint32        vcpu         = 1;  // 0 = user quota or 2\n  uint64        memory_bytes = 2;  // 0 = user quota or 8 GiB\n  uint64        disk_bytes   = 3;  // 0 = 100 GiB\n  SrfConfig     srf          = 4;\n  NetworkConfig network      = 5;\n  repeated VolumeMount volumes = 6;\n}",
   "note": "VM creation config exposes no architecture/platform field, and no page advertises an arm64 guest machine option. 'The installer puts the boxd binary in ~/.local/bin/boxd. It supports macOS (Apple Silicon) and Linux (x86_64 and arm64)' (docs.boxd.sh/cli/authentication-adjacent quickstart) describes only the CLI client host, not the VM guest architecture.",
   "checked": "2026-09-30"
  },
  "open_source": {
   "value": false,
   "source": "https://boxd.sh/faq/",
   "quote": "Can boxd run inside my own cloud account (BYOC)? Yes — self-host the binary in your VPC, datacenter, or region. The open-source microVM engine underneath (Ignition) lives at github.com/lttle-cloud/ignition.",
   "note": "Only the underlying microVM engine (Ignition, AGPL-3.0 on GitHub) is open source; boxd itself (the API/control-plane/CLI/console product being priced) is a closed, signed binary distributed under a paid self-host/BYOC annual licence, not released under an OSI license.",
   "checked": "2026-09-30"
  },
  "nested_virt": {
   "value": false,
   "source": "https://github.com/lttle-cloud/ignition",
   "quote": "built on KVM, and a lightweight orchestration layer",
   "note": "derived: boxd machines are KVM microVMs (the open-source Ignition engine underneath). Neither boxd's docs, FAQ, nor the Ignition project page mention /dev/kvm passthrough or nested virtualization anywhere; the sandboxes guide describes root, Docker, kernel modules and systemd inside the guest but never hardware-virtualization extensions. Consistent with how this class of microVM sandbox (Firecracker/cloud-hypervisor-style) is documented by comparable providers, which do not expose nested KVM to guests.",
   "checked": "2026-09-30"
  },
  "usage_api": {
   "value": true,
   "source": "https://docs.boxd.sh/reference/grpc-proto.md",
   "quote": "rpc GetOrgBilling(GetOrgBillingRequest) returns (GetOrgBillingResponse); The org's shared plan: aggregate quota + current usage. Per-VM billing line items (admin only). Usage accrued but not yet charged, micro-euros. repeated OrgBilledVm vms.",
   "note": "granularity: per-sandbox; cost: yes; GetOrgBilling endpoint returns per-VM billing line items with accruing_micro_eur (usage cost), balance_micro_eur (credit balance), and billing_mode. GetBilling RPC for individual user billing. Requires JWT (interactive login, not just API key). Cost returned in micro-euros.",
   "confidence": "high",
   "checked": "2026-10-01"
  }
 },
 "locations": [
  {
   "country": "DE",
   "state": null,
   "city": null,
   "provider_region": "eu",
   "self_serve": true,
   "choosable": false
  }
 ],
 "locations_source": "https://boxd.sh/faq/",
 "locations_quote": "On bare-metal servers in Germany, so your machines and their data stay in the EU.",
 "locations_note": "Single location, no city published. A US region is announced but not live: \"It's coming. Join the waitlist at boxd.sh/us-waitlist.\"",
 "locations_checked": "2026-10-14"
}