Cloudflare has open-sourced Kitesurf, its experimental browser engine built for AI agents, under the Apache 2.0 license. The code is now in a public repository, so developers can inspect and modify it, run it locally, or deploy it on their own Cloudflare accounts. The company had promised this move during its August announcement.
The open-source release lets developers run the engine in their own accounts without depending on the managed Browser Run APIs. The late-September update also added WebMCP support, expanded browser API coverage, and terminal output.
A lightweight engine instead of Chrome
Kitesurf processes HTML and CSS, renders the page, runs page JavaScript, and produces screenshots, all without needing Chrome or a browser container. Since it exposes a Chrome DevTools Protocol (CDP) endpoint externally, Puppeteer clients and agent frameworks can connect directly.
Inside the engine, Engine manages sessions and client connections, PageScript runs the page and its JavaScript, and PageRenderer produces the visual output. It uses Rust components compiled to WebAssembly: Blitz for HTML parsing, the DOM, layout, and painting; Stylo for CSS; Linebender libraries for text and 2D graphics; and Krilla for PDF output. When page code cannot run inside Dynamic Workers, a Boa-based fallback JavaScript runtime kicks in.
Balancing resource usage and security
Cloudflare’s goal is to give agents web access while using less CPU and memory than a full Chromium browser, and to scale across the Workers network as demand increases. Every page load is treated as untrusted input; a separate SandboxOutbound worker handles external requests, enforces network policy, and keeps cookies isolated on a per-page basis. Since PageRenderer does not keep persistent page state, a stuck rendering request can easily be replaced with a new one.
If you run your own deployment, the responsibility shifts to you as well. The engine has no built-in authentication, and a workers.dev address is public by default. Unless you add a layer like Cloudflare Access, anyone who knows the address can browse through the engine and connect a CDP client, send requests from your account, and burn through paid CPU time. The repository recommends protecting the address immediately and enabling Access before deploying.
Still experimental
Kitesurf is not a full Chrome implementation; the repository describes it as a CDP endpoint, and some DevTools features are still unsupported. At the August launch, Cloudflare said it was not suitable for video, WebGL, bot checks that require real TLS fingerprinting, or authenticated flows with long-lived sessions.
For local development, you need Bazelisk, Node.js 22 or later, and pnpm 9.15.4; after building, the engine starts up at 127.0.0.1:8787. Deploying to Cloudflare requires a paid Workers plan because of Dynamic Workers. The contribution process is strict as well: first, you need to open an issue with either a minimal reproduction or a proposal, and then get maintainer approval.
Source: Unite.AI

Share your experience
Bir sorunun, farklı bir çözümün veya eklemek istediğin bir notun var mı? Giriş yapmadan da yazabilirsin.