{
 "features_resolved": {
  "snapshot_any": false,
  "snapshot_mem": false,
  "fork": false,
  "pause_resume": false,
  "persistent_disk": true,
  "whole_disk": false,
  "persist_scope": true,
  "volumes": true,
  "auto_stop_idle": true,
  "long_sessions": true,
  "custom_image": false,
  "image_snapshot": false,
  "image_oci": false,
  "vm_isolation": true,
  "docker_inside": true,
  "nested_virt": true,
  "root": true,
  "systemd": false,
  "browser": true,
  "desktop": false,
  "computer_use": false,
  "code_interpreter": false,
  "browser_control": null,
  "desktop_control": null,
  "browser_and_desktop": false,
  "anti_bot": false,
  "captcha_solving": false,
  "residential_ip": false,
  "agent_harnesses": false,
  "ssh": true,
  "public_ipv4": false,
  "inbound_https": false,
  "custom_domain": false,
  "raw_tcp_inbound": false,
  "egress_allowlist": false,
  "open_internet": null,
  "static_egress_ip": true,
  "private_network": false,
  "self_host": false,
  "byoc": false,
  "open_source": false,
  "soc2": true,
  "hipaa": false,
  "sso": false,
  "gpu": false,
  "arm64": true,
  "windows": true,
  "macos": true,
  "lang_python": true,
  "lang_node": true,
  "lang_go": null,
  "lang_rust": null,
  "lang_java": null,
  "gpu_desktop": false,
  "credential_injection": null,
  "egress_http_rules": false,
  "wake_on_request": false,
  "live_resize": false,
  "fork_running": false,
  "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": false,
  "usage_api": true,
  "snapshot_auto": false,
  "snapshot_on_demand": false,
  "harness_api": false,
  "own_agent_api": false,
  "fast_boot": null,
  "strong_isolation": true,
  "ingress_rules": false,
  "guest_firewall": true,
  "secret_proxy": false,
  "secret_proxy_any": false,
  "volume_attach": true,
  "volume_shared": false,
  "sidecar": null,
  "fuse": true,
  "kernel_features": true,
  "burst": null
 },
 "company": {
  "id": "blacksmith",
  "checked": "2026-09-30",
  "company": "Blacksmith Labs, Inc. (Blacksmith)",
  "ownership": {
   "value": "independent",
   "parent": null,
   "source": "https://www.ycombinator.com/companies/blacksmith",
   "quote": "Blacksmith The fastest way to run your GitHub Actions"
  },
  "stage": {
   "value": "series-a",
   "source": "https://techcrunch.com/2025/09/17/google-ventures-doubles-down-on-dev-tool-startup-blacksmith-just-4-months-after-its-seed-round/",
   "quote": "The $10 million Series A closed in just 14 days, with Google Ventures doubling down after first backing Blacksmith's $3.5 million seed in May.",
   "confidence": "high",
   "note": "Last priced round is a $10M Series A led by Google Ventures (Sept 2025), four months after a $3.5M seed (also led by GV, May 2025)."
  },
  "accelerators": [
   {
    "name": "Y Combinator",
    "batch": "Winter 2024",
    "source": "https://techcrunch.com/2025/09/17/google-ventures-doubles-down-on-dev-tool-startup-blacksmith-just-4-months-after-its-seed-round/",
    "quote": "Blacksmith launched out of Y Combinator's Winter 2024 batch and today has a team of 11.",
    "confidence": "high",
    "via": "research"
   }
  ],
  "total_funding_usd": {
   "value": 13500000,
   "status": "confirmed",
   "basis": "Sum of $3.5M seed (May 2025) + $10M Series A (Sept 2025), both per TechCrunch",
   "source": "https://techcrunch.com/2025/09/17/google-ventures-doubles-down-on-dev-tool-startup-blacksmith-just-4-months-after-its-seed-round/",
   "quote": "The $10 million Series A closed in just 14 days, with Google Ventures doubling down after first backing Blacksmith's $3.5 million seed in May."
  },
  "last_round": {
   "type": "series-a",
   "amount_usd": 10000000,
   "date": "2025-09",
   "leads": [
    "Google Ventures (GV)"
   ],
   "status": "confirmed",
   "source": "https://techcrunch.com/2025/09/17/google-ventures-doubles-down-on-dev-tool-startup-blacksmith-just-4-months-after-its-seed-round/",
   "quote": "Blacksmith, a Y Combinator alum, raised a $10M Series A led by Google Ventures to cut costs and speed up software builds."
  },
  "investors": [
   "Google Ventures (GV)",
   "Spencer Kimball (CEO, Cockroach Labs)",
   "David Cramer (co-founder, Sentry)"
  ],
  "portfolio_listings": [
   {
    "source": "GV (Google Ventures / Alphabet Ventures)",
    "company": "Blacksmith",
    "batch": null,
    "how": "exact-name"
   }
  ],
  "revenue": {
   "value_usd": 3500000,
   "kind": "ARR",
   "as_of": "2025-09",
   "status": "confirmed",
   "basis": "Company-reported figure quoted by TechCrunch (co-founder/CEO interview)",
   "source": "https://techcrunch.com/2025/09/17/google-ventures-doubles-down-on-dev-tool-startup-blacksmith-just-4-months-after-its-seed-round/",
   "quote": "Since then, revenue has reached $3.5 million ARR with more than 700 customers, supported by a team of eight, and the company is aiming to double that figure by year's end, Jayaprakash told TechCrunch."
  },
  "employees": {
   "value": 11,
   "source": "https://techcrunch.com/2025/09/17/google-ventures-doubles-down-on-dev-tool-startup-blacksmith-just-4-months-after-its-seed-round/"
  },
  "note": "YC W24 company, San Francisco-based, founded January 2024 by Aditya (JP) Jayaprakash, Aditya Maru, and Aayush Shah (ex-Faire, Cockroach Labs). Website blacksmith.sh matches the YC directory listing (https://www.ycombinator.com/companies/blacksmith), confirming the hint. $1M ARR hit Feb 2025, grew to $3.5M ARR by Sept 2025 with 700+ customers; targets teams of 500+ engineers (Ashby, Chroma, Clerk, Supabase among customers)."
 },
 "id": "blacksmith",
 "name": "Blacksmith (GitHub Actions runners)",
 "url": "https://www.blacksmith.sh/pricing",
 "category": "macos",
 "isolation": "vm",
 "modes": [
  {
   "key": "on-demand",
   "label": "macOS M4 runners, per minute",
   "flags": [],
   "os": [
    "macos"
   ],
   "pricing": "sizes",
   "vcpu_h": null,
   "ram_gib_h": null,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": null,
   "min_vcpu": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes": [
    {
     "name": "blacksmith-6vcpu-macos (M4, 6 vCPU / 24 GB)",
     "vcpu": 6,
     "ram_gib": 24,
     "disk_gib": 150,
     "hour": 4.8,
     "month_cap": null,
     "per_minute_usd": 0.08
    },
    {
     "name": "blacksmith-12vcpu-macos (M4, 12 vCPU / 48 GB)",
     "vcpu": 12,
     "ram_gib": 48,
     "disk_gib": 250,
     "hour": 9.6,
     "month_cap": null,
     "per_minute_usd": 0.16
    }
   ],
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 60,
   "granularity_s": 60,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "note": "$0.08/min for 6 vCPU (pricing page). 12 vCPU = $0.16/min derived from the docs' billing rule (macOS 6 vCPU minute = 20 x64-2vCPU minutes, scaling with vCPU).",
   "product_class": "ci-runner"
  },
  {
   "key": "windows",
   "label": "Windows Server 2025 runners (public beta), per minute",
   "flags": [
    "beta"
   ],
   "os": [
    "windows"
   ],
   "pricing": "sizes",
   "vcpu_h": null,
   "ram_gib_h": null,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": null,
   "min_vcpu": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes": [
    {
     "name": "2 vCPU / 7 GB",
     "vcpu": 2,
     "ram_gib": 7,
     "disk_gib": 130,
     "hour": 0.48,
     "month_cap": null,
     "per_minute_usd": 0.008
    },
    {
     "name": "4 vCPU / 14 GB",
     "vcpu": 4,
     "ram_gib": 14,
     "disk_gib": 130,
     "hour": 0.96,
     "month_cap": null,
     "per_minute_usd": 0.016
    },
    {
     "name": "8 vCPU / 28 GB",
     "vcpu": 8,
     "ram_gib": 28,
     "disk_gib": 130,
     "hour": 1.92,
     "month_cap": null,
     "per_minute_usd": 0.032
    },
    {
     "name": "16 vCPU / 56 GB",
     "vcpu": 16,
     "ram_gib": 56,
     "disk_gib": 130,
     "hour": 3.84,
     "month_cap": null,
     "per_minute_usd": 0.064
    },
    {
     "name": "32 vCPU / 112 GB",
     "vcpu": 32,
     "ram_gib": 112,
     "disk_gib": 130,
     "hour": 7.68,
     "month_cap": null,
     "per_minute_usd": 0.128
    }
   ],
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 60,
   "granularity_s": 60,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "note": "$0.008/min for 2 vCPU (pricing page); docs: 'The same conversion rate applies proportionally to runners with higher vCPU counts' (4 vCPU = $0.016/min, etc.).",
   "product_class": "ci-runner",
   "features": {
    "docker_inside": false,
    "nested_virt": false
   }
  },
  {
   "key": "on-demand-linux",
   "label": "Ubuntu x64 runners, per minute",
   "flags": [],
   "os": [
    "linux"
   ],
   "pricing": "sizes",
   "vcpu_h": null,
   "ram_gib_h": null,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": null,
   "min_vcpu": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes": [
    {
     "name": "2 vCPU / 8 GB",
     "vcpu": 2,
     "ram_gib": 8,
     "disk_gib": 80,
     "hour": 0.24,
     "month_cap": null,
     "per_minute_usd": 0.004
    },
    {
     "name": "4 vCPU / 16 GB",
     "vcpu": 4,
     "ram_gib": 16,
     "disk_gib": 80,
     "hour": 0.48,
     "month_cap": null,
     "per_minute_usd": 0.008
    },
    {
     "name": "8 vCPU / 32 GB",
     "vcpu": 8,
     "ram_gib": 32,
     "disk_gib": 160,
     "hour": 0.96,
     "month_cap": null,
     "per_minute_usd": 0.016
    },
    {
     "name": "16 vCPU / 64 GB",
     "vcpu": 16,
     "ram_gib": 64,
     "disk_gib": 750,
     "hour": 1.92,
     "month_cap": null,
     "per_minute_usd": 0.032
    },
    {
     "name": "32 vCPU / 128 GB",
     "vcpu": 32,
     "ram_gib": 128,
     "disk_gib": 1500,
     "hour": 3.84,
     "month_cap": null,
     "per_minute_usd": 0.064
    }
   ],
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 60,
   "granularity_s": 60,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "note": "CI runner. Added 2026-09-28 (missing-providers audit). https://www.blacksmith.sh/pricing: Ubuntu x64 $0.004/min (per 2 vCPU, proportional to vCPU per docs); 3,000 free minutes/month. $0.004/min per 2 vCPU, proportional to vCPU (docs).",
   "product_class": "ci-runner",
   "features": {
    "nested_virt": true
   }
  },
  {
   "key": "on-demand-linux-arm64",
   "label": "Ubuntu ARM runners, per minute",
   "flags": [],
   "os": [
    "linux"
   ],
   "pricing": "sizes",
   "vcpu_h": null,
   "ram_gib_h": null,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": null,
   "min_vcpu": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes": [
    {
     "name": "blacksmith-2vcpu-ubuntu-2404-arm (2 vCPU / 6 GB)",
     "vcpu": 2,
     "ram_gib": 6,
     "disk_gib": 75,
     "hour": 0.15,
     "month_cap": null,
     "per_minute_usd": 0.0025
    },
    {
     "name": "blacksmith-4vcpu-ubuntu-2404-arm (4 vCPU / 12 GB)",
     "vcpu": 4,
     "ram_gib": 12,
     "disk_gib": 75,
     "hour": 0.3,
     "month_cap": null,
     "per_minute_usd": 0.005
    },
    {
     "name": "blacksmith-8vcpu-ubuntu-2404-arm (8 vCPU / 24 GB)",
     "vcpu": 8,
     "ram_gib": 24,
     "disk_gib": 160,
     "hour": 0.6,
     "month_cap": null,
     "per_minute_usd": 0.01
    },
    {
     "name": "blacksmith-16vcpu-ubuntu-2404-arm (16 vCPU / 48 GB)",
     "vcpu": 16,
     "ram_gib": 48,
     "disk_gib": 750,
     "hour": 1.2,
     "month_cap": null,
     "per_minute_usd": 0.02
    },
    {
     "name": "blacksmith-32vcpu-ubuntu-2404-arm (32 vCPU / 96 GB)",
     "vcpu": 32,
     "ram_gib": 96,
     "disk_gib": 1500,
     "hour": 2.4,
     "month_cap": null,
     "per_minute_usd": 0.04
    }
   ],
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 60,
   "granularity_s": 60,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "features": {
    "arm64": true
   },
   "note": "CI runner. Added 2026-09-28 (missing-providers audit). https://www.blacksmith.sh/pricing: Ubuntu ARM $0.0025/min (2 vCPU), assumed proportional to vCPU like x64; sizes mirror x64 (not verified for arm). 3,000 free minutes/month shared."
  },
  {
   "key": "testbox",
   "label": "Testbox (agent dev VM on x64 runner rates, early beta)",
   "flags": [
    "beta"
   ],
   "os": [
    "linux"
   ],
   "pricing": "sizes",
   "sizes": [
    {
     "name": "2 vCPU / 8 GB",
     "vcpu": 2,
     "ram_gib": 8,
     "disk_gib": 80,
     "hour": 0.24,
     "month_cap": null
    },
    {
     "name": "4 vCPU / 16 GB",
     "vcpu": 4,
     "ram_gib": 16,
     "disk_gib": 80,
     "hour": 0.48,
     "month_cap": null
    },
    {
     "name": "8 vCPU / 32 GB",
     "vcpu": 8,
     "ram_gib": 32,
     "disk_gib": 160,
     "hour": 0.96,
     "month_cap": null
    },
    {
     "name": "16 vCPU / 64 GB",
     "vcpu": 16,
     "ram_gib": 64,
     "disk_gib": 750,
     "hour": 1.92,
     "month_cap": null
    },
    {
     "name": "32 vCPU / 128 GB",
     "vcpu": 32,
     "ram_gib": 128,
     "disk_gib": 1500,
     "hour": 3.84,
     "month_cap": null
    }
   ],
   "min_billed_seconds": 60,
   "granularity_s": 60,
   "start_fee": 0,
   "requires_always_on": false,
   "features": {
    "ssh": true,
    "auto_stop_idle": true,
    "nested_virt": true
   },
   "note": "Early beta. Warm microVM launched via a GitHub Actions workflow; the agent syncs a local tree over rsync/SSH and runs commands. Default idle timeout 30 min (configurable), billed per minute at CI runner pricing (x64 sizes shown; ARM at ARM runner rates)."
  }
 ],
 "storage": {
  "included_disk_gib": null,
  "disk_gib_month": 0.5,
  "disk_billed_when_stopped": true,
  "snapshot_gib_month": null,
  "paused_ram_billed": false
 },
 "network": {
  "egress_free_gib": null,
  "egress_gib": null,
  "ipv4_month": 100,
  "ipv4_available": true
 },
 "plans": [
  {
   "name": "Pay-as-you-go",
   "fee": 0,
   "flags": [],
   "fee_is_credit": false,
   "included_usd": 0,
   "per_seat": 0,
   "concurrency": null,
   "max_session_h": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes_allowed": null,
   "note": "3,000 free x64-2vCPU minutes/month per org (= $12), consumable on Windows (2x) and macOS (20x per 6 vCPU) runners."
  },
  {
   "name": "Enterprise",
   "fee": null,
   "flags": [
    "sales"
   ],
   "fee_is_credit": false,
   "included_usd": 0,
   "per_seat": 0,
   "concurrency": null,
   "max_session_h": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes_allowed": null,
   "note": "99.9% SLA, priority support."
  }
 ],
 "free": {
  "monthly_credit": 12,
  "one_time_credit": 0
 },
 "features": {
  "linux": true,
  "windows": true,
  "macos": true,
  "arm64": true,
  "gpu": false,
  "gpu_types": [],
  "snapshot": "none",
  "pause_resume": false,
  "fork": false,
  "persistent_disk": true,
  "volumes": true,
  "auto_stop_idle": true,
  "max_session_h": null,
  "custom_image": false,
  "docker_inside": true,
  "nested_virt": true,
  "root": true,
  "systemd": false,
  "browser": true,
  "desktop": false,
  "computer_use": false,
  "code_interpreter": false,
  "agent_harnesses": false,
  "ssh": true,
  "public_ipv4": false,
  "inbound_https": false,
  "custom_domain": false,
  "raw_tcp_inbound": false,
  "egress_allowlist": false,
  "static_egress_ip": true,
  "private_network": false,
  "self_host": false,
  "byoc": false,
  "open_source": false,
  "regions": [
   "us",
   "eu"
  ],
  "soc2": true,
  "hipaa": false,
  "sso": false,
  "lang_python": true,
  "lang_node": true,
  "lang_go": null,
  "lang_rust": null,
  "lang_java": null,
  "gpu_desktop": false,
  "credential_injection": null,
  "egress_http_rules": false,
  "wake_on_request": false,
  "live_resize": false,
  "fork_running": false,
  "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": false,
  "snapshot_auto": false,
  "snapshot_on_demand": false,
  "harness_api": false,
  "ingress_rules": false,
  "guest_firewall": true,
  "secret_proxy": false,
  "volume_attach": true,
  "volume_shared": false,
  "isolation": "firecracker",
  "image_oci": false,
  "anti_bot": false,
  "captcha_solving": false,
  "egress_ip_type": "static-datacenter",
  "own_agent_api": false,
  "usage_api": true,
  "persist_scope": "folder",
  "persist_path": "sticky disk paths"
 },
 "perf": {
  "cpu_runs_s": null,
  "cold_start_ms": null,
  "burst_tti_ms": null,
  "dax_s": null
 },
 "knobs": [],
 "caveats": [
  "GitHub Actions runners only: jobs must be triggered by workflows; not a general agent sandbox.",
  "Per-minute rounding assumed (GitHub job minutes); not explicitly stated.",
  "Sticky disks / Docker layer cache $0.50/GB-month; static IPs $100/IP/month (Windows/Ubuntu).",
  "macOS capacity and regions not published.",
  "ARM prices for 4-32 vCPU ($0.005-$0.04/min) and macOS 12 vCPU ($0.16/min) are shown directly on the pricing page vCPU selector.",
  "Blacksmith Sandboxes (full-VM sandboxes for coding agents with environment snapshots) is not released yet: marked \"Coming soon\" on the pricing page and https://www.blacksmith.sh/sandboxes, with only a beta sign-up (\"Blacksmith will send an email when Beta becomes available\", checked 2026-10-14) and no published price; not encoded.",
  "Concurrency is published as unlimited (\"Blacksmith does not impose any concurrency limits\", https://docs.blacksmith.sh/blacksmith-runners/overview, 2026-10-14), but the engine cannot express an unlimited fleet, so large-fleet scenarios may still show the limit as unconfirmed.",
  "Sticky disks / Docker layer cache ($0.50/GB-month, metered hourly) are auto-evicted after 7 days without use. actions/cache is free: 25 GB per repo per week, LRU eviction."
 ],
 "sources": [
  "https://www.blacksmith.sh/pricing",
  "https://docs.blacksmith.sh/blacksmith-runners/overview"
 ],
 "fleet": {
  "default_max_instances": null,
  "default_max_vcpu": null,
  "default_max_gpus": null,
  "raise": null,
  "raise_time_days": null,
  "verification": "Pricing advertises no card required to try.",
  "tiers": null,
  "notes": "Runners docs FAQ (checked 2026-10-14, https://docs.blacksmith.sh/blacksmith-runners/overview): \"Blacksmith does not impose any concurrency limits i.e., limits on how many vCPUs or jobs that can be run simultaneously.\" Official blog also advertises no concurrency limits, scaling to hundreds of jobs/thousands of vCPUs. No finite new-account cap, verification details or review SLA published; null here means published as unlimited (the engine has no field for 'unlimited', see .work/engine-needs/blacksmith.md), not zero.",
  "quote": "Blacksmith does not impose any concurrency limits i.e., limits on how many vCPUs or jobs that can be run simultaneously.",
  "sources": [
   "https://docs.blacksmith.sh/blacksmith-runners/overview",
   "https://www.blacksmith.sh/blog/matrix-builds-with-github-actions",
   "https://www.blacksmith.sh/pricing"
  ],
  "researched": "2026-10-14"
 },
 "audit_2026_09_29": {
  "reviewed": 7
 },
 "feature_evidence": {
  "snapshot_auto": {
   "value": false,
   "source": "https://www.blacksmith.sh/security",
   "quote": "After a job completes, the microVM is destroyed, along with any of its state.",
   "note": "Runner VMs are ephemeral. Only opt-in sticky disks (incl. Docker layer cache) are committed as a new disk snapshot at job end ('Once the job completes, the sticky disk will be unmounted and committed for future invocations'); that is persistent-cache disk state, not machine state, and no memory.",
   "checked": "2026-09-29"
  },
  "snapshot_on_demand": {
   "value": false,
   "source": "https://www.blacksmith.sh/security",
   "quote": "After a job completes, the microVM is destroyed, along with any of its state.",
   "note": "No snapshot API for runners/Testboxes in the docs. The waitlist-only 'Blacksmith Sandboxes' beta advertises 'Fully managed environment snapshots ... to boot sandboxes from' (https://www.blacksmith.sh/sandboxes), unpriced and undocumented; not counted.",
   "checked": "2026-09-29"
  },
  "harness_api": {
   "value": false,
   "source": "https://docs.blacksmith.sh/codesmith/build-from-anywhere.md",
   "quote": "Install the [code]smith app via Slack ... Mention @codesmith on any PR in any GitHub repo that Blacksmith is connected to. ... Open the Web UI to directly message [code]smith.",
   "note": "Blacksmith's own background coding agent [code]smith ($1.75/agent compute unit) is driven only via web UI, Slack, GitHub mentions and Linear; no documented public API/SDK to start/stream/resume sessions. Testbox CLI (early beta) is the reverse direction: a local agent runs commands (rsync + exec) in a CI microVM - generic exec, not a harness API.",
   "checked": "2026-09-29"
  },
  "ingress_rules": {
   "value": false,
   "source": "https://docs.blacksmith.sh/blacksmith-observability/ssh-access.md",
   "quote": "SSH access is opt-in and must be enabled by a GitHub organization admin ... Only the GitHub user who triggered the job can SSH into the runner",
   "note": "CI runners expose no user ports/URLs (no inbound HTTPS). The only inbound path is the opt-in debug SSH port, gated by an org-level toggle and the triggering user's GitHub SSH keys; no user-configurable IP allowlists, security groups or port exposure.",
   "checked": "2026-09-29"
  },
  "guest_firewall": {
   "value": true,
   "source": null,
   "quote": null,
   "note": "Jobs run in Firecracker microVMs with their own kernel ('Our jobs never share kernels', security page) and GitHub-runner-style sudo/root; iptables/nftables inside should work. Not documented explicitly.",
   "checked": "2026-09-29",
   "derived": true
  },
  "secret_proxy": {
   "value": false,
   "source": "https://docs.blacksmith.sh/blacksmith-testbox/overview.md",
   "quote": "Testboxes sync your local changes to a Blacksmith microVM and run commands inside a real GitHub Actions job, with access to secrets, OIDC tokens, and service containers.",
   "note": "Secrets are ordinary GitHub Actions secrets/OIDC tokens exposed to the job inside the VM; no credential-injecting proxy documented. [code]smith MCP connector credentials are stored per user/org for MCP servers (not an outbound HTTP proxy for the sandbox).",
   "checked": "2026-09-29"
  },
  "volume_attach": {
   "value": true,
   "source": "https://docs.blacksmith.sh/blacksmith-caching/dependencies-sticky-disks.md",
   "quote": "Each sticky disk is hot-loaded into the runner and mounted at the specified path. The sticky disk is formatted as an ext4 filesystem.",
   "note": "Sticky disks: Ceph-backed ext4 block devices keyed by name, up to 5 per job, $0.50/GB-month, evicted after 7 days unused. Docker layer cache uses the same mechanism. Persistence is snapshot-clone-commit per job, not a live attached volume.",
   "checked": "2026-09-29"
  },
  "volume_shared": {
   "value": false,
   "source": "https://docs.blacksmith.sh/blacksmith-caching/dependencies-sticky-disks.md",
   "quote": "Every job always works on its own isolated clone of the sticky disk — jobs never share a live disk, and a job's writes only become visible to future runs if its clone is committed as the new snapshot when the job completes.",
   "note": "Many concurrent jobs can hydrate from the same sticky-disk snapshot (read-write private clone each), last commit wins; not a shared live filesystem. Optional branch protection limits which jobs can commit.",
   "checked": "2026-09-29"
  },
  "isolation": {
   "value": "firecracker",
   "source": "https://www.blacksmith.sh/security",
   "quote": "We run jobs in a secure, isolated Firecracker microVM on our own bare-metal hardware, protected by a private VPN.",
   "note": null,
   "checked": "2026-09-30"
  },
  "image_oci": {
   "value": false,
   "source": "https://docs.blacksmith.sh/blacksmith-runners/overview",
   "quote": "Blacksmith runners are 2x faster and costs 67% less than GitHub-hosted runners",
   "note": "not offered: Blacksmith runners boot fixed Ubuntu/Windows/macOS runner images (drop-in GitHub Actions runners); no documented way to start a job from a customer-supplied Docker/OCI image as the machine image itself. Docker layer caching / sticky disks speed up docker builds run inside the job, which is a different thing.",
   "checked": "2026-09-30"
  },
  "nested_virt": {
   "value": true,
   "source": "https://docs.blacksmith.sh/blacksmith-runners/overview",
   "quote": "Do Blacksmith runners support KVM or nested virtualization? Yes, on our x64 Linux runners. Nested virtualization makes it possible to run KVM-dependent jobs, emulator-based test environments, and other VM-backed CI tasks ... nested virtualization is only supported on x64 runners, not ARM runners.",
   "note": "True on x64 Linux runners; explicitly not supported on ARM runners, and Windows runners cannot run Docker Linux containers due to nested-virtualization constraints (card already encodes per-mode nested_virt for windows=false, linux x64=true).",
   "checked": "2026-09-30"
  },
  "anti_bot": {
   "value": false,
   "source": "https://www.blacksmith.sh/pricing",
   "quote": "Switch to Blacksmith and start saving up to 67% on your GitHub Actions",
   "note": "not offered: outside the product's scope (drop-in GitHub Actions CI runners, not a browser/scraping product).",
   "checked": "2026-09-30"
  },
  "captcha_solving": {
   "value": false,
   "source": "https://www.blacksmith.sh/pricing",
   "quote": "Switch to Blacksmith and start saving up to 67% on your GitHub Actions",
   "note": "not offered: outside the product's scope (CI runner product, not a browser automation/scraping product).",
   "checked": "2026-09-30"
  },
  "egress_ip_type": {
   "value": "static-datacenter",
   "source": "https://www.blacksmith.sh/pricing",
   "quote": "Static IPs (+$100/IP/mo.)",
   "note": "Datacenter outbound IPs; static IP is a paid add-on ($100/IP/month) for Ubuntu/Windows runners, otherwise shared/dynamic datacenter IPs.",
   "checked": "2026-09-30"
  },
  "wake_on_request": {
   "value": false,
   "source": "https://docs.blacksmith.sh/blacksmith-testbox/overview",
   "quote": "The default idle timeout is 30 minutes. If no `run` command is issued within that window, the testbox is automatically stopped.",
   "note": "not offered: stopped Testboxes/runners do not auto-wake on an inbound request; a stopped testbox must be re-warmed explicitly, and CI runners are only started per triggered GitHub Actions job, not per arbitrary inbound request.",
   "checked": "2026-09-30"
  },
  "live_resize": {
   "value": false,
   "source": "https://www.blacksmith.sh/pricing",
   "quote": "vCPU: 2 4 8 16 32 6 12",
   "note": "not offered: vCPU/RAM size is chosen per job via a fixed runner-label size; no documented API to change CPU/RAM of an already-running runner/Testbox without recreating it.",
   "checked": "2026-09-30"
  },
  "own_agent_api": {
   "value": false,
   "source": "https://docs.blacksmith.sh/codesmith/build-from-anywhere",
   "quote": "Install the [code]smith app via Slack ... Mention @codesmith on any PR in any GitHub repo that Blacksmith is connected to. ... Open the Web UI to directly message [code]smith.",
   "note": "not offered: [code]smith is Blacksmith's own background coding agent (a task/coding harness), driven only via Slack, GitHub mentions, Linear and a Web UI, not a browser/computer-use/research agent, and has no documented public API to drive it programmatically.",
   "checked": "2026-09-30"
  },
  "mcp_server": {
   "value": false,
   "source": "https://docs.blacksmith.sh/codesmith/integrations",
   "quote": "Extend [code]smith with external MCP servers to debug production systems and add context ... You can connect either Remote or Local MCP servers.",
   "note": "Blacksmith is an MCP *client* ([code]smith connects out to external/customer MCP servers); no first-party MCP server is shipped to control Blacksmith sandboxes/runners themselves.",
   "checked": "2026-09-30"
  },
  "lang_python": {
   "value": true,
   "source": "https://docs.blacksmith.sh/blacksmith-runners/overview",
   "quote": "uses: actions/setup-python@v6",
   "note": "Standard GitHub Actions Ubuntu/Windows/macOS runner images ship Python; actions/setup-python works on Blacksmith runners.",
   "checked": "2026-09-30"
  },
  "lang_node": {
   "value": true,
   "source": "https://docs.blacksmith.sh/blacksmith-caching/dependencies-actions",
   "quote": "Node.js projects can have extensive dependency trees, leading to large `node_modules` directories. ... - name: Setup Node.js",
   "note": "Standard GitHub Actions runner images ship Node.js; actions/setup-node works on Blacksmith runners.",
   "checked": "2026-09-30"
  },
  "egress_allowlist": {
   "value": false,
   "source": "https://docs.blacksmith.sh/blacksmith-administration/network-allowlisting",
   "quote": "Control plane IPs to allowlist in GitHub for Blacksmith to register runners ... You need to allowlist these IPs if: Your GitHub organization has IP allowlists or network restrictions enabled",
   "note": "not offered: this doc is about the customer allowlisting Blacksmith's control-plane IPs *in GitHub* (inbound direction), not a Blacksmith-side control over the sandbox's own outbound traffic; no egress allow/deny-list or no-internet mode for runners/Testboxes is documented.",
   "checked": "2026-09-30"
  },
  "egress_http_rules": {
   "value": false,
   "source": "https://docs.blacksmith.sh/blacksmith-administration/network-allowlisting",
   "quote": "Control plane IPs to allowlist in GitHub for Blacksmith to register runners",
   "note": "not offered: no documented HTTP method/path-level egress rules for jobs/runners; the only network-allowlisting doc covers inbound allowlisting of Blacksmith's own IPs in the customer's GitHub org.",
   "checked": "2026-09-30"
  },
  "hipaa": {
   "value": false,
   "source": "https://docs.blacksmith.sh/about/data-processing-addendum",
   "quote": "Blacksmith does not request or require sensitive or special-category data (as described in Articles 9 and 10 GDPR) and does not design the Service to process it.",
   "note": "No BAA or HIPAA-eligibility is advertised anywhere in the DPA, security page, or trust center; the DPA only defines HIPAA/PHI as a type of sensitive data the product is not designed to process.",
   "checked": "2026-09-30"
  },
  "sso": {
   "value": false,
   "source": "https://www.blacksmith.sh/security",
   "quote": "login is available exclusively through GitHub SSO ... We exclusively support GitHub SSO, and authentication is fully delegated to GitHub's OAuth flow.",
   "note": "Login is GitHub-account OAuth only ('GitHub SSO'); no separate first-party SAML/OIDC enterprise SSO integration for the Blacksmith app itself is documented.",
   "checked": "2026-09-30"
  },
  "eu_data_residency": {
   "value": true,
   "source": "https://docs.blacksmith.sh/llms-full.txt",
   "quote": "Blacksmith is available in `us-east` (Ashburn), `us-west` (Phoenix), `eu-west` (Amsterdam), and `eu-central` (Frankfurt). To request that your organization be moved to a different region, contact support.",
   "note": null,
   "checked": "2026-09-30"
  },
  "persistent_disk": {
   "value": true,
   "corrected_from": false,
   "source": "https://docs.blacksmith.sh/blacksmith-caching/dependencies-sticky-disks.md",
   "quote": "Each sticky disk is hot-loaded into the runner and mounted at the specified path. The sticky disk is formatted as an ext4 filesystem. ... Once the job completes, the sticky disk will be unmounted and committed for future invocations.",
   "note": "Default behaviour is ephemeral: the microVM and its root disk are destroyed at job end ('After a job completes, the microVM is destroyed, along with any of its state.' - security page). But Sticky Disks are a first-party opt-in persistent volume (ext4, mounted, up to 5/job, $0.50/GB-mo) whose contents survive across job runs via commit/clone - this satisfies the definition's 'persistent volume' clause even though the OS/root disk itself does not persist. Card's volumes/volume_attach were already true, so persistent_disk=false was an internal contradiction; corrected to true with the default-ephemeral caveat noted.",
   "checked": "2026-09-30"
  },
  "snapshot": {
   "value": "none",
   "source": "https://www.blacksmith.sh/security",
   "quote": "After a job completes, the microVM is destroyed, along with any of its state.",
   "note": "No whole-machine disk or memory snapshot/restore exists for the GA runner/Testbox product. The only snapshot-like thing is Sticky Disks, which persist specific mounted paths (not the OS disk) via commit/clone, not a bootable machine snapshot. Blacksmith Sandboxes ('Fully managed environment snapshots ... to boot sandboxes from', https://www.blacksmith.sh/sandboxes) is a waitlist-only, unpriced, unreleased beta and is excluded per the card's own caveats.",
   "checked": "2026-09-30"
  },
  "pause_resume": {
   "value": false,
   "source": "https://docs.blacksmith.sh/blacksmith-testbox/overview.md",
   "quote": "The default idle timeout is 30 minutes. If no run command is issued within that window, the testbox is automatically stopped.",
   "note": "Idle timeout/stop is a hard shutdown (Testbox 'stop' 'cancels the underlying GitHub Actions run'), not a pause with resume; there is no documented API/CLI to resume a stopped runner or testbox. CI runner VMs are destroyed at job end with no pause option.",
   "checked": "2026-09-30"
  },
  "fork": {
   "value": false,
   "source": "https://docs.blacksmith.sh/llms.txt",
   "quote": "Testboxes: Let coding agents run CI against local changes, instantly",
   "note": "No documented API/CLI to clone an existing machine into new ones. Each Testbox/runner is created fresh via 'warmup'/job dispatch from a workflow, not by cloning another running or stopped machine. Searched the full docs index (llms.txt) for a clone/fork feature; none exists outside the unreleased Sandboxes waitlist product.",
   "checked": "2026-09-30"
  },
  "fork_running": {
   "value": false,
   "source": "https://docs.blacksmith.sh/blacksmith-testbox/overview.md",
   "quote": "The agent calls blacksmith testbox warmup <repo>. This dispatches a GitHub Actions workflow and returns a testbox ID immediately.",
   "note": "New instances are always created by dispatching a fresh workflow/job, never by cloning a currently running microVM. No fork capability exists at all (see fork), so fork_running is also false.",
   "checked": "2026-09-30"
  },
  "memory_snapshot_fork": {
   "value": false,
   "source": "https://www.blacksmith.sh/security",
   "quote": "After a job completes, the microVM is destroyed, along with any of its state.",
   "note": "No fork feature exists (see fork/fork_running), and no memory-state capture/restore is documented anywhere in the product; running-process state is never preserved or cloned.",
   "checked": "2026-09-30"
  },
  "desktop": {
   "value": false,
   "source": "https://docs.blacksmith.sh/blacksmith-runners/overview.md",
   "quote": "Blacksmith runs Linux and Windows jobs in ephemeral Firecracker microVMs that boot in under 3 seconds.",
   "note": "not offered: outside the product's scope. Blacksmith is a headless GitHub Actions CI runner / CLI-driven Testbox product; no VNC/RDP/streamed desktop is documented anywhere in the docs index.",
   "checked": "2026-09-30"
  },
  "computer_use": {
   "value": false,
   "source": "https://docs.blacksmith.sh/blacksmith-runners/overview.md",
   "quote": "Blacksmith runs Linux and Windows jobs in ephemeral Firecracker microVMs that boot in under 3 seconds.",
   "note": "not offered: outside the product's scope. No GUI exists to drive (see desktop), so no screenshot+click computer-use API is offered.",
   "checked": "2026-09-30"
  },
  "custom_image": {
   "value": false,
   "source": "https://docs.blacksmith.sh/blacksmith-runners/overview.md",
   "quote": "We're a drop-in replacement: Blacksmith runners boot off of the same image(s) as GitHub's runners and have the exact same environment.",
   "note": "Runners boot from Blacksmith's own fixed Ubuntu/Windows/macOS images; there is no documented way to supply a custom base/OCI image for a runner or Testbox.",
   "checked": "2026-09-30"
  },
  "inbound_https": {
   "value": false,
   "source": "https://docs.blacksmith.sh/blacksmith-observability/ssh-access.md",
   "quote": "SSH access is opt-in and must be enabled by a GitHub organization admin ... Only the GitHub user who triggered the job can SSH into the runner",
   "note": "The only inbound path documented for a runner/Testbox is opt-in debug SSH, gated per-job; there is no exposed HTTPS URL/ingress feature for reaching ports on the machine.",
   "checked": "2026-09-30"
  },
  "public_ipv4": {
   "value": false,
   "source": "https://docs.blacksmith.sh/blacksmith-runners/static-ip.md",
   "quote": "On purchasing a static IP, all of the organization's runners will route network packets through a NAT gateway with a static IP.",
   "note": "The paid 'Static IP' add-on is an outbound NAT gateway for CI jobs reaching external services (egress), confirmed by the admin docs: 'Runner static IPs (paid): used by your CI jobs to reach your own external services.' No per-machine public/inbound IPv4 is offered.",
   "checked": "2026-09-30"
  },
  "agent_harnesses": {
   "value": false,
   "source": "https://docs.blacksmith.sh/codesmith/overview.md",
   "quote": "[code]smith is a background coding agent that operates and improves your codebase alongside you. ... tagged from any surface to start building: GitHub, Slack, or from the Web UI.",
   "note": "Blacksmith ships its own proprietary background agent ([code]smith, driven via Slack/GitHub mentions/Web UI, $1.75/agent compute unit), not third-party coding-agent harnesses (Claude Code, Codex, OpenCode, etc.) preinstalled or offered as templates in the runner/Testbox environments.",
   "checked": "2026-09-30"
  },
  "gpu": {
   "value": false,
   "source": "https://docs.blacksmith.sh/llms.txt",
   "quote": "Instance Types: Blacksmith runners are 2x faster and costs 67% less than GitHub-hosted runners",
   "note": "not offered: outside the product's scope. The full runner instance-type catalogue (x64/ARM Ubuntu, Windows, macOS) and pricing page list only CPU vCPU/RAM tiers; no GPU instance type or GPU add-on is documented or priced anywhere.",
   "checked": "2026-09-30"
  },
  "self_host": {
   "value": false,
   "source": "https://www.blacksmith.sh/security",
   "quote": "We run jobs in a secure, isolated Firecracker microVM on our own bare-metal hardware, protected by a private VPN.",
   "note": "not offered: outside the product's scope. Blacksmith is a hosted SaaS running on its own bare-metal fleet; there is no self-hosted/on-prem deployment option documented.",
   "checked": "2026-09-30"
  },
  "byoc": {
   "value": false,
   "source": "https://www.blacksmith.sh/security",
   "quote": "We run jobs in a secure, isolated Firecracker microVM on our own bare-metal hardware, protected by a private VPN.",
   "note": "not offered: outside the product's scope. No option to deploy the managed service into a customer's own cloud account; capacity is exclusively Blacksmith's own bare-metal fleet across its published regions.",
   "checked": "2026-09-30"
  },
  "open_source": {
   "value": false,
   "source": "https://www.blacksmith.sh/pricing",
   "quote": "Switch to Blacksmith and start saving up to 67% on your GitHub Actions",
   "note": "Blacksmith is a paid, closed-source SaaS control plane/runner fleet; it open-sources some small client-side GitHub Actions (e.g. useblacksmith/stickydisk, useblacksmith/setup-node) but the core orchestration/runner product itself is not published under an OSI license anywhere in the docs.",
   "checked": "2026-09-30"
  },
  "private_network": {
   "value": false,
   "source": "https://docs.blacksmith.sh/blacksmith-administration/network-allowlisting.md",
   "quote": "Control plane IPs (this page): used by Blacksmith to communicate with GitHub. Runner static IPs (paid): used by your CI jobs to reach your own external services.",
   "note": "Networking features documented are limited to control-plane IP allowlisting (inbound to GitHub) and a paid static egress NAT IP; no VPC/private-network peering or private connectivity between machines is offered.",
   "checked": "2026-09-30"
  },
  "usage_api": {
   "value": true,
   "source": "https://docs.blacksmith.sh/blacksmith-cli/usage.md",
   "quote": "The Blacksmith CLI is the programmatic way to pull your organization's usage and cost data: billable minutes, estimated spend, and storage costs, broken down by day, repository, workflow, job, or runner type. Every command outputs JSON by default.",
   "note": "granularity: per-job; cost: yes; Blacksmith provides two programmatic ways to access per-sandbox usage: (1) 'blacksmith usage' command outputs billable minutes, estimated spend, storage costs with --breakdown-by job; (2) 'blacksmith jobs list' shows per-job billable minutes. Both output JSON by default and support organization-token authentication for non-interactive environments. Each GitHub Actions job runs in its own Firecracker microVM sandbox. Cost data is included in the usage output.",
   "confidence": "high",
   "checked": "2026-01-01"
  },
  "persist_scope": {
   "value": "folder",
   "source": "https://docs.blacksmith.sh/blacksmith-caching/dependencies-sticky-disks.md",
   "quote": "Each sticky disk is hot-loaded into the runner and mounted at the specified path. The sticky disk is formatted as an ext4 filesystem. ... Once the job completes, the sticky disk will be unmounted and committed for future invocations.",
   "note": "Only sticky disk paths survives a stop; the rest of the filesystem (packages installed elsewhere) resets.",
   "checked": "2026-10-01"
  }
 },
 "locations": [
  {
   "country": "US",
   "state": "VA",
   "city": "Ashburn",
   "provider_region": "us-east",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "AZ",
   "city": "Phoenix",
   "provider_region": "us-west",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "NL",
   "state": null,
   "city": "Amsterdam",
   "provider_region": "eu-west",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "DE",
   "state": null,
   "city": "Frankfurt",
   "provider_region": "eu-central",
   "self_serve": true,
   "choosable": true
  }
 ],
 "locations_source": "https://docs.blacksmith.sh/llms-full.txt",
 "locations_quote": "Blacksmith is available in `us-east` (Ashburn), `us-west` (Phoenix), `eu-west` (Amsterdam), and `eu-central` (Frankfurt). To request that your organization be moved to a different region, contact support.",
 "locations_checked": "2026-10-01"
}