{
 "features_resolved": {
  "snapshot_any": true,
  "snapshot_mem": false,
  "fork": true,
  "pause_resume": true,
  "persistent_disk": true,
  "whole_disk": false,
  "persist_scope": true,
  "volumes": true,
  "auto_stop_idle": false,
  "long_sessions": true,
  "custom_image": true,
  "image_snapshot": true,
  "image_oci": true,
  "vm_isolation": true,
  "docker_inside": true,
  "nested_virt": false,
  "root": null,
  "systemd": null,
  "browser": false,
  "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": 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": true,
  "hipaa": true,
  "sso": true,
  "gpu": true,
  "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": null,
  "egress_http_rules": false,
  "wake_on_request": false,
  "live_resize": false,
  "fork_running": true,
  "memory_snapshot_fork": false,
  "webhooks": true,
  "scheduled_wakeups": true,
  "audit_logs": true,
  "eu_data_residency": true,
  "zero_data_retention": null,
  "scoped_api_keys": null,
  "spend_limits": null,
  "mcp_server": false,
  "usage_api": true,
  "snapshot_auto": true,
  "snapshot_on_demand": true,
  "harness_api": false,
  "own_agent_api": false,
  "fast_boot": false,
  "strong_isolation": true,
  "ingress_rules": true,
  "guest_firewall": true,
  "secret_proxy": true,
  "secret_proxy_any": true,
  "volume_attach": true,
  "volume_shared": true,
  "sidecar": null,
  "fuse": true,
  "kernel_features": true,
  "burst": null
 },
 "company": {
  "id": "northflank",
  "checked": "2026-09-30",
  "company": "Northflank Ltd",
  "ownership": {
   "value": "independent",
   "parent": null,
   "source": "https://techcrunch.com/2020/07/07/northflank-announces-2-6m-seed-to-create-end-to-end-devops-workflow-in-cloud/",
   "quote": "Northflank, a startup from a couple of guys in their 20s, has been working on a full-stack DevOps platform in the cloud since their first year at university in 2016."
  },
  "stage": {
   "value": "series-a",
   "source": "https://northflank.com/blog/northflank-raises-22m-to-make-kubernetes-work-for-your-developers-ship-workloads-not-infrastructure",
   "quote": "Today marks a significant milestone for Northflank—we've secured $22 million in Series A and Seed funding, led by Bain Capital Ventures and Vertex Ventures US, with participation from Kindred Ventures, Pebblebed, and Uncorrelated Ventures.",
   "confidence": "high",
   "note": "The Nov 2024 post bundles a Series A with an additional seed tranche into one $22M announcement; the company's own text calls it 'a successful Series A', so Series A is treated as the last priced round."
  },
  "accelerators": [],
  "total_funding_usd": {
   "value": 24600000,
   "status": "estimated",
   "basis": "Sum of the $2.6M 2020 seed (TechCrunch) + the $22M Series A/seed round announced Nov 2024 (Northflank blog); no aggregator total found to cross-check, and it's unclear whether the $22M figure already nets out the earlier $2.6M seed.",
   "source": "https://northflank.com/blog/northflank-raises-22m-to-make-kubernetes-work-for-your-developers-ship-workloads-not-infrastructure",
   "quote": "we've secured $22 million in Series A and Seed funding"
  },
  "last_round": {
   "type": "series-a",
   "amount_usd": 22000000,
   "date": "2024-11",
   "leads": [
    "Bain Capital Ventures",
    "Vertex Ventures US"
   ],
   "status": "confirmed",
   "source": "https://northflank.com/blog/northflank-raises-22m-to-make-kubernetes-work-for-your-developers-ship-workloads-not-infrastructure",
   "quote": "we've secured $22 million in Series A and Seed funding, led by Bain Capital Ventures and Vertex Ventures US, with participation from Kindred Ventures, Pebblebed, and Uncorrelated Ventures."
  },
  "investors": [
   "Bain Capital Ventures",
   "Vertex Ventures US",
   "Kindred Ventures",
   "Pebblebed",
   "Uncorrelated Ventures",
   "Stride.VC",
   "Amaranthine Partners"
  ],
  "portfolio_listings": [],
  "revenue": {
   "value": null,
   "status": "unknown"
  },
  "employees": {
   "value": null,
   "source": ""
  },
  "note": "Founded early 2019 (per Northflank's own Series A blog post) by Will Stewart (CEO) and Frederik Brix (CTO), who met as teens through online gaming and built the platform during university. UK-based developer platform / PaaS with Kubernetes abstraction and BYOC; no evidence of an accelerator/incubator. Customers cited include Sentry and Writer. No revenue or headcount figures were publicly disclosed."
 },
 "id": "northflank",
 "name": "Northflank Sandboxes",
 "url": "https://northflank.com/pricing",
 "category": "agent-sandbox",
 "isolation": "vm",
 "modes": [
  {
   "key": "on-demand",
   "label": "Managed cloud, predefined compute plans",
   "flags": [],
   "os": [
    "linux"
   ],
   "regions": [
    "us",
    "eu",
    "asia",
    "other"
   ],
   "gpu_only": false,
   "features": {
    "isolation": "kata"
   },
   "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": 0.1,
   "max_vcpu": 20,
   "max_ram_gib": 40,
   "sizes": [
    {
     "name": "nf-compute-10",
     "vcpu": 0.1,
     "ram_gib": 0.25,
     "disk_gib": 1,
     "hour": 0.0038,
     "month_cap": null
    },
    {
     "name": "nf-compute-20",
     "vcpu": 0.2,
     "ram_gib": 0.5,
     "disk_gib": 1,
     "hour": 0.0075,
     "month_cap": null
    },
    {
     "name": "nf-compute-50",
     "vcpu": 0.5,
     "ram_gib": 1,
     "disk_gib": 1,
     "hour": 0.0167,
     "month_cap": null
    },
    {
     "name": "nf-compute-100-1",
     "vcpu": 1,
     "ram_gib": 1,
     "disk_gib": 1,
     "hour": 0.025,
     "month_cap": null
    },
    {
     "name": "nf-compute-100-2",
     "vcpu": 1,
     "ram_gib": 2,
     "disk_gib": 1,
     "hour": 0.0333,
     "month_cap": null
    },
    {
     "name": "nf-compute-100-4",
     "vcpu": 1,
     "ram_gib": 4,
     "disk_gib": 1,
     "hour": 0.05,
     "month_cap": null
    },
    {
     "name": "nf-compute-200",
     "vcpu": 2,
     "ram_gib": 4,
     "disk_gib": 1,
     "hour": 0.0667,
     "month_cap": null
    },
    {
     "name": "nf-compute-200-8",
     "vcpu": 2,
     "ram_gib": 8,
     "disk_gib": 1,
     "hour": 0.1,
     "month_cap": null
    },
    {
     "name": "nf-compute-400",
     "vcpu": 4,
     "ram_gib": 8,
     "disk_gib": 1,
     "hour": 0.1333,
     "month_cap": null
    },
    {
     "name": "nf-compute-200-16",
     "vcpu": 2,
     "ram_gib": 16,
     "disk_gib": 1,
     "hour": 0.1667,
     "month_cap": null
    },
    {
     "name": "nf-compute-400-16",
     "vcpu": 4,
     "ram_gib": 16,
     "disk_gib": 1,
     "hour": 0.2,
     "month_cap": null
    },
    {
     "name": "nf-compute-800-8",
     "vcpu": 8,
     "ram_gib": 8,
     "disk_gib": 1,
     "hour": 0.2,
     "month_cap": null
    },
    {
     "name": "nf-compute-800-16",
     "vcpu": 8,
     "ram_gib": 16,
     "disk_gib": 1,
     "hour": 0.2667,
     "month_cap": null
    },
    {
     "name": "nf-compute-800-24",
     "vcpu": 8,
     "ram_gib": 24,
     "disk_gib": 1,
     "hour": 0.3333,
     "month_cap": null
    },
    {
     "name": "nf-compute-800-32",
     "vcpu": 8,
     "ram_gib": 32,
     "disk_gib": 1,
     "hour": 0.4,
     "month_cap": null
    },
    {
     "name": "nf-compute-1200-24",
     "vcpu": 12,
     "ram_gib": 24,
     "disk_gib": 1,
     "hour": 0.4,
     "month_cap": null
    },
    {
     "name": "nf-compute-800-40",
     "vcpu": 8,
     "ram_gib": 40,
     "disk_gib": 1,
     "hour": 0.4667,
     "month_cap": null
    },
    {
     "name": "nf-compute-1600-32",
     "vcpu": 16,
     "ram_gib": 32,
     "disk_gib": 1,
     "hour": 0.5333,
     "month_cap": null
    },
    {
     "name": "nf-compute-2000-40",
     "vcpu": 20,
     "ram_gib": 40,
     "disk_gib": 1,
     "hour": 0.6667,
     "month_cap": null
    }
   ],
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 0,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "note": "Plans = $0.01667/vCPU-h + $0.00833/GB-h exactly (monthly price = 720 h). Plans below 1 vCPU are shared CPU; 1+ are dedicated. Kata microVM runtime. Billed per second on the allocated plan while running, with no minimum and no start/resume fees. No idle auto-pause: bills until explicitly paused (scale to 0), and pause wipes ephemeral disk and processes. 1 GB ephemeral disk included; 5/10/20 GB options billed at $0.15/GB-month only while running. Verified 2026-09-28 (northflank.com/docs/v1/application/sandboxes/sandboxes-on-northflank-cloud): 'Northflank cloud bills compute per second of runtime' on the selected resource plan (e.g. nf-compute-200) = allocation; 'Pausing a sandbox scales it to zero instances, which stops compute charges'; no idle auto-pause documented.",
   "perf": {
    "cpu_runs_s": null,
    "cold_start_ms": 82.8,
    "burst_tti_ms": 24110.49,
    "dax_s": null
   },
   "perf_source": "ComputeSDK (github.com/computesdk/benchmarks results/): cold 82.8 ms (seq TTI 2026-08-07, runtime \"node\", SDK default plan), burst 24,110 ms (2026-09-16, composite 0, ~21% success at 100-way). DAX never succeeded. No HPC result."
  },
  {
   "key": "custom-plan",
   "label": "Managed cloud, custom vCPU/RAM plan (on request)",
   "flags": [
    "sales"
   ],
   "os": [
    "linux"
   ],
   "regions": [
    "us",
    "eu",
    "asia",
    "other"
   ],
   "gpu_only": false,
   "features": {
    "isolation": "kata"
   },
   "pricing": "resource",
   "vcpu_h": 0.01667,
   "ram_gib_h": 0.00833,
   "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": 32,
   "max_ram_gib": 256,
   "sizes": null,
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 0,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "note": "The pricing page says 'Request custom vCPU + memory combinations'. Custom plans are assumed to use the same unit rates (not stated). Enterprise volume discounts/annual commit are unpublished.",
   "perf": {
    "cpu_runs_s": null,
    "cold_start_ms": 82.8,
    "burst_tti_ms": 24110.49,
    "dax_s": null
   },
   "perf_source": "Same runtime as on-demand; ComputeSDK (github.com/computesdk/benchmarks results/) cold 82.8 ms (2026-08-07), burst 24,110 ms (2026-09-16, ~21% success)."
  },
  {
   "key": "byoc",
   "label": "BYOC fee only (+ your cloud bill for VMs/GPUs, disk, egress)",
   "flags": [
    "alt"
   ],
   "os": [
    "linux"
   ],
   "regions": [
    "us",
    "eu",
    "asia",
    "other"
   ],
   "gpu_only": false,
   "features": {
    "byoc": true,
    "isolation": null
   },
   "pricing": "resource",
   "vcpu_h": 0.01389,
   "ram_gib_h": 0.00139,
   "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": null,
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": "Your own cloud's spot, savings plans, commits and credits apply to the VM bill; the Northflank fee is unchanged.",
   "min_billed_seconds": 0,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": {
    "L4": 0.06672,
    "A100-40GB": 0.1112,
    "A100-80GB": 0.2224,
    "H100": 0.2224,
    "RTX-PRO-6000": 0.26688,
    "H200": 0.39198,
    "B200": 0.5004
   },
   "note": "Northflank BYOC fee from the pricing page's 'Bring your own cloud' tab: $0.01389/vCPU-h, $0.00139/GB-h, BYO GPU $0.00278/GB vRAM-h (GPU map = VRAM GB x 0.00278). It EXCLUDES the underlying cloud VM/GPU, disk and egress, which your cloud bills, so the engine's number is only the Northflank fee (flagged alt). The docs also mention a per-cluster flat fee whose amount is not shown. Kata microVM isolation on AWS needs bare-metal or nested-virt instance types.",
   "fee_only": true
  },
  {
   "key": "gpu",
   "label": "Managed cloud GPU sandbox (gVisor), combined GPU rate",
   "flags": [],
   "os": [
    "linux"
   ],
   "regions": [
    "us",
    "eu",
    "asia",
    "other"
   ],
   "gpu_only": true,
   "features": {
    "isolation": "gvisor"
   },
   "pricing": "resource",
   "vcpu_h": 0,
   "ram_gib_h": 0,
   "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": null,
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 0,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": {
    "L4": 0.8,
    "A100-40GB": 1.42,
    "A100-80GB": 1.76,
    "H100": 2.74,
    "RTX-PRO-6000": 3,
    "H200": 3.14,
    "B200": 5.87
   },
   "note": "$/GPU-h from the pricing page GPU tab (H200 and B200 appear only in the GPU plan table). Northflank's blog (2026-05-05) says the GPU rate is 'a combined rate per hour' covering GPU, CPU and RAM, so vCPU/RAM are set to 0 here. The docs say to also configure a compute plan; if CPU/RAM are billed on top, add $0.01667/vCPU-h + $0.00833/GB-h. A $50 account credit minimum is needed to deploy GPUs. Up to 8 GPUs per instance; no time-slicing on managed cloud."
  }
 ],
 "storage": {
  "included_disk_gib": 1,
  "disk_gib_month": 0.15,
  "disk_billed_when_stopped": true,
  "snapshot_gib_month": 0,
  "paused_ram_billed": false
 },
 "network": {
  "egress_free_gib": 0,
  "egress_gib": 0.06,
  "ipv4_month": null,
  "ipv4_available": false,
  "internet": {
   "default": "full"
  }
 },
 "plans": [
  {
   "name": "Developer Sandbox (free tier)",
   "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": "2 free services, 2 jobs, 1 addon, 1 BYOC cluster. Always-on small free plans ('Compute: Limited', exact sizes not published). Payment method required. Not realistic for a sandbox fleet."
  },
  {
   "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": 32,
   "max_ram_gib": 256,
   "sizes_allowed": null,
   "note": "No seat pricing, unlimited services, per-second pro-rating. Sandbox concurrency limits not published (resource quotas depend on the billing plan)."
  },
  {
   "name": "Enterprise",
   "fee": null,
   "flags": [
    "sales"
   ],
   "fee_is_credit": null,
   "included_usd": null,
   "per_seat": 0,
   "concurrency": null,
   "max_session_h": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes_allowed": null,
   "note": "Invoice billing, volume discounts, annual commitment, BYOC commits, SSO SAML/OIDC, audit logs, SLA, 24/7 support, control plane in your VPC. Prices unpublished."
  }
 ],
 "extras": [
  {
   "item": "Static egress IP / egress gateway",
   "price": null
  },
  {
   "item": "BYOC per-cluster flat fee",
   "price": null
  },
  {
   "item": "Layer 4 load balancer (public raw TCP/UDP inbound)",
   "price": null
  }
 ],
 "free": {
  "monthly_credit": 0,
  "one_time_credit": 0
 },
 "features": {
  "linux": true,
  "windows": false,
  "macos": false,
  "arm64": true,
  "gpu": true,
  "gpu_types": [
   "L4",
   "A100-40GB",
   "A100-80GB",
   "H100",
   "RTX-PRO-6000",
   "H200",
   "B200"
  ],
  "snapshot": "fs",
  "pause_resume": true,
  "fork": true,
  "persistent_disk": true,
  "volumes": true,
  "auto_stop_idle": false,
  "max_session_h": null,
  "custom_image": true,
  "docker_inside": true,
  "nested_virt": false,
  "root": null,
  "systemd": null,
  "browser": false,
  "desktop": false,
  "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": [
   "us",
   "eu",
   "asia",
   "other"
  ],
  "soc2": true,
  "hipaa": true,
  "sso": 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": true,
  "memory_snapshot_fork": false,
  "webhooks": true,
  "scheduled_wakeups": true,
  "audit_logs": true,
  "eu_data_residency": true,
  "zero_data_retention": null,
  "scoped_api_keys": null,
  "spend_limits": null,
  "mcp_server": false,
  "isolation": "kata",
  "image_oci": true,
  "snapshot_auto": true,
  "snapshot_on_demand": true,
  "harness_api": false,
  "egress_allowlist_level": "both",
  "ingress_rules": true,
  "secret_proxy": "any-http",
  "volume_attach": true,
  "volume_shared": true,
  "anti_bot": false,
  "captcha_solving": false,
  "egress_ip_type": "static-datacenter",
  "own_agent_api": false,
  "guest_firewall": true,
  "max_session_unlimited": true,
  "fast_boot": false,
  "open_internet": true,
  "usage_api": true,
  "persist_scope": "folder",
  "persist_path": "attached volumes"
 },
 "perf": {
  "cpu_runs_s": null,
  "cold_start_ms": null,
  "burst_tti_ms": null,
  "dax_s": null
 },
 "perf_source": "CPU plans (Kata microVM) and GPU sandboxes (gVisor) are different runtimes: perf is on the CPU plan modes.",
 "knobs": [
  {
   "id": "left_running",
   "label": "Time left running after work ends (× session hours; no idle auto-pause)",
   "kind": "slider",
   "min": 1,
   "max": 5,
   "step": 0.05,
   "default": 1,
   "unit": "×",
   "options": null,
   "effect": "hours_factor",
   "modes": [
    "on-demand",
    "custom-plan",
    "gpu"
   ],
   "why": "Northflank has no idle timer: a sandbox bills its full plan until you pause (scale to 0) or delete it. A fleet never paused runs 730 h/month (4.15x an 8 h x 22 d schedule). Default 1 = you pause exactly when work ends; the 5x ceiling is a judgment call.",
   "source": "https://northflank.com/docs/v1/application/sandboxes/sandboxes-on-northflank-cloud"
  }
 ],
 "caveats": [
  "BYOC regime is FEE-ONLY (+ your cloud bill): its total excludes the underlying CPU/GPU VMs, disk and egress, so it is not comparable with full-compute rows; it stays alt-flagged (opt-in) and the GPU map is only the $0.00278/GB-vRAM-h management fee, not a GPU price.",
  "BYOC mode prices only Northflank's management fee ($0.01389/vCPU-h + $0.00139/GB-h). The underlying cloud VM, disk and egress are billed by your cloud and not modelled (flag alt). The pricing page also claims 'No added cost for running in your VPC', which contradicts its own BYOC tab.",
  "No idle auto-pause: sandboxes bill their full plan until explicitly paused. Pause wipes ephemeral disk and processes; only volumes persist (billed $0.15/GB-month while paused).",
  "snapshot_gib_month 0 is the vendor's 'no snapshot fees' claim (blog). Container snapshots are written to a configured backup destination whose storage may be billed elsewhere; no memory snapshots.",
  "Egress $0.06/GB with no published free allowance (egress_free_gib 0). Internal platform traffic is free.",
  "GPU mode assumes the blog's 'combined' GPU rate (vCPU/RAM included). If CPU/RAM are billed on top per the docs, GPU costs rise by the compute plan rate. $50 credit minimum for GPUs.",
  "Custom vCPU/RAM plans assumed to use the published unit rates (flag sales). Enterprise volume discounts unpublished.",
  "Plan sizes' disk_gib = 1 GB included ephemeral disk; extra ephemeral (5/10/20 GB) is billed at $0.15/GB-month only while running, not modelled per size.",
  "perf: computesdk cold start median 82.8 ms; burst median 24,110 ms with only 21% success at 100-way concurrency; DAX never succeeded; no hpc CPU benchmark.",
  "max_vcpu 20 / 40 GB = largest listed plan; larger via custom plans or BYOC.",
  "Data residency: project region is fixed at creation and runtime resources stay there, but managed builds run on Northflank build infrastructure outside the project region unless builds are configured on your own (BYOC) cluster. Zurich (europe-west-zurich) is Switzerland, not EU. Tax: EU VAT reverse-charge on valid registration; no blanket VAT on USD list. (patch v10-regional, 2026-09-28)",
  "Jobs and builds: the pricing-page calculator JS (dist bundle) displays job/build time at 2x the service rate (nf-compute-400 job $0.2667/h vs service $0.1333/h); not stated in the static pricing text, so not modelled as a mode. Calculator shows $2.71/$5.41 for nf-compute-10/20 vs table $2.70/$5.40 (rounding). (patch v5-calculators, 2026-09-28, unverified in static page)",
  "raw_tcp_inbound: public ports on a sandbox are HTTP/HTTP2 only; raw TCP/UDP from the internet needs a separate team-level Layer 4 load balancer (stable public IP, up to 100 ports, backends must be running), whose price is not published and is not modelled. Not a direct per-machine TCP port. (checked 2026-10-14)"
 ],
 "sources": [
  "https://northflank.com/pricing",
  "https://northflank.com/docs/v1/application/sandboxes/sandboxes-on-northflank-cloud",
  "https://northflank.com/docs/v1/application/sandboxes/sandboxes-in-your-own-cloud",
  "https://northflank.com/docs/v1/application/billing/pricing-on-northflank",
  "https://northflank.com/docs/v1/application/gpu-workloads/deploy-gpus-on-northflank-cloud",
  "https://northflank.com/docs/v1/application/scale/increase-storage",
  "https://northflank.com/changelog/configurable-ephemeral-storage-post-gis-public-my-sql-and-postgres",
  "https://northflank.com/blog/ai-sandbox-pricing",
  "https://northflank.com/blog/aws-lambda-microvms-vs-northflank-pricing",
  "https://northflank.com/docs/v1/application/network/configure-load-balancers",
  "https://northflank.com/docs/v1/application/network/configure-ports"
 ],
 "fleet": {
  "default_max_instances": null,
  "default_max_vcpu": null,
  "default_max_gpus": null,
  "raise": null,
  "raise_time_days": null,
  "verification": "Payment method required for all resource creation, including free selection, for identity/fraud verification. New-account billing threshold $50; higher thresholds limited by past credit purchases.",
  "tiers": "Developer free allowance includes 2 services, but sandbox runtime fleet quota is not specified by that service allowance. PAYG advertises unlimited services; effective limits appear in account settings.",
  "notes": "Do not reuse 2 free PaaS services as a default sandbox count. 10/50/300/1,000 sandbox entitlement requires effective account limits; CPU/GPU default quantities not published in inspected docs. Billing threshold is automatic invoicing, not fleet quota.",
  "sources": [
   "https://northflank.com/docs/v1/application/sandboxes/sandboxes-on-northflank-cloud.md",
   "https://northflank.com/docs/v1/application/billing/pricing-on-northflank",
   "https://northflank.com/docs/v1/application/billing/billing-thresholds"
  ],
  "researched": "2026-09-28"
 },
 "audit_2026_09_29": {
  "applied": 3,
  "source": "checked against the provider's live pricing and docs pages",
  "reviewed": 2
 },
 "feature_evidence": {
  "snapshot_auto": {
   "value": true,
   "source": "https://northflank.com/docs/v1/api/project/services/create-deployment-service.md",
   "quote": "Creates a snapshot when a service container terminates, including crashes, rollouts, scale-downs, evictions, and manual restarts.",
   "note": "Opt-in per service (deployment.containerSnapshot.capture.onTermination + backupDestinationId, retention maxSnapshots); snapshot trigger enum 'containerTermination'. Pause = scale to zero, so a pause/scale-down is captured. Filesystem only (changelog: 'capture the filesystem of a running or terminating service pod'), no memory; Kata runtime required. Restore is NOT automatic: you set containerSnapshot.restoreFrom=<snapshot uuid>. Default pause without this wipes ephemeral disk.",
   "checked": "2026-09-29"
  },
  "snapshot_on_demand": {
   "value": true,
   "source": "https://northflank.com/changelog/august-and-september-2026",
   "quote": "You can now capture the filesystem of a running or terminating service pod and restore a service from a successful snapshot. Snapshots are available through the dashboard, CLI, and API and require a Kata runtime.",
   "note": "POST /v1/projects/{projectId}/services/{serviceId}/snapshots (stored in a configured backup destination). Filesystem only, no memory. New services can boot from it: create-deployment-service accepts deployment.containerSnapshot.restoreFrom ('The successful container snapshot to restore the service from'), so fork/template is possible. Snapshot records base image digest + arch compatibility. Separate volume backups/clones also exist.",
   "checked": "2026-09-29"
  },
  "harness_api": {
   "value": false,
   "source": "https://northflank.com/docs/v1/api/project/harnesses/create-harness.md",
   "quote": "The harness environment type to run. (enum: codex, claude, pi, opencode, cursor, none)",
   "note": "Cloud Harness (Aug/Sep 2026) is a first-party API/CLI/dashboard resource that provisions a workspace with Claude Code, Codex, Cursor, OpenCode or Pi preinstalled and authenticated (create/get/patch/pause/resume/restart/logs/delete). But interaction with the agent is via browser terminal or SSH ('northflank dev ssh'); the API has no prompt/message, event-stream or conversation endpoints. Counts as agent_harnesses (+ lifecycle API), not a harness-driving API. Borderline; revisit if a prompt/session API appears.",
   "checked": "2026-09-29"
  },
  "egress_allowlist": {
   "value": true,
   "source": "https://northflank.com/docs/v1/application/network/configure-network-policies.md",
   "quote": "Allow traffic to IP/CIDR/FQDN: Add external destinations (IP addresses, CIDR ranges, FQDNs, or hostnames) your workloads can reach",
   "note": "Network policies (UI added May/Jun 2026, API POST /v1/network-policies) with egress denyAll / allowTo; any egress rule turns it into an allow-list. Targeted by project and workload tags, not per-sandbox id (tag a sandbox to scope it). Docs scope it to BYOC: 'control inbound and outbound traffic between workloads and projects on your BYOC cluster'. Availability on Northflank managed cloud not documented.",
   "checked": "2026-09-29",
   "level": "both"
  },
  "ingress_rules": {
   "value": true,
   "source": "https://northflank.com/docs/v1/application/network/add-security-policies-for-ports.md",
   "quote": "IP policies allow you to either block IP addresses from accessing a port, or to only allow certain IP addresses and exclude all others.",
   "note": "Ports are private unless 'public: true'; per-port IP allow/deny (CIDR), basic auth, SSO, required headers, path-based security policies, org-wide ingress security policies, private VPC load balancers (BYOC), network-policy ingress rules and load-balancer CIDR allow/deny lists.",
   "checked": "2026-09-29"
  },
  "secret_proxy": {
   "value": "any-http",
   "source": "https://northflank.com/docs/v1/api/team/network-policies/create-network-policy.md",
   "quote": "`egressSecretInjection`: [array of] {object}",
   "note": "Network-policy API schema has egressSecretInjection items {name, header, hosts[], value}: provider-side injection of a header value into outbound requests to listed hosts, which implies the secret stays out of the workload. Only present in the API schema / js-client types, with no prose docs, so behaviour (TLS interception, whether the sandbox sees a placeholder) is unconfirmed; network policies are documented for BYOC clusters. HTTP headers only; no DB/SSH/git coverage. Otherwise secrets are env vars / secret files / secret groups injected into the container.",
   "checked": "2026-09-29"
  },
  "volume_attach": {
   "value": true,
   "source": "https://northflank.com/docs/v1/application/sandboxes/examples.md",
   "quote": "Attach a volume when you need files to survive.",
   "note": "Separate volume resource, attached at creation via createOptions.volumesToAttach or attach/detach API; 'You can attach multiple volumes to the same service.' $0.15/GB-month; 4 GB to 64 TB (product page).",
   "checked": "2026-09-29"
  },
  "volume_shared": {
   "value": true,
   "source": "https://northflank.com/docs/v1/application/databases-and-persistence/add-a-volume.md",
   "quote": "Allows the same volume to be attached to multiple pods simultaneously across different services, jobs, or replicas of the same service.",
   "note": "Multi Read/Write access mode (read-write), chosen at creation. Changelog May/Jun 2026: 'Multi-read-write direct mounts in microVMs'. Product page also mentions mounting S3 buckets.",
   "checked": "2026-09-29"
  },
  "docker_inside": {
   "value": true,
   "source": "https://northflank.com/docs/v1/application/sandboxes/quickstart.md",
   "quote": "Each sandbox is a Linux environment running against its own kernel rather than the host's.",
   "note": "derived: Kata microVM sandboxes get a real guest kernel (not a shared-kernel container), which is the standard requirement for running Docker/containerd inside. Not explicitly documented as tested/supported; no privileged/docker-in-docker flag found in the service create API.",
   "checked": "2026-09-30"
  },
  "nested_virt": {
   "value": false,
   "source": "https://northflank.com/docs/v1/application/sandboxes/sandboxes-in-your-own-cloud.md",
   "quote": "MicroVM isolation needs hardware support. On AWS, microVM node pools require bare-metal instances or instance types that support nested virtualisation",
   "note": "That nested-virtualisation requirement is about the HOST being able to run the Kata microVM itself, not about /dev/kvm being passed through into the guest sandbox. No docs mention exposing KVM inside a sandbox for running further VMs/emulators; not offered as far as documented.",
   "checked": "2026-09-30"
  },
  "anti_bot": {
   "value": false,
   "source": "https://northflank.com/pricing",
   "quote": "Sandboxes let you run untrusted code (LLM-generated code, user submissions, AI agents, CI/CD pipelines) in isolated environments.",
   "note": "not offered: outside the product's scope. Northflank is a general compute/sandbox platform (no browser or desktop product); it ships no stealth/fingerprinting-evasion feature.",
   "checked": "2026-09-30"
  },
  "captcha_solving": {
   "value": false,
   "source": "https://northflank.com/pricing",
   "quote": "Sandboxes let you run untrusted code (LLM-generated code, user submissions, AI agents, CI/CD pipelines) in isolated environments.",
   "note": "not offered: outside the product's scope. No browser/CAPTCHA-solving product exists on Northflank.",
   "checked": "2026-09-30"
  },
  "egress_ip_type": {
   "value": "static-datacenter",
   "source": "https://northflank.com/docs/v1/application/network/configure-egress-ips.md",
   "quote": "Egress IPs provide a dedicated, static public IP address for outbound traffic from selected workloads.",
   "note": "Cloud-provider datacenter IPs (AWS/GCP/Azure infra), provisioned as a dedicated static egress IP; no residential/mobile IP option documented.",
   "checked": "2026-09-30"
  },
  "fork_running": {
   "value": true,
   "source": "https://northflank.com/docs/v1/api/project/services/create-container-snapshot.md",
   "quote": "Schedules a snapshot of a running deployment service pod.",
   "note": "A snapshot can be taken of a RUNNING pod (the original sandbox keeps running unaffected), then a new service can be created from that snapshot via deployment.containerSnapshot.restoreFrom, i.e. cloning a running machine into a new one.",
   "checked": "2026-09-30"
  },
  "wake_on_request": {
   "value": false,
   "source": "https://northflank.com/docs/v1/application/sandboxes/sandboxes-on-northflank-cloud",
   "quote": "Pausing a sandbox scales it to zero instances, which stops compute charges",
   "note": "No idle auto-pause is documented, and pausing/resuming is a manual API call (scale-to-zero / resume), not something a request automatically wakes; there is no request-triggered autoscale-from-zero for sandboxes.",
   "checked": "2026-09-30"
  },
  "own_agent_api": {
   "value": false,
   "source": "https://northflank.com/docs/v1/application/ai-agents/agents-on-northflank.md",
   "quote": "Use AI coding agents on Northflank for code generation, debugging, and development assistance. Run agents in isolated cloud environments without using your local machine.",
   "note": "not offered: outside the product's scope. Cloud Harness and Agent Skills let you run/authenticate YOUR OWN coding agent (Claude Code, Codex, etc.) in a sandbox; there is no first-party API driving a Northflank-owned browser/computer-use/research agent.",
   "checked": "2026-09-30"
  },
  "mcp_server": {
   "value": false,
   "source": "https://northflank.com/docs/v1/application/ai-agents/agent-skills.md",
   "quote": "Northflank agent skills are markdown files that contain structured knowledge about a platform.",
   "note": "Northflank's AI-agent integrations are Agent Skills (markdown knowledge files) and Cloud Harness, not an MCP server; no MCP server package found in the northflank GitHub org or docs sidebar.",
   "checked": "2026-09-30"
  },
  "lang_python": {
   "value": true,
   "source": "https://northflank.com/docs/v1/application/sandboxes/quickstart.md",
   "quote": "pip install northflank",
   "note": "First-party Python SDK for creating/controlling sandboxes and exec'ing commands.",
   "checked": "2026-09-30"
  },
  "lang_node": {
   "value": true,
   "source": "https://northflank.com/docs/v1/application/sandboxes/quickstart.md",
   "quote": "npm install @northflank/js-client",
   "note": "First-party JavaScript/Node SDK for creating/controlling sandboxes and exec'ing commands.",
   "checked": "2026-09-30"
  },
  "egress_http_rules": {
   "value": false,
   "source": "https://northflank.com/docs/v1/application/network/configure-network-policies.md",
   "quote": "Allow traffic to IP/CIDR/FQDN: Add external destinations (IP addresses, CIDR ranges, FQDNs, or hostnames) your workloads can reach",
   "note": "Egress rules are scoped to IP/CIDR/FQDN, workload tags, and projects; no HTTP method/path-level egress rule granularity is documented.",
   "checked": "2026-09-30"
  },
  "guest_firewall": {
   "value": true,
   "source": "https://northflank.com/docs/v1/application/sandboxes/sandboxes-on-northflank-cloud.md",
   "quote": "CPU sandboxes run in microVMs and GPU sandboxes run under gVisor, with no configuration needed either way.",
   "note": "derived: CPU sandboxes are Kata microVMs with their own guest kernel, so nftables/iptables should work inside like a normal VM; not explicitly documented and not applicable in the same way to the gVisor-isolated GPU mode.",
   "checked": "2026-09-30"
  },
  "max_session_h": {
   "value": "none",
   "source": "https://northflank.com/docs/v1/application/sandboxes/sandboxes-on-northflank-cloud",
   "quote": "Northflank cloud bills compute per second of runtime",
   "note": "No maximum session/runtime duration is documented anywhere in the sandbox, pricing, or plan docs (max_session_h is null on every plan); sandboxes run until explicitly paused or deleted, so treated as no limit.",
   "checked": "2026-09-30"
  },
  "memory_snapshot_fork": {
   "value": false,
   "source": "https://northflank.com/changelog/august-and-september-2026",
   "quote": "You can now capture the filesystem of a running or terminating service pod and restore a service from a successful snapshot.",
   "note": "Northflank's changelog and API docs describe container snapshots as filesystem-only ('capture the filesystem of a running or terminating service pod'); no memory/process-state capture is offered, so a fork/restore never resumes running processes.",
   "checked": "2026-09-30"
  },
  "ssh": {
   "value": true,
   "corrected_from": false,
   "source": "https://northflank.com/docs/v1/application/run/access-services-with-ssh",
   "quote": "SSH identities allow you to SSH into running service containers using your SSH keys. ... To SSH directly into a service: `northflank ssh service --projectId my-project --serviceId my-service`",
   "note": "Northflank has a documented, first-party SSH feature (SSH identities + `northflank ssh service` CLI command, or direct key-based SSH), enabled per-service. The card's 'false' is wrong.",
   "checked": "2026-09-30"
  },
  "desktop": {
   "value": false,
   "source": "https://northflank.com/changelog/august-and-september-2026",
   "quote": "Choose Claude Code, OpenAI Codex, Cursor, OpenCode or Pi, authenticate with your own account or API key, and connect through the browser terminal or SSH.",
   "note": "Harness/sandbox access is only via browser terminal or SSH; no VNC/RDP or streamed graphical desktop is documented. Previous source northflank.com/sandboxes now returns 404.",
   "checked": "2026-10-14"
  },
  "browser": {
   "value": false,
   "source": "https://northflank.com/changelog/august-and-september-2026",
   "quote": "Choose Claude Code, OpenAI Codex, Cursor, OpenCode or Pi, authenticate with your own account or API key, and connect through the browser terminal or SSH.",
   "note": "The only 'browser' surface Northflank documents is a browser-based terminal (shell UI) for Harnesses/services, not a managed/real browser instance (e.g. Chrome) inside the sandbox for web use. No product page or docs mention a bundled browser.",
   "checked": "2026-09-30"
  },
  "computer_use": {
   "value": false,
   "source": "https://northflank.com/changelog/august-and-september-2026",
   "quote": "Choose Claude Code, OpenAI Codex, Cursor, OpenCode or Pi, authenticate with your own account or API key, and connect through the browser terminal or SSH.",
   "note": "not offered: access is terminal/SSH only and the sandbox API is exec/files/ports/snapshots; no screenshot+click driving API documented. Previous source northflank.com/sandboxes now returns 404.",
   "checked": "2026-10-14"
  },
  "auto_stop_idle": {
   "value": false,
   "source": "https://northflank.com/docs/v1/application/sandboxes/sandboxes-on-northflank-cloud",
   "quote": "Northflank cloud bills compute per second of runtime. Pausing a sandbox scales it to zero instances, which stops compute charges.",
   "note": "Pausing (the only way to stop billing) is a manual/API action ('Pause service' / 'northflank ssh'-adjacent scale-to-zero); no idle-timeout auto-pause is documented anywhere in the sandbox docs or changelog.",
   "checked": "2026-09-30"
  },
  "public_ipv4": {
   "value": false,
   "source": "https://northflank.com/docs/v1/application/network/configure-ports",
   "quote": "Public ports are automatically assigned a Northflank domain name, secured with an automatically-generated TLS certificate. They take the format: `[port-name]--[service-name]--[random-string].code.run`",
   "note": "Public exposure is via a shared load-balancer domain (code.run / custom domain) terminating TLS, not a dedicated public IPv4 address assigned to the machine. Egress has its own static-IP feature, but no per-machine public IPv4 for inbound.",
   "checked": "2026-09-30"
  },
  "agent_harnesses": {
   "value": true,
   "corrected_from": false,
   "source": "https://northflank.com/changelog/august-and-september-2026",
   "quote": "Coding agents can now work directly inside a managed Northflank workspace. Choose Claude Code, OpenAI Codex, Cursor, OpenCode or Pi, authenticate with your own account or API key, and connect through the browser terminal or SSH.",
   "note": "Northflank ships 'Harnesses': preinstalled/first-party-managed coding-agent workspaces (Claude Code, Codex, Cursor, OpenCode, Pi), created via dashboard, API, or template. The card's 'false' is wrong; corrected to true (harness_api stays false, matching existing feature_evidence, since there's no prompt/event-stream API for driving the agent).",
   "checked": "2026-09-30"
  },
  "windows": {
   "value": false,
   "source": "https://northflank.com/docs/v1/application/sandboxes/quickstart",
   "quote": "Each sandbox is a Linux environment running against its own kernel rather than the host's.",
   "note": "Product is explicitly Linux-only microVM/gVisor sandboxes; no Windows machine option anywhere in docs or pricing.",
   "checked": "2026-09-30"
  },
  "macos": {
   "value": false,
   "source": "https://northflank.com/docs/v1/application/sandboxes/quickstart",
   "quote": "Each sandbox is a Linux environment running against its own kernel rather than the host's.",
   "note": "Same as windows: Northflank sandboxes are Linux-only (microVM on Northflank cloud, gVisor for GPU); macOS is out of scope for the product entirely.",
   "checked": "2026-09-30"
  },
  "self_host": {
   "value": true,
   "corrected_from": false,
   "source": "https://northflank.com/enterprise",
   "quote": "Forward-deployed control plane — Deploy Northflank's control plane in your VPC or data center. Zero egress with air-gap support for classified workloads.",
   "note": "Beyond BYOC (compute only), Northflank Enterprise explicitly offers deploying its whole control plane into the customer's own VPC/data center (sales-gated, not open-source/self-service). Corrected from false to true (medium confidence: it's an enterprise/sales feature, not a downloadable self-hosted package).",
   "checked": "2026-09-30"
  },
  "open_source": {
   "value": false,
   "source": "https://github.com/orgs/northflank/repositories",
   "quote": "Northflank's GitHub org (github.com/northflank) hosts only SDKs, CLIs, examples, and forks of third-party open-source tools (containerd, loki, coredns, linkerd2-proxy) — no core platform/control-plane repository is published.",
   "note": "The core Northflank platform (control plane, scheduler, billing, dashboard) is closed-source/proprietary SaaS; nothing in the docs, pricing, or GitHub org indicates an OSI-licensed core product.",
   "checked": "2026-09-30"
  },
  "live_resize": {
   "value": false,
   "source": "https://northflank.com/docs/v1/application/sandboxes/sandboxes-on-northflank-cloud",
   "quote": "Change a plan at any time by scaling the service. The sandbox restarts with the new allocation, and anything held only in ephemeral storage is lost.",
   "note": "Resizing vCPU/RAM (changing deploymentPlan) explicitly restarts the sandbox and wipes ephemeral storage; it is not a live/in-place resize.",
   "checked": "2026-09-30"
  },
  "fast_boot": {
   "value": false,
   "source": "https://www.computesdk.com/benchmarks",
   "quote": "burst of 100: p95 28890 ms, 21% started",
   "note": "ComputeSDK sandbox benchmark 2026-09-16",
   "checked": "2026-09-16"
  },
  "usage_api": {
   "value": true,
   "source": "https://northflank.com/docs/v1/api/team/billing/get-usage.md",
   "quote": "GET /v1/billing/usage/{timestamp} and GET /v1/teams/{teamId}/billing/usage/{timestamp} return usage details broken down by team, project, resource type (service, job, harness, addon, volume), and individual resource ID. Each resource includes vCPU hours, memory GiB-hours, storage GiB-hours, GPU hour",
   "note": "granularity: per-sandbox; cost: yes; The API provides granular billing breakdown per individual resource (sandbox/service/job). Can be filtered by teamId, projectId, resourceType. Returns both usage quantities (vCPU-h, GB-h) and computed costs in USD. List endpoint supports filtering by time range and aggregation by hour/day/month.",
   "confidence": "high",
   "checked": "2026-10-01"
  },
  "persist_scope": {
   "value": "folder",
   "source": "https://northflank.com/docs/v1/api/project/services/create-deployment-service.md",
   "quote": "Creates a snapshot when a service container terminates, including crashes, rollouts, scale-downs, evictions, and manual restarts.",
   "note": "Only attached volumes survives a stop; the rest of the filesystem (packages installed elsewhere) resets.",
   "checked": "2026-10-01"
  },
  "raw_tcp_inbound": {
   "value": true,
   "source": "https://northflank.com/docs/v1/application/network/configure-ports",
   "quote": "TCP and UDP service ports require a separate Layer 4 load balancer for internet access.",
   "note": "Service public ports are HTTP/HTTP2 only ('Only HTTP and HTTP/2 ports can be publicly exposed.'). Raw TCP/UDP inbound needs a team-level Layer 4 load balancer (configure-load-balancers: 'Load balancers provide a stable public IP address for routing external TCP or UDP traffic to your services and addons'), available on managed cloud per region and on BYOC; backends must be running (not paused). Load balancer price not published.",
   "checked": "2026-10-14"
  }
 },
 "locations": [
  {
   "country": "US",
   "state": "IA",
   "city": "Iowa",
   "provider_region": "us-central1",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "VA",
   "city": "Ashburn",
   "provider_region": "us-east4",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "SC",
   "city": "South Carolina",
   "provider_region": "us-east5",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "OR",
   "city": "Oregon",
   "provider_region": "us-west1",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "CA",
   "city": "Los Angeles",
   "provider_region": "us-west2",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "GB",
   "state": null,
   "city": "London",
   "provider_region": "europe-west2",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "DE",
   "state": null,
   "city": "Frankfurt",
   "provider_region": "europe-west3",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "NL",
   "state": null,
   "city": "Eemshaven",
   "provider_region": "europe-west4",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "CH",
   "state": null,
   "city": "Zurich",
   "provider_region": "europe-west6",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "JP",
   "state": null,
   "city": "Tokyo",
   "provider_region": "asia-northeast1",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "SG",
   "state": null,
   "city": "Singapore",
   "provider_region": "asia-southeast1",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "IN",
   "state": null,
   "city": "Delhi",
   "provider_region": "asia-south2",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "HK",
   "state": null,
   "city": "Hong Kong",
   "provider_region": "asia-east2",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "AU",
   "state": null,
   "city": "Sydney",
   "provider_region": "australia-southeast2",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "ZA",
   "state": null,
   "city": "Johannesburg",
   "provider_region": "africa-south1",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "CA",
   "state": "ON",
   "city": "Toronto",
   "provider_region": "northamerica-northeast2",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "BR",
   "state": null,
   "city": "São Paulo",
   "provider_region": "southamerica-east1",
   "self_serve": true,
   "choosable": true
  }
 ],
 "locations_source": "https://northflank.com/docs/v1/application/sandboxes/examples",
 "locations_quote": "region\": \"us-central1\", \"region\": \"us-east4\", \"region\": \"us-east5\", \"region\": \"us-west1\", \"region\": \"us-west2\", \"region\": \"europe-west2\", \"region\": \"europe-west3\", \"region\": \"europe-west4\", \"region\": \"europe-west6\", \"region\": \"asia-northeast1\", \"region\": \"asia-southeast1\", \"region\": \"asia-south2\", \"",
 "locations_checked": "2026-10-01"
}