What changed
Cloudflare added Browser Run guardrails on September 14, 2026. A Puppeteer, Playwright or Chrome DevTools Protocol session can now be started with an `allowedDomains` list or reusable `allowedDomainSets`; HTTP and HTTPS requests to other hostnames are blocked for the lifetime of that session. Direct lists support up to 50 entries and domain sets up to four entries, including centrally hosted HTTPS lists. An empty allowlist blocks all outbound HTTP/HTTPS traffic. Blocked requests return HTTP 403 with Cloudflare-specific guardrail headers. The same release also adds read-only Live View links so observers can watch a session without clicking, typing, navigating or executing JavaScript.
Why it matters
Browser-using agents inherit the security surface of the web pages they visit: redirects, scripts, images and page instructions can all influence what the browser attempts next. A model prompt saying 'stay on this site' is not a network security boundary. Browser Run guardrails move that restriction into the execution environment itself. That gives builders a practical defense-in-depth control for research agents, QA systems, scraping workflows and any automation handling authenticated sessions or sensitive data.
The allowlist is enforced by the browser runtime, not the prompt
Developers declare allowed hostname patterns when the Browser Run session is created. Requests outside that set are blocked before the browser can use them, and Cloudflare returns a 403 tagged with `cf-mitigated: guardrails`. The policy cannot be relaxed mid-session; changes require starting a new session.
Teams can use fixed lists or centrally maintained domain sets
`allowedDomains` supports a short explicit list, while `allowedDomainSets` can reference reusable sets, including an HTTPS-hosted text file. Cloudflare also provides a maintained `common-cdns` set for common page dependencies. Hosted lists are cached for up to an hour and only affect sessions started after the refreshed list is loaded.
A browser can be made completely network-isolated
Passing an empty `allowedDomains` array blocks all HTTP and HTTPS requests. That is useful for rendering self-contained HTML into screenshots or PDFs without allowing the content to fetch scripts, tracking pixels, APIs or other external resources.
Read-only Live View separates observation from control
Browser Run can now issue a Live View URL in read-only mode. A viewer can watch the active session but cannot interact with the page or execute JavaScript. The viewing permission is separate from the session's hostname guardrails, which remain enforced.
This is a different boundary from Chrome's Connection Allowlist
BTN already tracks Chrome 152's `Connection-Allowlist`, which lets a website restrict its own browser-originated network destinations. Browser Run guardrails operate one layer higher: the automation operator sets the policy for a hosted browser session before an agent drives it. The two mechanisms address similar exfiltration risk from opposite sides of the browser trust boundary.