{
 "features_resolved": {
  "snapshot_any": false,
  "snapshot_mem": false,
  "fork": false,
  "pause_resume": false,
  "persistent_disk": false,
  "whole_disk": false,
  "persist_scope": null,
  "volumes": false,
  "auto_stop_idle": true,
  "long_sessions": true,
  "custom_image": null,
  "image_snapshot": false,
  "image_oci": false,
  "vm_isolation": false,
  "docker_inside": false,
  "nested_virt": false,
  "root": null,
  "systemd": null,
  "browser": true,
  "desktop": false,
  "computer_use": true,
  "code_interpreter": null,
  "browser_control": true,
  "desktop_control": false,
  "browser_and_desktop": false,
  "anti_bot": false,
  "captcha_solving": false,
  "residential_ip": false,
  "agent_harnesses": false,
  "ssh": false,
  "public_ipv4": false,
  "inbound_https": false,
  "custom_domain": null,
  "raw_tcp_inbound": null,
  "egress_allowlist": true,
  "open_internet": true,
  "static_egress_ip": false,
  "private_network": null,
  "self_host": false,
  "byoc": false,
  "open_source": false,
  "soc2": true,
  "hipaa": true,
  "sso": true,
  "gpu": false,
  "arm64": false,
  "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": false,
  "memory_snapshot_fork": false,
  "webhooks": null,
  "scheduled_wakeups": null,
  "audit_logs": null,
  "eu_data_residency": false,
  "zero_data_retention": null,
  "scoped_api_keys": null,
  "spend_limits": null,
  "mcp_server": true,
  "usage_api": false,
  "snapshot_auto": false,
  "snapshot_on_demand": false,
  "harness_api": false,
  "own_agent_api": false,
  "fast_boot": null,
  "strong_isolation": false,
  "ingress_rules": false,
  "guest_firewall": false,
  "secret_proxy": false,
  "secret_proxy_any": false,
  "volume_attach": false,
  "volume_shared": false,
  "sidecar": null,
  "fuse": null,
  "kernel_features": null,
  "burst": null
 },
 "company": {
  "id": "cloudflare-browser",
  "checked": "2026-09-30",
  "company": "Cloudflare, Inc.",
  "ownership": {
   "value": "public",
   "parent": null,
   "source": "https://en.wikipedia.org/wiki/Cloudflare",
   "quote": "The company went public on the New York Stock Exchange in 2019 under the ticker symbol NET."
  },
  "stage": {
   "value": "public",
   "source": "https://en.wikipedia.org/wiki/Cloudflare",
   "quote": "On August 15, 2019, Cloudflare submitted its S-1 filing for an initial public offering on the New York Stock Exchange under the stock ticker NET. It opened for public trading on September 13, 2019, at $15 per share.",
   "confidence": "high",
   "note": "Cloudflare Inc. (NYSE: NET) has traded publicly since September 2019; Browser Run / Kitesurf is a product within Cloudflare's Workers developer platform, not a separately funded entity."
  },
  "accelerators": [],
  "total_funding_usd": {
   "value": 332000000,
   "status": "estimated",
   "basis": "Aggregator figure (Crunchbase-style total of disclosed pre-IPO VC rounds, including the $150M round reported by San Francisco Business Times/TechCrunch in March 2019) commonly cited for Cloudflare's total private funding before its September 2019 IPO; no single primary source itemizing the full round-by-round total was independently re-verified in this pass.",
   "source": "https://en.wikipedia.org/wiki/Cloudflare",
   "quote": "Cloudflare's $150 million funding round puts its IPO plans in question (San Francisco Business Times, March 12, 2019)"
  },
  "last_round": {
   "type": "series-e",
   "amount_usd": 150000000,
   "date": "2019-03",
   "leads": [
    "Franklin Templeton"
   ],
   "status": "estimated",
   "source": "https://en.wikipedia.org/wiki/Cloudflare",
   "quote": "Cloudflare's $150 million funding round puts its IPO plans in question (San Francisco Business Times, March 12, 2019)"
  },
  "investors": [
   "Franklin Templeton",
   "Fidelity",
   "Baidu Capital",
   "Qualcomm Ventures",
   "New Enterprise Associates (NEA)",
   "Pelion Venture Partners",
   "Venrock",
   "Union Square Ventures",
   "Microsoft"
  ],
  "portfolio_listings": [
   {
    "source": "NEA",
    "company": "Cloudflare",
    "batch": 2010,
    "how": "domain"
   }
  ],
  "revenue": {
   "value_usd": 2168000000,
   "kind": "annual revenue",
   "as_of": "2025",
   "status": "confirmed",
   "basis": "Cloudflare, Inc. 2025 Annual Report (Form 10-K), as summarized on Wikipedia's company infobox",
   "source": "https://en.wikipedia.org/wiki/Cloudflare",
   "quote": "Revenue US$2.168 billion (2025)"
  },
  "employees": {
   "value": 5156,
   "source": "https://en.wikipedia.org/wiki/Cloudflare"
  },
  "note": "Cloudflare Browser Run (including the Kitesurf beta engine) is a product line inside Cloudflare's Workers developer platform, not an independently funded company. Ownership/funding/stage fields describe Cloudflare, Inc. as a whole (public, NYSE: NET since 2019); revenue figure is company-wide, not broken out for Browser Run specifically. In May 2026 Cloudflare announced cutting ~1,100 positions (~20% of workforce) amid AI-driven restructuring, alongside record Q1 2026 revenue of $639.8M."
 },
 "id": "cloudflare-browser",
 "name": "Cloudflare Browser Run / Kitesurf",
 "url": "https://developers.cloudflare.com/browser-run/pricing/",
 "category": "browser",
 "isolation": "container",
 "modes": [
  {
   "key": "chromium-browser-sessions",
   "label": "Chromium Browser Sessions",
   "flags": [],
   "os": [
    "linux"
   ],
   "regions": null,
   "gpu_only": false,
   "features": {},
   "pricing": "sizes",
   "sizes": [
    {
     "name": "Chromium Browser Sessions",
     "vcpu": null,
     "ram_gib": null,
     "disk_gib": null,
     "hour": 0.09,
     "month_cap": 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": "Plus monthly-average daily-peak concurrency fee; monthly runtime total rounded to nearest hour."
  },
  {
   "key": "quick-actions",
   "label": "Quick Actions",
   "flags": [
    "alt"
   ],
   "os": [
    "linux"
   ],
   "regions": null,
   "gpu_only": false,
   "features": {},
   "pricing": "sizes",
   "sizes": [
    {
     "name": "Quick Actions",
     "vcpu": null,
     "ram_gib": null,
     "disk_gib": null,
     "hour": 0.09,
     "month_cap": 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": "Stateless API actions; no concurrency-fee meter; not a long-lived session."
  },
  {
   "key": "kitesurf-beta",
   "label": "Kitesurf beta",
   "flags": [
    "beta",
    "alt"
   ],
   "os": [
    "linux"
   ],
   "regions": null,
   "gpu_only": false,
   "features": {
    "persistent_disk": false,
    "snapshot": "none"
   },
   "pricing": "sizes",
   "sizes": [
    {
     "name": "Kitesurf beta",
     "vcpu": null,
     "ram_gib": null,
     "disk_gib": null,
     "hour": 0,
     "month_cap": null
    }
   ],
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": null,
   "granularity_s": null,
   "start_fee": null,
   "boot_overhead_s": null,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "note": "Free while beta; stateless Workers-native engine; not full Chrome or long authenticated sessions."
  }
 ],
 "storage": {
  "included_disk_gib": null,
  "disk_gib_month": null,
  "disk_billed_when_stopped": null,
  "snapshot_gib_month": null,
  "paused_ram_billed": null
 },
 "network": {
  "egress_free_gib": null,
  "egress_gib": 0,
  "ipv4_month": null,
  "ipv4_available": null,
  "internet": {
   "default": "full"
  }
 },
 "plans": [
  {
   "name": "Workers Free",
   "fee": 0,
   "flags": [],
   "fee_is_credit": false,
   "included_usd": 0,
   "per_seat": null,
   "concurrency": 3,
   "max_session_h": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes_allowed": [
    "Kitesurf beta"
   ],
   "note": "Chromium is available on Workers Free but capped at 10 browser-minutes/day (429 until the next UTC day), 3 concurrent browsers, a new browser every 20 s and 1 Quick Actions request per 10 s; sizes_allowed is kept to Kitesurf beta because ~5 h/month cannot carry a real workload. Kitesurf beta account limits apply. No published CPU/RAM size."
  },
  {
   "name": "Workers Paid",
   "fee": 5,
   "flags": [],
   "fee_is_credit": false,
   "included_usd": 0.9,
   "per_seat": null,
   "concurrency": 200,
   "max_session_h": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes_allowed": null,
   "note": "10 included browser-hours/month, valued at $.09/hour. Ten averaged concurrent browsers included; each additional averaged browser costs $2/month. Workers requests and CPU may add charges."
  }
 ],
 "free": {
  "monthly_credit": null,
  "one_time_credit": null
 },
 "features": {
  "linux": null,
  "windows": false,
  "macos": false,
  "arm64": false,
  "gpu": false,
  "snapshot": "none",
  "pause_resume": false,
  "fork": false,
  "persistent_disk": false,
  "volumes": null,
  "auto_stop_idle": true,
  "max_session_h": null,
  "custom_image": null,
  "docker_inside": false,
  "nested_virt": false,
  "root": null,
  "systemd": null,
  "browser": true,
  "desktop": false,
  "computer_use": true,
  "code_interpreter": null,
  "agent_harnesses": false,
  "ssh": false,
  "public_ipv4": false,
  "inbound_https": false,
  "custom_domain": null,
  "raw_tcp_inbound": null,
  "egress_allowlist": true,
  "static_egress_ip": false,
  "private_network": null,
  "self_host": false,
  "byoc": false,
  "open_source": false,
  "soc2": true,
  "hipaa": true,
  "sso": true,
  "gpu_types": [],
  "regions": null,
  "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": false,
  "zero_data_retention": null,
  "scoped_api_keys": null,
  "spend_limits": null,
  "mcp_server": true,
  "browser_control": true,
  "desktop_control": false,
  "anti_bot": false,
  "captcha_solving": false,
  "egress_ip_type": "datacenter",
  "ip_note": "All traffic egresses from Cloudflare IP ranges; no per-request IP rotation; always identified as bot traffic (non-removable cf-biso-* and Web Bot Auth Signature headers). No third-party proxy option is documented; Outbound Workers can route selected http:// (not https://) hostnames through your own Worker. An optional `location` (ISO country code) session option exists in the Workers binding.",
  "snapshot_auto": false,
  "snapshot_on_demand": false,
  "egress_allowlist_level": "domain",
  "guest_firewall": false,
  "isolation": "container",
  "image_oci": false,
  "volume_attach": false,
  "volume_shared": false,
  "harness_api": false,
  "own_agent_api": false,
  "ingress_rules": false,
  "secret_proxy": false,
  "max_session_unlimited": true,
  "open_internet": true,
  "usage_api": false
 },
 "perf": {
  "cpu_runs_s": null,
  "cold_start_ms": null,
  "burst_tti_ms": null,
  "dax_s": null
 },
 "caveats": [
  "Storage, snapshot GiB-month and public IPv4 prices are not published in the reviewed sources; null is not free.",
  "No guaranteed vCPU allocation published; browser-hour is not a verified 4-vCPU/8-GiB VM equivalent. The sizes card keeps unknown hardware null; do not coerce it to zero or auto-rank against resource-guaranteed VMs.",
  "Browser RAM is not published unless a specific mode overrides it.",
  "Concurrency fees use the monthly average of daily peak concurrency, not the monthly maximum or a time-weighted average. Add this fee outside the current engine.",
  "Browser usage is metered in seconds and the monthly sum is rounded to the nearest hour. Do not impose a one-hour minimum on each start.",
  "The paid technical concurrency cap is 200; the billing allowance is only 10 averaged browsers. Keep-alive limits concern inactivity, not maximum active session length.",
  "Kitesurf is a beta, stateless alternative without full Chromium graphics, video, WebGL or long-lived authenticated state. Its zero price is not a free general-purpose computer.",
  "Worker requests/CPU, inference, recording storage and other unpriced charges remain separate. No browser CPU/RAM allocation guarantee was found.",
  "Idle tail is billed: a session not closed with browser.close() keeps consuming browser time until the inactivity timeout (60 s default, up to 10 min via keep_alive per the limits page; the Workers binding reference allows keepAlive 10 s to 20 min). Sessions also close when Browser Run rolls out a new release.",
  "Session recordings are retained 30 days then deleted; no recording storage price is published."
 ],
 "sources": [
  "https://developers.cloudflare.com/browser-run/pricing/",
  "https://developers.cloudflare.com/browser-run/llms-full.txt",
  "https://developers.cloudflare.com/browser-run/limits/",
  "https://developers.cloudflare.com/browser-run/kitesurf/",
  "https://developers.cloudflare.com/workers/platform/pricing/"
 ],
 "fleet": {
  "default_max_instances": 3,
  "default_max_vcpu": null,
  "default_max_gpus": null,
  "raise": "ticket",
  "raise_time_days": null,
  "verification": null,
  "tiers": "Workers Free 3; Workers Paid 200 default. Beyond 200 submit limit-increase request for review.",
  "notes": "Browser Sessions quota, not Browser Run HTTP-request rate. Paid plan includes only 10 averaged browsers in price, not a cap of 10. 10/50 fit paid quota; 300/1,000 need approved increase. Free creates 1/20 seconds; paid 3/second. No human-review turnaround stated. Quick Actions request rate: Workers Free 1 per 10 s, Workers Paid 30/s. Workers Free /crawl: 5 jobs/day, max 100 pages per crawl. Workers Paid defaults were raised on 2026-08-20 (concurrent browsers 120->200, new browsers/s 1->3, Quick Actions req/s 10->30); published limits are defaults, not maximums.",
  "sources": [
   "https://developers.cloudflare.com/browser-run/limits/",
   "https://developers.cloudflare.com/browser-run/pricing/"
  ],
  "researched": "2026-09-28"
 },
 "audit_2026_09_29": {
  "applied": 5,
  "source": "checked against the provider's live pricing and docs pages",
  "reviewed": 10
 },
 "extras": [
  {
   "item": "Workers usage when driving Browser Run from a Worker",
   "price": "Workers Paid: 10M requests/month included then $0.30/M; 30M CPU-ms included then $0.02/M CPU-ms"
  }
 ],
 "feature_evidence": {
  "snapshot_auto": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/faq/",
   "quote": "For Puppeteer, Playwright, and CDP, no caching is used. Content exists only in memory for the duration of the rendering operation and is discarded immediately after the response is returned.",
   "note": "Sessions close on idle (keep_alive 60 s default, max 10 min) and nothing is saved. Kitesurf is explicitly 'stateless'. Only opt-in session recordings (DOM/input events, 30 days) survive, which are replay logs, not restorable state.",
   "checked": "2026-09-29"
  },
  "snapshot_on_demand": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/faq/",
   "quote": "Cloudflare processes content ephemerally and does not retain customer-submitted HTML or generated output (such as PDFs or screenshots) beyond what is required to perform the rendering operation.",
   "note": "No browser-state checkpoint or persistent profile API. Docs show DIY cookie/localStorage persistence: Playwright storageState saved to KV by your code (playwright page). The '/snapshot' Quick Action returns page content+screenshot, not a restorable snapshot.",
   "checked": "2026-09-29"
  },
  "egress_allowlist": {
   "value": true,
   "source": "https://developers.cloudflare.com/browser-run/features/guardrails/",
   "quote": "Guardrails limit a Browser Run session's HTTP and HTTPS requests to permitted hostnames.",
   "note": "allowedDomains (<=50, one wildcard each) + allowedDomainSets (<=4: Cloudflare 'common-cdns' or your hosted HTTPS list); empty allowedDomains blocks all web requests. Fixed at session start. Blocked requests get 403 cf-mitigated: guardrails. Not for Quick Actions, not supported with Kitesurf. Hostnames only, no IP/CIDR rules.",
   "checked": "2026-09-29",
   "level": "domain"
  },
  "guest_firewall": {
   "value": false,
   "source": null,
   "quote": null,
   "note": "No shell or OS access to the browser host: control is CDP/Puppeteer/Playwright only, so you cannot run nftables/iptables.",
   "checked": "2026-09-29",
   "derived": true
  },
  "isolation": {
   "value": "container",
   "source": "https://developers.cloudflare.com/browser-run/get-started/",
   "quote": "Your Worker application is a container to interact with a headless browser to do actions, such as taking screenshots.",
   "note": "Browser Run is a managed multi-tenant headless-Chromium service; you get a browser/CDP session, not a VM or microVM boundary. No hypervisor/microVM isolation is documented for the customer-visible unit; classified as container-level per the card's own top-level isolation field.",
   "checked": "2026-09-30"
  },
  "image_oci": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/pricing/",
   "quote": "Understand Browser Run pricing for Quick Actions and Browser Sessions, including browser hours and concurrent browser costs.",
   "note": "not offered: outside the product's scope — Browser Run gives you a managed headless-Chromium session (Quick Actions / CDP), not a machine you boot from a custom OCI/Docker image.",
   "checked": "2026-09-30"
  },
  "docker_inside": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/",
   "quote": "Control headless browsers with Cloudflare's Workers Browser Run API. Automate tasks, take screenshots, convert pages to PDFs, and test web apps.",
   "note": "not offered: outside the product's scope — there is no shell/OS access to run Docker inside a Browser Run session; you only get CDP/Puppeteer/Playwright control of the browser.",
   "checked": "2026-09-30"
  },
  "nested_virt": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/",
   "quote": "Control headless browsers with Cloudflare's Workers Browser Run API.",
   "note": "not offered: outside the product's scope — no /dev/kvm or OS-level access is exposed; the surface is a browser session, not a general compute machine.",
   "checked": "2026-09-30"
  },
  "ssh": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/",
   "quote": "Control headless browsers with Cloudflare's Workers Browser Run API.",
   "note": "not offered: outside the product's scope — access is via REST Quick Actions or a CDP WebSocket (Puppeteer/Playwright), never SSH to an OS.",
   "checked": "2026-09-30"
  },
  "snapshot": {
   "value": "none",
   "source": "https://developers.cloudflare.com/browser-run/faq/",
   "quote": "For Puppeteer, Playwright, and CDP, no caching is used. Content exists only in memory for the duration of the rendering operation and is discarded immediately after the response is returned.",
   "note": "Card's own feature_evidence already establishes snapshot_auto=false and snapshot_on_demand=false; no filesystem or memory snapshot/restore capability is documented. Kitesurf beta mode is explicitly stateless (card note: persistent_disk false, snapshot none).",
   "checked": "2026-09-30"
  },
  "fork": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/faq/",
   "quote": "For Puppeteer, Playwright, and CDP, no caching is used. Content exists only in memory for the duration of the rendering operation and is discarded immediately after the response is returned.",
   "note": "not offered: outside the product's scope — there is no machine-cloning API; sessions/browser contexts are created fresh, not forked from an existing one.",
   "checked": "2026-09-30"
  },
  "fork_running": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/faq/",
   "quote": "For Puppeteer, Playwright, and CDP, no caching is used. Content exists only in memory for the duration of the rendering operation and is discarded immediately after the response is returned.",
   "note": "not offered: outside the product's scope — no clone-a-running-machine capability exists for this browser-session product.",
   "checked": "2026-09-30"
  },
  "memory_snapshot_fork": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/faq/",
   "quote": "For Puppeteer, Playwright, and CDP, no caching is used. Content exists only in memory for the duration of the rendering operation and is discarded immediately after the response is returned.",
   "note": "not offered: outside the product's scope — follows from no fork/snapshot capability at all.",
   "checked": "2026-09-30"
  },
  "pause_resume": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/limits/",
   "quote": "By default, a browser instance will time out after 60 seconds of inactivity. If you want to keep the browser open longer, you can use the keep_alive option, which allows you to extend the timeout to up to 10 minutes.",
   "note": "Sessions only stay alive via keep_alive/activity or close on timeout; there is no explicit pause/resume-with-reduced-billing API — a closed session must be recreated from scratch, not resumed.",
   "checked": "2026-09-30"
  },
  "wake_on_request": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/limits/",
   "quote": "There is no fixed maximum lifetime for a browser session as long as it remains active. By default, Browser Run closes sessions after one minute of inactivity to prevent unintended usage.",
   "note": "not offered: outside the product's scope — a closed/expired session is not woken; a new browser session must be launched on the next request (there is no persistent machine that resumes state).",
   "checked": "2026-09-30"
  },
  "persistent_disk": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/faq/",
   "quote": "Cloudflare processes content ephemerally and does not retain customer-submitted HTML or generated output (such as PDFs or screenshots) beyond what is required to perform the rendering operation.",
   "note": "Matches card's kitesurf-beta mode feature (persistent_disk: false) and card's overall ephemeral/stateless framing; no persistent filesystem across stop/start is documented.",
   "checked": "2026-09-30"
  },
  "volume_attach": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/",
   "quote": "Control headless browsers with Cloudflare's Workers Browser Run API.",
   "note": "not offered: outside the product's scope — no volume/disk attachment concept exists for a headless-browser session.",
   "checked": "2026-09-30"
  },
  "volume_shared": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/",
   "quote": "Control headless browsers with Cloudflare's Workers Browser Run API.",
   "note": "not offered: outside the product's scope — no shared-volume mounting concept exists for browser sessions.",
   "checked": "2026-09-30"
  },
  "live_resize": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/pricing/",
   "quote": "Understand Browser Run pricing for Quick Actions and Browser Sessions, including browser hours and concurrent browser costs.",
   "note": "not offered: outside the product's scope — there is no published CPU/RAM sizing at all (card caveat: 'No guaranteed vCPU allocation published'), so there is nothing to live-resize.",
   "checked": "2026-09-30"
  },
  "agent_harnesses": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/cdp/mcp-clients/",
   "quote": "An MCP-compatible AI client (for example, Claude Desktop, Claude Code, Cursor, OpenCode)",
   "note": "Browser Run integrates with external coding-agent clients (Claude Code, Cursor, OpenCode) as MCP *clients* connecting to it via chrome-devtools-mcp; it does not preinstall or template-offer coding agents inside a sandbox.",
   "checked": "2026-09-30"
  },
  "harness_api": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/cdp/mcp-clients/",
   "quote": "Configure AI coding agents to control Browser Run sessions through the Model Context Protocol (MCP) using the chrome-devtools-mcp package.",
   "note": "not offered: outside the product's scope — Browser Run is driven by external agents/harnesses over CDP/MCP; it does not itself run or drive a coding harness inside the machine.",
   "checked": "2026-09-30"
  },
  "own_agent_api": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/",
   "quote": "Control headless browsers with Cloudflare's Workers Browser Run API. Automate tasks, take screenshots, convert pages to PDFs, and test web apps.",
   "note": "not offered: outside the product's scope — Browser Run/Quick Actions provide primitive HTTP actions (screenshot, PDF, /json AI extraction) but no first-party autonomous browser/research 'agent' API that plans and executes multi-step tasks on its own.",
   "checked": "2026-09-30"
  },
  "lang_python": {
   "value": true,
   "source": "https://raw.githubusercontent.com/cloudflare/cloudflare-python/main/README.md",
   "quote": "The Cloudflare Python library provides convenient access to the Cloudflare REST API from any Python 3.9+ application.",
   "note": "Official Cloudflare Python SDK (pypi 'cloudflare') covers the browser_rendering resource used to call Browser Run/Quick Actions; the product itself does not execute your Python code, but a first-party Python client exists for the API.",
   "checked": "2026-09-30"
  },
  "lang_node": {
   "value": true,
   "source": "https://developers.cloudflare.com/browser-run/get-started/",
   "quote": "Configure your `browser-worker` project's Wrangler configuration file by adding a browser binding and a Node.js compatibility flag.",
   "note": "Primary integration path is a Cloudflare Worker (JS/TS, Node.js-compatible runtime) with a browser binding, plus a first-party TypeScript/JS SDK and Puppeteer/Playwright libraries.",
   "checked": "2026-09-30"
  },
  "public_ipv4": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/",
   "quote": "Control headless browsers with Cloudflare's Workers Browser Run API.",
   "note": "not offered: outside the product's scope — there is no customer machine with its own public IPv4; the product renders pages and returns results over HTTPS/CDP, all traffic egresses from shared Cloudflare IP ranges per the card's ip_note.",
   "checked": "2026-09-30"
  },
  "inbound_https": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/",
   "quote": "Control headless browsers with Cloudflare's Workers Browser Run API.",
   "note": "not offered: outside the product's scope — there is no exposed application port on the browser session to reach via an HTTPS URL; you call the Browser Run API/CDP endpoint, not a service running inside the session.",
   "checked": "2026-09-30"
  },
  "ingress_rules": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/",
   "quote": "Control headless browsers with Cloudflare's Workers Browser Run API.",
   "note": "not offered: outside the product's scope — there are no customer-exposed inbound ports to apply allowlist/security-group-style ingress rules to.",
   "checked": "2026-09-30"
  },
  "egress_http_rules": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/features/guardrails/",
   "quote": "Guardrails limit a Browser Run session's HTTP and HTTPS requests to permitted hostnames.",
   "note": "Guardrails control is hostname/domain-level (allowedDomains/allowedDomainSets), matching the card's own egress_allowlist_level: 'domain'; no HTTP method/path-level egress rule capability is documented.",
   "checked": "2026-09-30"
  },
  "secret_proxy": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/features/guardrails/",
   "quote": "Guardrails limit a Browser Run session's HTTP and HTTPS requests to permitted hostnames.",
   "note": "No documented first-party credential-injecting HTTP proxy; the card's own credential_injection field is null/undocumented and Guardrails is a domain allow/deny filter, not a secret-injecting proxy.",
   "checked": "2026-09-30"
  },
  "static_egress_ip": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/",
   "quote": "All traffic egresses from Cloudflare IP ranges; no per-request IP rotation; always identified as bot traffic",
   "note": "Card's own ip_note states traffic egresses from shared Cloudflare IP ranges with no per-request rotation, but also documents no dedicated/fixed customer-specific egress IP option; egress_ip_type is 'datacenter' (shared), not a static dedicated IP product.",
   "checked": "2026-09-30"
  },
  "gpu": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/pricing/",
   "quote": "Understand Browser Run pricing for Quick Actions and Browser Sessions, including browser hours and concurrent browser costs.",
   "note": "not offered: outside the product's scope — no GPU machine option is documented or priced for a headless-Chromium rendering product.",
   "checked": "2026-09-30"
  },
  "windows": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/",
   "quote": "Control headless browsers with Cloudflare's Workers Browser Run API.",
   "note": "not offered: outside the product's scope — Browser Run runs headless Chromium on Cloudflare's own Linux-based infrastructure; no Windows machine option exists.",
   "checked": "2026-09-30"
  },
  "macos": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/",
   "quote": "Control headless browsers with Cloudflare's Workers Browser Run API.",
   "note": "not offered: outside the product's scope — no macOS machine option exists for this browser-rendering service.",
   "checked": "2026-09-30"
  },
  "self_host": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/",
   "quote": "Control headless browsers with Cloudflare's Workers Browser Run API. Automate tasks, take screenshots, convert pages to PDFs, and test web apps.",
   "note": "Browser Run is a Cloudflare-hosted managed service (billed by browser-hours/concurrency on Workers plans); there is no self-hosted/on-prem distribution of the product.",
   "checked": "2026-09-30"
  },
  "byoc": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/pricing/",
   "quote": "Understand Browser Run pricing for Quick Actions and Browser Sessions, including browser hours and concurrent browser costs.",
   "note": "No bring-your-own-cloud deployment model is documented; Browser Run only runs on Cloudflare's own global network.",
   "checked": "2026-09-30"
  },
  "open_source": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/",
   "quote": "Control headless browsers with Cloudflare's Workers Browser Run API.",
   "note": "Browser Run itself is a closed, Cloudflare-run managed service (only client SDKs/bindings like the Puppeteer/Playwright libraries are open source, not the rendering service).",
   "checked": "2026-09-30"
  },
  "soc2": {
   "value": true,
   "source": "https://www.cloudflare.com/trust-hub/",
   "quote": "Explore our posture around ISO 27001, ISO 27701, PCI DSS, SOC 2 Type II, and others.",
   "note": "SOC 2 Type II attestation is at the Cloudflare company/platform level, which covers Workers/Browser Run as part of the Cloudflare developer platform.",
   "checked": "2026-09-30"
  },
  "eu_data_residency": {
   "value": false,
   "source": "https://developers.cloudflare.com/data-localization/",
   "quote": "The Data Localization Suite (DLS) is a collection of tools that enable customers to choose the location where Cloudflare inspects and stores data... Enterprise-only paid add-on",
   "note": "Data Localization Suite is documented for zone/HTTPS traffic (Regional Services, Geo Key Manager, Metadata Boundary) and is not documented as covering Browser Run sessions; no EU-region pinning is documented for where Browser Run executes or stores session data.",
   "checked": "2026-09-30"
  },
  "max_session_h": {
   "value": "none",
   "source": "https://developers.cloudflare.com/browser-run/limits/",
   "quote": "There is no fixed maximum lifetime for a browser session as long as it remains active.",
   "note": "Sessions close after an inactivity timeout (default 60s, extendable to 10 min via keep_alive), not a fixed maximum runtime; an actively-used session can run indefinitely.",
   "checked": "2026-09-30"
  },
  "arm64": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/pricing/",
   "quote": "Browser Rendering lets you use a serverless Chromium browser instance, called a Browser Session, to programmatically control and interact with a website.",
   "note": "not offered: outside the product's scope — Browser Rendering/Kitesurf are serverless, fully managed Chromium/Workers-native sessions with no customer-selectable machine architecture; CPU architecture (ARM64 vs x86) is never exposed or documented as a choice.",
   "checked": "2026-09-30"
  },
  "hipaa": {
   "value": true,
   "source": "https://www.cloudflare.com/trust-hub/compliance-resources/",
   "quote": "HIPAA. The Health Insurance Portability and Accountability Act (HIPAA) sets the standard for protecting sensitive patient data. Contact your account team to request the HIPAA AoC.",
   "note": "Account-level attestation (HIPAA Attestation of Compliance) available on request through the account team, applying across Cloudflare's platform including Workers/Browser Rendering; not a self-serve, plan-tier-independent guarantee and no BAA text was located on this page.",
   "checked": "2026-09-30"
  },
  "sso": {
   "value": true,
   "source": "https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/",
   "quote": "Generic OIDC Generic SAML ... SAML and OIDC providers and can integrate with the majority of OAuth providers.",
   "note": "Cloudflare dashboard/account login supports SAML and OIDC single sign-on via Cloudflare Access identity provider integrations (Okta, Azure AD, Google Workspace, generic SAML/OIDC, etc.), covering account access to Browser Rendering/Workers.",
   "checked": "2026-09-30"
  },
  "desktop": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/",
   "quote": "Control headless browsers with Cloudflare's Workers Browser Run API. Automate tasks, take screenshots, convert pages to PDFs, and test web apps.",
   "note": "Product is a headless-Chrome automation API, not a VM/container with a graphical OS desktop. The 'Live View' feature (https://developers.cloudflare.com/browser-run/features/live-view/) only streams/controls a single browser tab via CDP/devtools ('Live View lets you see and interact with a remote Browser Run session in real time'), which is browser remote-control, not a VNC/RDP-style OS desktop; already captured separately as desktop_control=false/browser_control=true. Confirmed as outside the product's scope.",
   "checked": "2026-09-30"
  },
  "usage_api": {
   "value": false,
   "source": "https://developers.cloudflare.com/browser-run/pricing/",
   "quote": "Billing depends on how you use Browser Run: Quick Actions: Charged for browser hours only. Browser Sessions: Direct browser control, charged for both browser hours and concurrent browsers. To monitor your Browser Run usage in the Cloudflare dashboard, go to the Browser Run page. The X-Browser-Ms-Use",
   "note": "granularity: account-only; cost: no; No API endpoint exists to query billable usage per sandbox/session. Quick Actions exposes milliseconds per request via X-Browser-Ms-Used header (not an aggregation API). Browser Sessions usage is visible only in the Cloudflare dashboard at account level; concurrent browser fees are calculated monthly from daily peaks. GraphQL Analytics API explicitly excludes billing-grade metrics.",
   "confidence": "high",
   "checked": "2026-10-01"
  }
 },
 "locations": [],
 "locations_everywhere": true,
 "locations_source": "https://developers.cloudflare.com/browser-run/",
 "locations_quote": "Control headless browsers with Cloudflare's Workers Browser Run API. Automate tasks, take screenshots, convert pages to PDFs, and test web apps. All traffic egresses from Cloudflare IP ranges.",
 "locations_checked": "2026-10-01"
}