{
 "features_resolved": {
  "snapshot_any": true,
  "snapshot_mem": false,
  "fork": true,
  "pause_resume": true,
  "persistent_disk": true,
  "whole_disk": true,
  "persist_scope": true,
  "volumes": false,
  "auto_stop_idle": true,
  "long_sessions": true,
  "custom_image": true,
  "image_snapshot": true,
  "image_oci": true,
  "vm_isolation": true,
  "docker_inside": true,
  "nested_virt": false,
  "root": true,
  "systemd": null,
  "browser": true,
  "desktop": true,
  "computer_use": true,
  "code_interpreter": false,
  "browser_control": true,
  "desktop_control": true,
  "browser_and_desktop": true,
  "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": false,
  "egress_allowlist": true,
  "open_internet": true,
  "static_egress_ip": false,
  "private_network": true,
  "self_host": false,
  "byoc": true,
  "open_source": false,
  "soc2": true,
  "hipaa": null,
  "sso": true,
  "gpu": false,
  "arm64": true,
  "windows": false,
  "macos": false,
  "lang_python": true,
  "lang_node": true,
  "lang_go": null,
  "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": false,
  "webhooks": false,
  "scheduled_wakeups": null,
  "audit_logs": null,
  "eu_data_residency": false,
  "zero_data_retention": null,
  "scoped_api_keys": true,
  "spend_limits": null,
  "mcp_server": true,
  "usage_api": false,
  "snapshot_auto": true,
  "snapshot_on_demand": true,
  "harness_api": true,
  "own_agent_api": false,
  "fast_boot": true,
  "strong_isolation": true,
  "ingress_rules": true,
  "guest_firewall": true,
  "secret_proxy": true,
  "secret_proxy_any": true,
  "volume_attach": false,
  "volume_shared": false,
  "sidecar": null,
  "fuse": true,
  "kernel_features": true,
  "burst": null
 },
 "company": {
  "id": "runloop",
  "checked": "2026-09-30",
  "company": "Runloop, Inc.",
  "ownership": {
   "value": "independent",
   "parent": null,
   "source": "https://www.prnewswire.com/news-releases/runloop-raises-7m-seed-round-to-bring-enterprise-grade-infrastructure-to-ai-coding-agents-302516898.html",
   "quote": "Runloop, the only enterprise-grade infrastructure platform that enables the development, evaluation and scalable deployment of AI coding agents, announced today that it has raised a $7M seed round led by The General Partnership with participation from Blank Ventures."
  },
  "stage": {
   "value": "seed",
   "source": "https://www.prnewswire.com/news-releases/runloop-raises-7m-seed-round-to-bring-enterprise-grade-infrastructure-to-ai-coding-agents-302516898.html",
   "quote": "Runloop ... announced today that it has raised a $7M seed round led by The General Partnership with participation from Blank Ventures.",
   "confidence": "high",
   "note": "Only publicly disclosed round to date is this $7M seed (July 2025); no later round found as of 2026-09-30. Checked ycombinator.com/companies/runloop (404, not a YC company)."
  },
  "accelerators": [],
  "total_funding_usd": {
   "value": 7000000,
   "status": "confirmed",
   "basis": "Only disclosed round is the $7M seed per PR Newswire press release, matching Ry Walker Research's company profile ($7M Seed, July 2025).",
   "source": "https://www.prnewswire.com/news-releases/runloop-raises-7m-seed-round-to-bring-enterprise-grade-infrastructure-to-ai-coding-agents-302516898.html",
   "quote": "Runloop Raises $7M Seed Round to Bring Enterprise-Grade Infrastructure to AI Coding Agents"
  },
  "last_round": {
   "type": "seed",
   "amount_usd": 7000000,
   "date": "2025-07",
   "leads": [
    "The General Partnership"
   ],
   "status": "confirmed",
   "source": "https://www.prnewswire.com/news-releases/runloop-raises-7m-seed-round-to-bring-enterprise-grade-infrastructure-to-ai-coding-agents-302516898.html",
   "quote": "SAN FRANCISCO, July 30, 2025 /PRNewswire/ -- Runloop ... announced today that it has raised a $7M seed round led by The General Partnership with participation from Blank Ventures."
  },
  "investors": [
   "The General Partnership",
   "Blank Ventures",
   "a16z crypto",
   "Andreessen Horowitz",
   "Digital Currency Group"
  ],
  "portfolio_listings": [
   {
    "source": "a16z crypto",
    "company": "Runloop",
    "batch": null,
    "how": "exact-name"
   },
   {
    "source": "Andreessen Horowitz",
    "company": "Runloop",
    "batch": null,
    "how": "exact-name"
   },
   {
    "source": "Digital Currency Group",
    "company": "Runloop",
    "batch": 2021,
    "how": "exact-name"
   }
  ],
  "revenue": {
   "value": null,
   "status": "unknown"
  },
  "employees": {
   "value": 12,
   "source": "https://rywalker.com/research/runloop"
  },
  "note": "Founded 2024 by Jonathan Wall (co-founder of Google Wallet and fintech Index, which was acquired by Stripe) and a team of ex-Stripe developers, headquartered in San Francisco. Raised a $7M seed round (July 2025) led by The General Partnership with Blank Ventures participating; no later priced round disclosed as of 2026-09-30. Not a Y Combinator company (ycombinator.com/companies/runloop returns 404)."
 },
 "id": "runloop",
 "name": "Runloop",
 "url": "https://www.runloop.ai/pricing",
 "category": "agent-sandbox",
 "isolation": "vm",
 "modes": [
  {
   "key": "on-demand",
   "label": "Devbox CUSTOM_SIZE (allocated, per-second)",
   "pricing": "resource",
   "vcpu_h": 0.108,
   "ram_gib_h": 0.0252,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": [
    0.5,
    1,
    2,
    4,
    6,
    8,
    10,
    12,
    14,
    16
   ],
   "min_vcpu": 0.5,
   "max_vcpu": 16,
   "max_ram_gib": 64,
   "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": {},
   "note": "Billed in initializing/running/suspending/resuming states on allocated CPU+RAM (usage API: vCPU-s = active_seconds x vCPUs). RAM must be 1 or an even number of GiB (1-64). Devbox disk (default 16 GiB; custom sizes: \"Must be multiple of 2. Min is 2GiB, max is 64GiB\", docs.runloop.ai/docs/devboxes/configuration/sizes, checked 2026-10-14) is billed separately via storage.disk_gib_month for the devbox's whole life incl. while running. Presets (X_SMALL..XX_LARGE) use the same rates but fixed ratios; X_LARGE is 4 CPU/16 GiB, so CUSTOM is always <= preset. [basis verified 2026-09-28] Allocation confirmed: fixed hourly rates per size (e.g. X_SMALL 0.5 CPU/1 GB $0.0806/h, docs.runloop.ai/docs/devboxes/configuration/sizes); \"Compute is billed only while devbox status is one of [initializing, running, suspending, resuming]\"; \"Suspended devboxes do not accrue compute or memory charges\" (runloop.ai/pricing). Idle policy is opt-in (lifecycle after_idle: \"After idle_time_seconds, on_idle action will be taken\"); otherwise keep_alive \"Default is 1 hour. Maximum is 48 hours\" (OpenAPI spec).",
   "features": {
    "isolation": "vm",
    "auto_stop_idle": true,
    "wake_on_request": true
   },
   "flags": []
  }
 ],
 "storage": {
  "included_disk_gib": 0,
  "disk_gib_month": 0.2499,
  "disk_billed_when_stopped": true,
  "snapshot_gib_month": 0.05256,
  "paused_ram_billed": false
 },
 "network": {
  "egress_free_gib": null,
  "egress_gib": null,
  "ipv4_month": null,
  "ipv4_available": false,
  "internet": {
   "default": "configurable",
   "evidence": [
    {
     "quote": "Devboxes have unrestricted network access",
     "url": "https://docs.runloop.ai/docs/network-policies"
    }
   ]
  }
 },
 "plans": [
  {
   "name": "Trial",
   "trial_only": true,
   "fee": 0,
   "fee_is_credit": false,
   "included_usd": 0,
   "per_seat": 0,
   "concurrency": 3,
   "max_session_h": 1,
   "max_vcpu": 2,
   "max_ram_gib": 4,
   "sizes_allowed": [
    "X_SMALL",
    "SMALL",
    "MEDIUM"
   ],
   "note": "Pro Trial: $50 one-time credit (see free), all Pro features, 5 blueprints, 10 snapshots, 3 objects, 1 h max keep-alive. No auto-charge at end.",
   "flags": []
  },
  {
   "name": "Basic",
   "fee": 0,
   "fee_is_credit": false,
   "included_usd": 0,
   "per_seat": 0,
   "concurrency": null,
   "max_session_h": null,
   "max_vcpu": 16,
   "max_ram_gib": 64,
   "sizes_allowed": null,
   "note": "Usage only. 100 GB free storage (which storage classes unspecified). NO suspend/resume: park state via snapshot+shutdown. Concurrency cap not published. keep_alive max 48 h; idle-policy devboxes have no documented max.",
   "flags": []
  },
  {
   "name": "Pro",
   "fee": 250,
   "fee_is_credit": false,
   "included_usd": 0,
   "per_seat": 0,
   "concurrency": null,
   "max_session_h": null,
   "max_vcpu": 16,
   "max_ram_gib": 64,
   "sizes_allowed": null,
   "note": "'$250/month + usage' platform fee, not credited. Unlocks suspend/resume (+ wake-on-HTTP), repo connections, beta features, Slack support; 1 TB free storage.",
   "flags": []
  },
  {
   "name": "Enterprise",
   "fee": null,
   "fee_is_credit": false,
   "included_usd": null,
   "per_seat": 0,
   "concurrency": null,
   "max_session_h": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes_allowed": null,
   "note": "Custom pricing; Deploy-to-VPC (AWS/GCP/Azure), AWS Marketplace billing, RFT, custom free storage, priority support/SLA.",
   "flags": [
    "sales"
   ]
  }
 ],
 "free": {
  "monthly_credit": 0,
  "one_time_credit": 50
 },
 "features": {
  "linux": true,
  "windows": false,
  "macos": false,
  "arm64": true,
  "gpu": false,
  "gpu_types": [],
  "snapshot": "fs",
  "pause_resume": true,
  "fork": true,
  "persistent_disk": true,
  "volumes": false,
  "auto_stop_idle": true,
  "max_session_h": null,
  "custom_image": true,
  "docker_inside": true,
  "nested_virt": false,
  "root": true,
  "systemd": null,
  "browser": true,
  "desktop": true,
  "computer_use": true,
  "code_interpreter": false,
  "agent_harnesses": true,
  "ssh": true,
  "public_ipv4": false,
  "inbound_https": true,
  "custom_domain": true,
  "raw_tcp_inbound": false,
  "egress_allowlist": true,
  "static_egress_ip": false,
  "private_network": true,
  "self_host": false,
  "byoc": true,
  "open_source": false,
  "regions": [],
  "soc2": true,
  "hipaa": null,
  "sso": true,
  "lang_python": true,
  "lang_node": true,
  "lang_go": null,
  "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": false,
  "webhooks": false,
  "scheduled_wakeups": null,
  "audit_logs": null,
  "eu_data_residency": false,
  "zero_data_retention": null,
  "scoped_api_keys": true,
  "spend_limits": null,
  "mcp_server": true,
  "browser_control": true,
  "desktop_control": true,
  "anti_bot": false,
  "captcha_solving": false,
  "egress_ip_type": "datacenter",
  "ip_note": "No proxy or egress-IP options documented; Runloop tutorials pair devboxes with Browserbase/Kernel for stealth/proxy browsers.",
  "isolation": "vm",
  "image_oci": true,
  "snapshot_auto": true,
  "snapshot_on_demand": true,
  "harness_api": true,
  "egress_allowlist_level": "domain",
  "ingress_rules": true,
  "guest_firewall": true,
  "secret_proxy": "any-http",
  "volume_attach": false,
  "volume_shared": false,
  "own_agent_api": false,
  "fast_boot": true,
  "open_internet": true,
  "usage_api": false,
  "persist_scope": "whole"
 },
 "perf": {
  "cpu_runs_s": 8.29,
  "cold_start_ms": 465.18,
  "burst_tti_ms": 1039.64,
  "dax_s": 68.57
 },
 "perf_source": "StarSling hpc-sandbox-benchmarks, run 36498291449 (2026-09-29), Node.js V8 Web Tooling p50 at a 4 vCPU / 8 GB target",
 "knobs": [
  {
   "id": "keep_alive_tail",
   "label": "Idle time billed until keep_alive expires (× session hours)",
   "kind": "slider",
   "min": 1,
   "max": 3,
   "step": 0.05,
   "default": 1,
   "unit": "×",
   "options": null,
   "effect": "hours_factor",
   "modes": [
    "on-demand"
   ],
   "why": "By default on_idle does nothing: an idle devbox bills its full allocated CPU+RAM until keep_alive_time_seconds expires (default 1 h, max 48 h) or you shut it down. A 30-min task left to the 1 h default = 2x. Default 1 = shut down when work ends; 3x ceiling is a judgment call.",
   "source": "https://docs.runloop.ai/docs/devboxes/lifecycle"
  },
  {
   "id": "running_share",
   "label": "Share of session running (after_idle on_idle: suspend, Pro/Enterprise)",
   "kind": "slider",
   "min": 0.05,
   "max": 1,
   "step": 0.05,
   "default": 1,
   "unit": "%",
   "options": null,
   "effect": "hours_factor",
   "modes": [
    "on-demand-suspend"
   ],
   "why": "With lifecycle.after_idle on_idle=suspend (Pro, Enterprise, Trial only), a suspended devbox pays no CPU/RAM; only its disk keeps billing at the devbox rate ($0.2499/GB-mo). Billed compute hours = running share. Default 1.",
   "source": "https://www.runloop.ai/pricing"
  }
 ],
 "caveats": [
  "Price history (v8-history audit): the 2025-09-13 page capture was internally inconsistent on snapshot storage ($0.0018432/GB-h vs $0.00003072/GB-s, a 60x unit mismatch); captures from 2025-12-11 onward agree on $0.000072/GB-h (= current $0.05256/GB-mo, live-checked 2026-09-28). Blueprint build meter was shown as $0.108/CPU-h (2026-06-15) and is $0.252/build-hour now (2026-08-29, live) - different units, not a like-for-like 133% increase.",
  "Suspend/resume is Pro-only ($250/mo, not credit): the pricing page lists 'Suspend and Resume' only under Pro ('Everything in Basic plan, plus:'). The estimator models one on-demand regime with idle suspend for every plan, because it picks a regime before it adds plan fees; so on the Basic plan, with idle suspend switched on, it can understate the bill by the idle share it saves (up to ~10% at the default 20% idle). On Basic, park state as a disk snapshot after shutdown (https://www.runloop.ai/pricing, checked 2026-10-14).",
  "Suspended devboxes bill their disk at the devbox rate ($0.2499/GB-mo), 4.75x the snapshot rate ($0.0526/GB-mo); disk_billed_when_stopped refers to the suspended state (shutdown is terminal and deletes the disk).",
  "Free storage allowance (Basic 100 GB, Pro 1 TB) not modelled: unclear which storage classes it covers or whether it is GB-month.",
  "Egress price and free allowance not published (null): re-checked 2026-09-28 on runloop.ai/pricing (no egress/bandwidth line) and the docs index (docs.runloop.ai/llms.txt: only network-policy controls, no transfer pricing). No public IPv4 (HTTPS tunnels + TLS-wrapped SSH only).",
  "Concurrency limits published only for the trial (3); Basic/Pro caps unknown.",
  "Compute also billed in initializing/suspending/resuming states; boot overhead duration not published (set 0).",
  "Flex provisioning tier (alpha, pre-emptible, lazily provisioned) exists but no price published - not modelled.",
  "Blueprint builds billed flat $0.252/h; blueprint/object storage $0.0526/GB-mo; Axons $0.006/axon-h - not modelled.",
  "Pricing page says Basic '1st month FREE' though Basic has no fee; meaning unclear.",
  "Max session: keep_alive_time_seconds max 48 h (default 1 h) is a fixed lifetime; an idle policy (lifecycle.after_idle, shutdown on any plan, suspend on Pro) replaces it and has no documented cap, so no 48 h hard cap is modelled (max_session_h null). docs.runloop.ai/docs/devboxes/start-stop: 'Configure either `keep_alive_time_seconds` or an idle policy, not both.' (checked 2026-10-14)",
  "Regions not documented/selectable. Isolation: marketing says microVM on custom bare-metal hypervisor.",
  "dax benchmark env reported 8 logical CPUs / 15.6 GiB.",
  "Idle-policy devboxes have no lifetime cap: OpenAPI LaunchParameters.after_idle says 'If after_idle is set, Devbox will ignore keep_alive_time_seconds.' The 48 h max applies only to keep_alive_time_seconds (default 1 h).",
  "Default devbox size when resource_size_request is unset is SMALL (1 vCPU / 2 GiB / 4 GiB disk, $0.1598/h). SDK/benchmark defaults therefore run on SMALL.",
  "Account limits besides the trial: max 100 network policies per account (more via support); blueprint builds run 32 at a time with a queue of up to 2,000; SSH sessions have a 15-minute inactivity timeout. An ACCOUNT_STATUS_DISABLED_QUOTA_REACHED account status exists in the API, so paid accounts do have quotas, but none are published."
 ],
 "sources": [
  "https://www.runloop.ai/pricing",
  "https://docs.runloop.ai/docs/devboxes/configuration/sizes",
  "https://docs.runloop.ai/docs/overview/your-runloop-trial",
  "https://docs.runloop.ai/docs/devboxes/lifecycle",
  "https://docs.runloop.ai/docs/devboxes/snapshots",
  "https://docs.runloop.ai/openapi-specs/stainless-processed-openapi.json",
  "https://docs.runloop.ai/docs/overview/release-notes",
  "https://docs.runloop.ai/docs/devboxes/start-stop",
  "https://trust.oneleet.com/runloop",
  "https://rywalker.com/research/runloop"
 ],
 "fleet": {
  "default_max_instances": 3,
  "default_max_vcpu": null,
  "default_max_gpus": null,
  "raise": "self-serve",
  "raise_time_days": null,
  "verification": "No card for Pro Trial.",
  "tiers": "Pro Trial 3 running devboxes; upgrading to paid Basic/Pro lifts trial caps; paid maximum not specified.",
  "notes": "No numeric 50/300/1,000 paid entitlement established. Published customers running large fleets are not new-account quota guarantees. Trial max keepalive 1 hour and retained-object caps additionally apply.",
  "sources": [
   "https://docs.runloop.ai/docs/overview/your-runloop-trial",
   "https://www.runloop.ai/pricing"
  ],
  "researched": "2026-09-28"
 },
 "audit_2026_09_29": {
  "applied": 3,
  "source": "checked against the provider's live pricing and docs pages",
  "reviewed": 1
 },
 "feature_evidence": {
  "snapshot_auto": {
   "value": true,
   "source": "https://docs.runloop.ai/docs/devboxes/lifecycle",
   "quote": "The Devbox disk is being snapshotted and as part of suspension",
   "note": "Opt-in idle policy: lifecycle.after_idle {idle_time_seconds, on_idle: \"suspend\"} (docs.runloop.ai/docs/devboxes/start-stop: 'suspend when they are idle using the `lifecycle.after_idle` launch parameter'; default does nothing on idle). Resume on HTTP tunnel traffic or Axon event. Disk only: 'Only disk state, not in-memory state is preserved during suspend/resume operations'. Suspend is a Pro-plan ($250/mo) feature. keep_alive expiry (default 1h, max 48h) is a terminal shutdown, not a snapshot.",
   "checked": "2026-09-29"
  },
  "snapshot_on_demand": {
   "value": true,
   "source": "https://docs.runloop.ai/docs/devboxes/snapshots",
   "quote": "Currently only disk snapshots are supported.",
   "note": "Sync or async disk snapshot of a running devbox via API/SDK/CLI; new devboxes boot from it ('create 3 parallel devboxes from that snapshot') = fork/fan-out. No memory. Snapshots also available on Basic plan; can be made public.",
   "checked": "2026-09-29"
  },
  "harness_api": {
   "value": true,
   "source": "https://docs.runloop.ai/docs/axons/broker/claude",
   "quote": "Use the Claude JSON protocol to connect Broker to Claude Code CLI",
   "note": "Axons (beta) + Broker: a broker_mount launches the agent in the devbox; you publish prompts (query / session/prompt) to the Axon and stream agent output over SSE; replay/resume of session history via Remote Agents SDK (TypeScript); suspended devbox auto-resumes on a new Axon event. Harnesses: Claude Code (claude_json protocol) and any ACP agent (docs name OpenCode and Goose).",
   "checked": "2026-09-29"
  },
  "egress_allowlist": {
   "value": true,
   "source": "https://docs.runloop.ai/docs/network-policies",
   "quote": "Network Policies let you restrict egress traffic to specific hostnames, block all external access, or allow communication between your Devboxes.",
   "note": "allowed_hostnames with first-label wildcards, allow_all, deny-all, devbox-to-devbox toggle, agent-gateway / MCP-hub toggles; separate build vs runtime policies for blueprints; 100 policies/account. No IP/CIDR rules documented.",
   "checked": "2026-09-29",
   "level": "domain"
  },
  "egress_http_rules": {
   "value": false,
   "source": "https://docs.runloop.ai/docs/network-policies",
   "quote": "allowed_hostnames",
   "note": "Network policy options table lists only allow_all, allowed_hostnames, allow_devbox_to_devbox, allow_agent_gateway, allow_mcp_gateway: no method/path/header rules. (MCP Hub has tool-level allowlists for MCP servers, which is not HTTP egress rules.)",
   "checked": "2026-09-29"
  },
  "ingress_rules": {
   "value": true,
   "source": "https://docs.runloop.ai/docs/devboxes/tunnels",
   "quote": "With `auth_mode: \"authenticated\"`, requests must include a bearer token.",
   "note": "One tunnel per devbox (https://{port}-{key}.tunnel.runloop.ai), enabled explicitly, auth_mode open or authenticated. No public IPv4; SSH only via TLS-wrapped proxy. No IP allowlists documented.",
   "checked": "2026-09-29"
  },
  "guest_firewall": {
   "value": true,
   "source": "https://docs.runloop.ai/docs/devboxes/capabilities/docker-in-docker",
   "quote": "When using these blueprints, your Devbox profile is `root`.",
   "note": "Marketing: 'Secure, isolated, micro-VM* environment (Two layers of security, VM + Container)' (runloop.ai). Root + working dockerd on *-dnd blueprints implies netfilter/CAP_NET_ADMIN inside; on default blueprints (user with sudo inside a container layer) NET_ADMIN not documented. iptables/nftables never mentioned in docs.",
   "checked": "2026-09-29",
   "derived": true
  },
  "secret_proxy": {
   "value": "any-http",
   "source": "https://docs.runloop.ai/docs/devboxes/agent-gateways",
   "quote": "Your real credentials stay secure on Runloop's servers—the agent only gets a temporary gateway token.",
   "note": "Agent Gateways: gateway_configs with arbitrary endpoint + auth_mechanism bearer/header/basic (+ up to 8 custom headers from secrets); docs show a 'Custom API Gateway' for an internal company API and a private PyPI index. Devbox gets $<PREFIX>_URL + a devbox-bound token. Agent must call the gateway URL (base-URL rewrite, not transparent MITM). HTTP only; MCP Hub does the same for MCP servers. No DB/SSH/git-protocol coverage documented. Account secrets are otherwise injected as env vars.",
   "checked": "2026-09-29"
  },
  "volume_attach": {
   "value": false,
   "source": "https://docs.runloop.ai/docs/devboxes/mounts/overview",
   "quote": "Runloop supports four types of mounts",
   "note": "The four mount types are code (git clone), object (storage object copied/extracted at create: 'Archive objects are automatically extracted to the specified path.'), file (inline content), agent. No persistent/block/network volume product; devbox disk 2-64 GiB only.",
   "checked": "2026-09-29"
  },
  "volume_shared": {
   "value": false,
   "source": "https://docs.runloop.ai/docs/devboxes/mounts/overview",
   "quote": "Runloop supports four types of mounts",
   "note": "Storage objects can be mounted into many devboxes, but as per-devbox copies at create time, not a live shared filesystem.",
   "checked": "2026-09-29"
  },
  "nested_virt": {
   "value": false,
   "source": "https://docs.runloop.ai/docs/devboxes/capabilities/docker-in-docker",
   "quote": "Running Docker on a Devbox (Docker-in-Docker)",
   "note": "not offered: outside the product's scope. Docs cover Docker-in-Docker (dnd blueprints) as the way to run containers inside a Devbox, but never mention /dev/kvm, nested virtualization, privileged VM-in-VM, or any emulator support; the OpenAPI spec has no such flag. Runloop's own microVM isolation (custom bare-metal hypervisor) is not documented as exposing hardware virtualization to the guest.",
   "checked": "2026-09-30"
  },
  "anti_bot": {
   "value": false,
   "source": "https://docs.runloop.ai/llms-full.txt",
   "quote": "the finished Browserbase example: clone it and run two commands... the finished Kernel example",
   "note": "not offered: outside the product's scope. Runloop's own browser docs describe pairing a Devbox with third-party stealth/proxy browser services (Browserbase, Kernel) via tutorials/examples rather than shipping first-party anti-bot/fingerprinting itself; no stealth or fingerprint-evasion feature is documented on runloop.ai or docs.runloop.ai.",
   "checked": "2026-09-30"
  },
  "captcha_solving": {
   "value": false,
   "source": "https://docs.runloop.ai/llms-full.txt",
   "quote": "the finished Browserbase example: clone it and run two commands... the finished Kernel example",
   "note": "not offered: outside the product's scope. No CAPTCHA-solving feature, endpoint, or partner integration for CAPTCHA specifically is documented anywhere in the docs or pricing pages; Runloop is a Linux sandbox/devbox platform, not a browser-automation/anti-bot service.",
   "checked": "2026-09-30"
  },
  "egress_ip_type": {
   "value": "datacenter",
   "source": "https://docs.runloop.ai/docs/network-policies",
   "quote": "Network Policies let you restrict egress traffic to specific hostnames, block all external access, or allow communication between your Devboxes.",
   "note": "Egress is controlled only by hostname allow/deny rules; no proxy, residential, or mobile IP options are documented anywhere (pricing page, network-policies docs, OpenAPI spec). Devboxes have no public IPv4 (card: 'No public IPv4 (HTTPS tunnels + TLS-wrapped SSH only)'), implying standard shared cloud-datacenter outbound IPs with no residential/mobile option.",
   "checked": "2026-09-30"
  },
  "fork_running": {
   "value": true,
   "source": "https://docs.runloop.ai/openapi-specs/stainless-processed-openapi.json",
   "quote": "Synchronously create a disk snapshot of a running Devbox.",
   "note": "The snapshot_disk / snapshot_disk_async endpoints explicitly snapshot a running devbox's disk without stopping it; new devboxes can then be created from that snapshot ('create 3 parallel devboxes from that snapshot' per docs), i.e. a running machine can be cloned into new ones without stopping it. Memory/process state is not included (memory_snapshot_fork remains false).",
   "checked": "2026-09-30"
  },
  "live_resize": {
   "value": false,
   "source": "https://docs.runloop.ai/openapi-specs/stainless-processed-openapi.json",
   "quote": "POST /v1/devboxes/{id}/resume, /v1/devboxes/{id}/suspend, /v1/devboxes/{id}/shutdown, /v1/devboxes/{id}/keep_alive",
   "note": "The full Devbox API surface has no endpoint to change vCPU/RAM of a running devbox; resource_size_request is set only at create time (POST /v1/devboxes), and the only 'resize' in the spec is PtyControlAction resizing terminal cols/rows, unrelated to compute resources.",
   "checked": "2026-09-30"
  },
  "own_agent_api": {
   "value": false,
   "source": "https://docs.runloop.ai/docs/devboxes/agents/using-agents-api",
   "quote": "The Agents API allows you to create, manage, and deploy AI agents on the Runloop platform. Agents can be sourced from Git repositories, npm packages, PyPI packages, or Runloop Objects.",
   "note": "not offered: outside the product's scope. Runloop's 'Agents API' is a registry/deployment mechanism for mounting the CUSTOMER's own coding-agent code (Git/npm/pip/object) into a devbox, plus 'Reflex' for observing/debugging those agents - not a first-party Runloop-operated task agent (browser/computer-use/research agent) that you drive via API. This overlaps with harness_api, already true.",
   "checked": "2026-09-30"
  },
  "static_egress_ip": {
   "value": false,
   "source": "https://docs.runloop.ai/docs/network-policies",
   "quote": "Network Policies let you restrict egress traffic to specific hostnames, block all external access, or allow communication between your Devboxes.",
   "note": "No static/dedicated/fixed outbound IP is documented anywhere (pricing page, network docs, OpenAPI spec); egress control is purely hostname-based allow/deny lists, and the card notes 'No proxy or egress-IP options documented.'",
   "checked": "2026-09-30"
  },
  "hipaa": {
   "value": null,
   "corrected_from": true,
   "source": "https://www.runloop.ai/pricing",
   "quote": "SOC 2, HIPAA, and GDPR-ready infrastructure with isolated compute",
   "note": "Unconfirmed. The previous source https://www.runloop.ai/security now returns 404. The pricing page only says 'HIPAA ... ready' (marketing copy, no BAA or attestation), and Runloop's trust center (https://trust.oneleet.com/runloop) lists SOC 2 Type 2 only, no HIPAA.",
   "checked": "2026-10-14"
  },
  "soc2": {
   "value": true,
   "source": "https://trust.oneleet.com/runloop",
   "quote": "SOC 2 Type 2",
   "note": "Framework listed on Runloop's Oneleet trust center (client-rendered; read via headless Chrome). The pricing FAQ also says 'Yes. Runloop is SOC2 Type II certified.' (https://www.runloop.ai/pricing).",
   "checked": "2026-10-14"
  },
  "max_session_h": {
   "value": "none",
   "source": "https://docs.runloop.ai/openapi-specs/stainless-processed-openapi.json",
   "quote": "Configure Devbox lifecycle based on idle activity. If after_idle is set, Devbox will ignore keep_alive_time_seconds.",
   "note": "keep_alive_time_seconds: 'Default is 1 hour. Maximum is 48 hours (172800 seconds).' (same spec). An idle policy (lifecycle.after_idle, shutdown on any plan or suspend on Pro) replaces the keep-alive timer and no cap is documented for it; docs.runloop.ai/docs/devboxes/start-stop: 'Configure either `keep_alive_time_seconds` or an idle policy, not both.'",
   "checked": "2026-10-14"
  },
  "eu_data_residency": {
   "value": false,
   "source": "https://docs.runloop.ai/openapi-specs/stainless-processed-openapi.json",
   "quote": "areaServed: Worldwide",
   "note": "not offered: outside the product's scope. Devboxes have no region parameter anywhere in the OpenAPI spec or docs; the card's own research states 'Regions not documented/selectable.' The company is US-based (San Francisco) and markets itself as serving customers worldwide from a single region, with no EU-specific data-residency option documented.",
   "checked": "2026-09-30"
  },
  "persistent_disk": {
   "value": true,
   "corrected_from": false,
   "source": "https://docs.runloop.ai/docs/devboxes/lifecycle",
   "quote": "Only disk state, not in-memory state is preserved during suspend/resume operations.",
   "note": "Contradiction confirmed: disk survives suspend/resume (and disk-only snapshots persist indefinitely, docs.runloop.ai/docs/devboxes/snapshots). A parallel OpenAI Agents SDK tutorial (docs.runloop.ai/docs/tutorials/openai-agentssdk-runloop) says 'Everything in the sandbox persists during suspend/resume: Installed system packages, Filesystem contents, Running databases and their data'. Default on terminal shutdown/keep-alive expiry is disk deletion; opt into suspend (Pro plan) or a disk snapshot to keep the filesystem. Card's persistent_disk:false is wrong; correct value is true.",
   "checked": "2026-09-30"
  },
  "memory_snapshot_fork": {
   "value": false,
   "source": "https://docs.runloop.ai/docs/devboxes/snapshots",
   "quote": "Currently only disk snapshots are supported.",
   "note": "Snapshots (and forks created from them) restore disk state only; in-memory/process state is never captured, matching the lifecycle doc's 'not in-memory state is preserved' language for suspend as well. No memory-snapshot fork product exists.",
   "checked": "2026-09-30"
  },
  "volumes": {
   "value": false,
   "source": "https://docs.runloop.ai/docs/devboxes/mounts/overview",
   "quote": "Runloop supports four types of mounts",
   "note": "The four mount types are code_mount (git clone), object_mount (storage object copy), file_mount (inline content), and agent_mount — none is a persistent/attachable block or network volume. Only resource is the devbox's own disk (2-64 GiB, set at creation). No volume-attach or shared-volume product documented anywhere in the docs/OpenAPI spec.",
   "checked": "2026-09-30"
  },
  "public_ipv4": {
   "value": false,
   "source": "https://docs.runloop.ai/docs/devboxes/tunnels",
   "quote": "Let's use devbox tunnels to securely access ports on your devbox over a simple url.",
   "note": "The only documented way to reach a devbox's exposed ports is an HTTPS tunnel URL (https://{port}-{key}.tunnel.runloop.ai) or SSH via a TLS-wrapped proxy (docs.runloop.ai/docs/devboxes/ssh, rli devbox ssh). No public/static IPv4 per-devbox is mentioned in the tunnels doc, the sizes/architecture docs, the OpenAPI spec, or the pricing page (no IP line item). Absence across all official surfaces, not a single explicit 'no public IP' statement, so medium confidence.",
   "checked": "2026-09-30"
  },
  "agent_harnesses": {
   "value": true,
   "corrected_from": false,
   "source": "https://docs.runloop.ai/docs/devboxes/agents/using-agents-api",
   "quote": "Runloop provides ready-to-use public wrappers for popular coding agents like Claude Code, Codex, OpenCode, Gemini CLI, and DeepAgents.",
   "note": "Public Agents can be listed via runloop.agent.list_public() and mounted onto a devbox at creation. There is also a first-party 'runloop/agents' blueprint pre-built for this (docs.runloop.ai/docs/devboxes/blueprints/overview, used with broker_mount examples for Claude/OpenCode). Card's agent_harnesses:false is wrong; correct value is true (harness_api, already true on the card, is the separate Broker/Axon API that drives them).",
   "checked": "2026-09-30"
  },
  "gpu": {
   "value": false,
   "source": "https://docs.runloop.ai/docs/devboxes/configuration/sizes",
   "quote": "Runloop provides the following resource configurations for Devboxes: | Size | CPU | Memory | Storage | $/hr |",
   "note": "The full predefined-size table (X_SMALL..XX_LARGE) and the custom_cpu_cores/custom_gb_memory launch parameters cover only CPU, memory, and disk — no GPU column, GPU size, or GPU launch parameter exists, and the OpenAPI spec has zero 'gpu' fields. One tutorial page (docs.runloop.ai/docs/overview/runloop-features and the OpenAI Agents SDK tutorial) lists 'GPU access' as a generic example of 'capabilities a blueprint could provide', but no actual GPU-enabled blueprint, size, or price is published anywhere, so this looks like unshipped/aspirational copy rather than a real offering. Medium confidence because of that one contradicting (but unsubstantiated) mention.",
   "checked": "2026-09-30"
  },
  "windows": {
   "value": false,
   "source": "https://docs.runloop.ai/llms.txt",
   "quote": "Runloop is the best platform for running isolated Linux sandbox environments (Devboxes) for AI coding agents",
   "note": "Product is explicitly Linux-only sandboxes; no Windows devbox/blueprint is mentioned anywhere in the docs. Outside what the product is, medium confidence per task rules.",
   "checked": "2026-09-30"
  },
  "macos": {
   "value": false,
   "source": "https://docs.runloop.ai/llms.txt",
   "quote": "Runloop is the best platform for running isolated Linux sandbox environments (Devboxes) for AI coding agents",
   "note": "Same as windows: Linux-only microVM sandboxes; no macOS machines offered or mentioned. Outside what the product is, medium confidence.",
   "checked": "2026-09-30"
  },
  "self_host": {
   "value": false,
   "source": "https://runloop.ai/deploy-to-vpc",
   "quote": "VPC Deploy support for AWS, GCP and Azure — Operate within the comfort and privacy of your own cloud environments ... Dedicated support team with guaranteed SLAs",
   "note": "The Deploy-to-VPC / Enterprise tier is Runloop-managed software running inside the customer's cloud account (BYOC, already true on the card) — the deployment comparison table still lists 'Managed Operations' for that tier, i.e. Runloop operates it. There is no self-hosted/on-prem package the customer runs and operates themselves; the core Devbox service, hypervisor, and control plane are not distributed for self-hosting.",
   "checked": "2026-09-30"
  },
  "open_source": {
   "value": false,
   "source": "https://api.github.com/orgs/runloopai/repos",
   "quote": "api-client-python ... MIT License; api-client-ts ... MIT License; rl-cli ... MIT License",
   "note": "Runloop open-sources client tooling only (Python/TS SDKs, the rl-cli CLI, examples) under MIT — 'The Runloop CLI is open-source. We welcome contributions!' (docs.runloop.ai/docs/tools/rl-cli). The core product (the Devbox sandbox runtime/hypervisor/control-plane that you'd need to run the service yourself) has no public repo and is a closed-source managed SaaS. Medium confidence because 'open source' is partially true for the tooling layer even though the core product is not.",
   "checked": "2026-09-30"
  },
  "fast_boot": {
   "value": true,
   "source": "https://www.computesdk.com/benchmarks",
   "quote": "burst of 100: p95 1143 ms, 100% started",
   "note": "ComputeSDK sandbox benchmark 2026-09-25",
   "checked": "2026-09-25"
  },
  "usage_api": {
   "value": false,
   "source": "https://www.runloop.ai/pricing",
   "quote": "Billed separately from your plan, based on actual consumption. Compute and storage charges accrue in real-time and are visible on the dashboard. Suspended devboxes do not accrue compute or memory charges.",
   "note": "granularity: account-only; cost: no; Runloop's pricing page and OpenAPI spec show billing integration with Stripe and AWS Marketplace, but no REST API endpoint or SDK method exists to programmatically retrieve per-sandbox usage data. Billing is account-only via the dashboard or invoice; no per-devbox usage endpoint.",
   "confidence": "medium",
   "checked": "2026-10-01"
  },
  "persist_scope": {
   "value": "whole",
   "source": "https://docs.runloop.ai/docs/devboxes/lifecycle",
   "quote": "Only disk state, not in-memory state is preserved during suspend/resume operations.",
   "note": "The whole disk survives a stop, installed packages included.",
   "checked": "2026-10-01"
  }
 },
 "locations": [],
 "locations_source": null,
 "locations_quote": "Regions not documented/selectable",
 "locations_checked": "2026-10-01"
}