Kitesurf: Cloudflare ha costruito un browser per agenti, non per umani
Kitesurf di Cloudflare è un browser ricostruito in Rust e WebAssembly per agenti IA. Cosa l’architettura fa bene, dove è ancora debole e quando usarlo.
In questa pagina
- Cosa è successo
- Perché Chromium è diventato la voce costosa
- L’architettura, letta da practitioner
- Il threat model è il vero prodotto
- Cosa Kitesurf non può fare e quando usarlo
- Cosa fare adesso
- FAQ
- Kitesurf è gratuito?
- Kitesurf funziona con Playwright e Puppeteer?
- Qual è la differenza tra Kitesurf e Browserbase?
- Quando Kitesurf diventerà open source?
- In sintesi
- Fonti
Tre numeri dalla tabella di benchmark di Cloudflare spiegano quasi tutto su ciò per cui Kitesurf è stato costruito. Un job di screenshot che costa 271 MiB di memoria a un’istanza Chromium calda ne costa 58 a Kitesurf. Estrarre l’HTML dalle stesse pagine richiede 3,8 volte meno CPU. Chromium continua però a vincere sul cronometro, di circa 1,7 volte, perché un JIT che ha già visto la pagina batte ogni volta un renderer software freddo. La scommessa di Cloudflare è che i primi due numeri siano quelli che finiscono sulla fattura.
Kitesurf è un browser costruito da zero in Rust, compilato in WebAssembly ed eseguito dentro isolate V8 su Cloudflare Workers. Esiste per agenti IA invece che per persone ed è gratuito durante la beta all’interno di Browser Run, il prodotto browser hosted di Cloudflare. Il post di annuncio è insolitamente onesto sui trade-off, uno dei motivi per cui penso meriti una lettura completa invece di una rapida occhiata al titolo. L’ho letto più volte. Ecco cosa ritengo importante, cosa non credo ancora e cosa farei se oggi gestissi workload agentici.
Punti chiave - Kitesurf è un browser costruito da zero, Rust compilato in WebAssembly, eseguito in isolate V8 su Cloudflare Workers e gratuito in beta tramite Browser Run. Parla Chrome DevTools Protocol, quindi Puppeteer e Playwright funzionano senza modifiche. - Rispetto a Chromium usa da 3,1 a 3,8 volte meno CPU e da 4,7 a 7 volte meno memoria sui task agentici comuni, mentre gira circa 1,7 volte più lentamente. CPU e memoria sono ciò su cui i provider fatturano. - È stato scritto in gran parte da agenti IA che lavoravano contro oltre 215.000 Web Platform Tests come obiettivo, il segnale di engineering più interessante di tutto l’annuncio. - Non può riprodurre video, renderizzare WebGL, superare bot check o mantenere lunghe sessioni autenticate. Trattatelo come un engine usa e getta per estrazione stateless, non come sostituto di Chromium. - La security posture è il vero prodotto: ogni page load è considerato ostile, un solo componente sandboxed tocca la rete e tutto il resto è progettato per essere eliminato.
Cosa è successo
Il 6 agosto Cloudflare ha annunciato Kitesurf, un browser costruito in dodici settimane, con il primo commit a maggio. I fatti chiave, tutti da l’annuncio:
L’intero browser è Rust compilato in WebAssembly tramite wasm-bindgen, senza layer di emulazione Emscripten, eseguito dentro isolate V8 su Workers.
Supera oltre 215.000 Web Platform Tests, con centinaia in più ogni settimana, e la copertura è concentrata dove serve agli agenti: CSS, DOM, HTML, selection, SVG, XHR.
Parla Chrome DevTools Protocol, quindi Puppeteer, Playwright, chrome-remote-interface e client MCP che parlano CDP funzionano aggiungendo
browser=kitesurfall’endpoint Browser Run esistente.È gratuito durante la beta entro limiti per account, e Cloudflare si è impegnata a renderlo open source affinché i clienti possano eseguire una propria copia sui propri account.
Esegue già Doom, naturalmente. Nessun progetto infrastrutturale in Cloudflare è finito finché non esegue Doom.
La citazione di framing da ricordare è questa: browser engine come Chromium "were built for humans, not agents, and they come with overhead that AI models simply do not need."
Kitesurf è un browser ricostruito da zero in Rust e WebAssembly, eseguito in isolate V8 su Cloudflare Workers e disponibile gratuitamente in beta tramite Browser Run. Supera oltre 215.000 Web Platform Tests e funziona con client CDP esistenti come Puppeteer e Playwright, secondo l’annuncio di Cloudflare del 6 agosto 2026.
Perché Chromium è diventato la voce costosa
Il lato della domanda è già risolto. Nel State of AI 2025 di McKinsey, il 62% delle organizzazioni ha dichiarato di sperimentare almeno con agenti IA, mentre lo State of Agent Engineering di LangChain ha indicato che il 57% degli intervistati aveva agenti in produzione. Una grande quota di quegli agenti deve toccare il web, e il web non offre loro un’API. Offre un browser.
Il browser che ricevono oggi è Chromium, un engine ottimizzato per occhi umani. Compositing, scrolling fluido, text shaping perfetto al pixel, tab, extension, sync. Un agente che consuma una pagina come token e struttura usa quasi niente di tutto questo. Chromium è una splendida opera di engineering utilizzata come costosissimo estrattore di testo.
Il mercato ha già prezzato il problema. Browserbase, che vende sessioni Chromium gestite agli sviluppatori di agenti, ha chiuso una Series B da 40 milioni di dollari a una valutazione riportata di 300 milioni nella prima metà del 2025, e Browser Use ha raccolto un seed da 17 milioni di dollari nella stessa primavera. Sono business reali costruiti su un fatto semplice: eseguire Chromium a scala agentica è doloroso e costoso, quindi qualcuno sarà felice di farlo per voi con un markup.
Cloudflare vende lo stesso servizio. Sul tier Browser Run a pagamento avete dieci browser-hour al mese, poi pagate $0,09 per browser-hour. Il principale input di quel prezzo è quanta CPU e memoria brucia una sessione browser, esattamente il punto in cui arrivano i numeri di Kitesurf. È margin engineering tanto quanto browser engineering, e lo dico come complimento.
Le mediane di Cloudflare su un corpus di 14 URL, confrontando Kitesurf con un pool Chromium caldo. Kitesurf vince sulle risorse che generano il conto e perde sul cronometro, secondo l’annuncio.
Un caveat onesto sulla tabella prima che qualcuno me la citi. Il lato Chromium è un warm pool che ha già visto quelle pagine, ed è precisamente per questo che vince nel wall time. Cloudflare lo dice e afferma che gran parte del gap dipende da rasterisation ed encoding JPEG/PNG che continuerà a ottimizzare. Considererei il wall-time gap reale ma in riduzione, mentre il gap CPU e memoria è strutturale.
Gli agenti IA che toccano il web oggi affittano Chromium, un engine costruito per una rendering fidelity umana che non consumano. I benchmark Cloudflare mostrano Kitesurf usare da 3,1 a 3,8 volte meno CPU e da 4,7 a 7 volte meno memoria di Chromium warm-pool su screenshot ed extraction task, con wall time circa 1,7 volte più lento. La Series B da 40 milioni di Browserbase mostra che il mercato stava già facendo pagare un premio per l’overhead di Chromium.
L’architettura, letta da practitioner
Questa è la sezione in cui la lunghezza dell’annuncio si guadagna il posto. Kitesurf è composto da tre componenti più un buttafuori, e la divisione del lavoro è il design.
The Engine è l’unico pezzo public-facing. Termina il CDP WebSocket e le REST APIs e mantiene il session state. Tutto il resto è stateless, cosa più importante di quanto sembri: un componente stateless si può uccidere nel momento in cui si blocca, eseguirne mille in parallelo e non dover mai ricostruirlo. Cloudflare dice che ogni failure degrada a un blank frame o a un elemento mancante, mai a una sessione morta. È l’istinto corretto per software che mangia input arbitrario e ostile tutto il giorno.
PageScript è dove si trova l’interessante platform dependency. Ogni pagina e iframe out-of-process ottiene un proprio isolate long-lived avviato tramite Dynamic Workers, con globalThis pulito e DOM costruito dal documento parsato. HTML parsing e CSS arrivano da Blitz, il rendering engine di DioxusLabs, e Stylo, il sistema CSS di Servo, entrambi Rust. Dynamic Workers è entrato in open beta solo a marzo, promettendo avvii isolate in millisecondi a singola cifra, circa 100 volte più veloci al boot dei container secondo Cloudflare, che dice chiaramente che Kitesurf "simply wouldn't have been possible" prima. Ci credo. Per-page isolate senza global concurrency limit sono tutto il trucco.
PageRenderer trasforma la pagina calcolata in pixel: recupera la scena da PageScript, rasterizza con blitz-paint e Parley e restituisce un buffer tramite RPC integrato dei Workers come JPEG, PNG o PDF. Poiché non mantiene page state, l’Engine può ucciderlo e rilanciarlo su qualsiasi call bloccata. Renderer usa e getta, render ripetibili.
Poi c’è il problema eval, il mio dettaglio brutto ma onesto preferito del post. Workers non supporta eval nativo e non si può avviare un secondo isolate perché non condividerebbe globalThis. Kitesurf esegue quindi Boa, JavaScript engine scritto in Rust e compilato in Wasm, dentro l’isolate V8. Un JavaScript runtime che gira su un JavaScript runtime per gestire l’occasionale eval. È brutto, loro dicono che è brutto, e verrà eliminato nel momento in cui arriva eval nativo. È così che si shippera.
E poi la meta-storia, che archivierei sotto "cose da osservare". Kitesurf è stato scritto in larga parte da agenti IA. Il port iniziale di obscura, il Rust headless engine citato da Cloudflare come ispirazione, è stato fatto da un agent che iterava contro un piano. Il passaggio da prototype a browser è stato realizzato puntando agenti ai Web Platform Tests come goalpost, mentre gli umani decidevano l’ordine delle feature, facevano l’architettura e reviewavano gli approcci. Duecentoquindicimila test passati come definition of done. È l’esempio più chiaro che abbia visto del pattern che continuo a descrivere ai clienti: gli agenti scrivono il codice, gli umani tengono la specifica. La stessa divisione appare nel modo in cui penso più in generale all’architettura agentica.
L’architettura Kitesurf isola ogni pagina in un proprio isolate V8 tramite Dynamic Workers, fa parsing con Blitz e Stylo dell’ecosistema Rust, rasterizza in un renderer stateless e gestisce eval tramite il JavaScript engine Boa compilato in WebAssembly. Cloudflare riferisce che il browser è stato costruito in larga parte da agenti IA che lavoravano contro la suite Web Platform Tests, con gli umani responsabili di architettura e review.
Il threat model è il vero prodotto
Qui penso che gran parte della copertura sottovaluterà ciò che Cloudflare ha davvero costruito. Il fatto scomodo sui browser agentici è emerso dalla ricerca di sicurezza di Brave su Perplexity Comet nell’agosto 2025: istruzioni nascoste in un commento Reddit erano sufficienti per trasformare una richiesta "riassumi questa pagina" in un agente che recuperava email e one-time passcode dell’utente. Same-origin policy e CORS, i due muri portanti della sicurezza web, servono a poco quando l’entità che naviga agisce con i vostri privilegi autenticati. Il follow-up di Brave in ottobre mostrava injection arrivate tramite screenshot, e Anthropic ha pubblicato le proprie mitigazioni contro prompt injection per browser use a novembre.
I consumer agentic browser amplificano questo rischio per design: il punto di Comet o Atlas è che l’agente eredita le vostre sessioni loggate. La postura di Kitesurf è opposta. Ogni page load è input non fidato. Ogni sessione parte fresca, con cookie tenuti in jar per pagina. Nulla tocca la rete tranne un componente sandboxed, SandboxOutbound, che applica CORS, filtra le response e restituisce 403 per tutto ciò che è fuori policy, e questa restrizione è imposta dalla piattaforma invece che dal buon comportamento dell’applicazione.
Per essere chiari su cosa questo risolve e cosa no. Prompt injection al model layer resta problema del model; se una pagina dice all’agente di fare qualcosa di stupido, nessuna architettura browser impedisce all’agente di volerlo fare. Ciò che Kitesurf limita è il blast radius: cosa può raggiungere la pagina, cosa può leakare la sessione, cosa sopravvive a un crash. Per chiunque costruisca agenti che navigano per conto di estranei, questa distinzione è gran parte del lavoro e appartiene alla stessa conversazione della agent governance in generale.
La ricerca sulla sicurezza dei browser agentici nel 2025, compresa l’analisi di Brave su Perplexity Comet, ha mostrato che same-origin policy e CORS offrono poca protezione quando un agente naviga con i privilegi autenticati dell’utente. La risposta di Kitesurf è architetturale: ogni page load è considerato ostile, le sessioni partono fresche e l’accesso di rete è negato per default tranne attraverso un fetcher sandboxed, secondo l’annuncio Cloudflare.
Cosa Kitesurf non può fare e quando usarlo
La lista di esclusioni di Cloudflare è ammirevolmente diretta: niente video, niente WebGL, niente handshake di bot challenge con veri TLS fingerprint, niente sessioni autenticate di dieci minuti con stato persistente. Per tutto ciò si resta sul pool Chromium di default. Aggiungete una penalità di 1,7 volte nel wall time e una copertura CDP ancora parziale, e la forma diventa chiara. Kitesurf è un engine effimero che esiste per la durata di un task e poi scompare.
Non è neppure l’unico team con questa idea. Lightpanda, startup di Parigi, sta costruendo da zero un browser in Zig che parla CDP e sostiene, secondo i propri benchmark, esecuzione undici volte più veloce e nove volte meno memoria rispetto a headless Chrome; ha raccolto un pre-seed guidato da ISAI nel giugno 2025. La tesi not-Chromium è una categoria reale ormai. La differenza particolare di Kitesurf è che non è una flotta di browser che affittate da un nuovo vendor. È un browser compilato dentro la piattaforma isolate su cui molti di noi già deployano, con release open source promessa così da poterlo un giorno eseguire nel proprio account. È un distribution advantage, non solo un engineering advantage.
Una valutazione indicativa basata sulle capability annunciate, non una misurazione: quali workload agentici sono adatti a Kitesurf oggi e quali restano su Chromium. Le esclusioni, video, WebGL, bot challenge, sessioni persistenti, sono la lista di Cloudflare.
Cosa fare adesso
Se costruite o gestite agenti, tre passi, in ordine.
Oggi: aprite il playground pubblico collegato da Cloudflare nell’annuncio, incollate una URL che usate davvero e guardatela renderizzare. La vista Chrome DevTools iniettata mostra DOM, console e footprint di memoria per isolate, il modo più economico per costruire intuizione su cosa sia questo oggetto.
Questa settimana: prendete un workload di estrazione rappresentativo e fatelo passare due volte attraverso Browser Run Quick Actions, una standard e una con
browser=kitesurf. Confrontate CPU milliseconds e memoria, non wall time. Il vostro corpus sarà diverso dalle quattordici URL di Cloudflare, e il numero onesto è quello misurato sulle vostre pagine.Questo mese: se i numeri tengono, instradate job stateless one-shot a Kitesurf e mantenete su Chromium tutto ciò che assomiglia a una sessione. Questa divisione probabilmente sarà lo steady state per un po’.
Due cose da non fare. Non migrate ancora automazione di sessioni production; la conformance beta su complesse enterprise app non è dimostrata, qualunque cosa dica TodoMVC. E non leggete "passes 215,000 WPT tests" come "renders the web". WPT misura standards conformance, motivo per cui Cloudflare esegue anche visual regression test contro Chromium su siti reali. Il gap tra i due è dove vivono gli edge case. Se state ancora scegliendo il primo agent stack, la più ampia questione build-versus-buy è coperta in Build vs Buy AI Agents.
FAQ
Kitesurf è gratuito?
Sì, durante la beta, entro limiti per account. Kitesurf usa i piani Browser Run esistenti: Workers Free include dieci minuti di browser time al giorno, mentre i piani a pagamento includono dieci browser-hour al mese e poi fanno pagare $0,09 per browser-hour, secondo la pagina pricing. Il pricing dopo la beta non è stato annunciato.
Kitesurf funziona con Playwright e Puppeteer?
Sì. Kitesurf parla Chrome DevTools Protocol, quindi Puppeteer, Playwright, chrome-remote-interface e client MCP che parlano CDP si connettono all’endpoint Browser Run esistente con un solo cambiamento: aggiungere browser=kitesurf alla request. Il client code non cambia.
Qual è la differenza tra Kitesurf e Browserbase?
Browserbase vende sessioni Chromium gestite come hosted service, con overhead e fidelity di un browser completo. Kitesurf è un engine costruito da zero dentro Cloudflare Workers che scambia fidelity e wall time per CPU e memoria molto inferiori per sessione, destinato a task agentici stateless. Se vi servono login persistenti, media o navigazione con bot check, quello è territorio Chromium, self-run o acquistato da Browserbase. Se vi servono screenshot economici ed estrazione a burst scale, Kitesurf è costruito proprio per quello.
Quando Kitesurf diventerà open source?
Cloudflare si è impegnata a renderlo open source, con l’obiettivo dichiarato di permettere ai clienti di deployare la propria copia nei propri account, ma non ha dato una data oltre "hopefully soon". Visto che il progetto ha dodici settimane, considererei l’impegno genuino e la timeline sconosciuta.
In sintesi
Kitesurf ha dodici settimane e si vede in entrambe le direzioni. I limiti sono reali, la penalità wall-time è reale, e nessuno dovrebbe strappare Chromium da una production pipeline questo trimestre. Ma la scommessa sottostante, che gli agenti meritino un browser con forma da agente invece che da umano, sembra meno una scommessa e più l’inizio di una categoria. Cloudflare ha la distribuzione, la piattaforma isolate e ora il motore più economico nel segmento che ha creato. La parte che seguirò è se arriva la release open source, perché un browser che chiunque può eseguire sul proprio Workers account è una proposta diversa da uno affittato all’ora.
Se state valutando dove i browser siedano nel vostro agent stack, è una conversazione che faccio regolarmente con i clienti. Contattatemi.
Fonti
Cloudflare, "Introducing Kitesurf: The agent-first browser that runs in V8 isolates on Cloudflare Workers": https://blog.cloudflare.com/kitesurf/ (pubblicato 2026-08-06, consultato 2026-08-28)
Cloudflare, Browser Run documentation: https://developers.cloudflare.com/browser-run/ (consultato 2026-08-28)
Cloudflare, Browser Run pricing: https://developers.cloudflare.com/browser-run/pricing/ (consultato 2026-08-28)
Cloudflare, "Sandboxing AI agents, 100x faster" (Dynamic Workers open beta): https://blog.cloudflare.com/dynamic-workers/ (consultato 2026-08-28)
McKinsey, "The State of AI 2025": https://www.mckinsey.com/capabilities/quantumblack/our-insights/the-state-of-ai-2025 (pubblicato 2025-11-05, consultato 2026-08-28)
LangChain, "State of Agent Engineering": https://www.langchain.com/state-of-agent-engineering (consultato 2026-08-28)
Sacra, "Browserbase research": https://sacra.com/research/browserbase/ (consultato 2026-08-28)
TechCrunch, "Browser Use raises $17M": https://techcrunch.com/2025/03/23/browser-use-the-tool-making-it-easier-for-ai-agents-to-navigate-websites-raises-17m/ (pubblicato 2025-03-23, consultato 2026-08-28)
Brave, "Agentic Browser Security: Indirect Prompt Injection in Perplexity Comet": https://brave.com/blog/comet-prompt-injection/ (pubblicato 2025-08-20, consultato 2026-08-28)
Brave, "Unseeable prompt injections in screenshots": https://brave.com/blog/unseeable-prompt-injections/ (pubblicato 2025-10-21, consultato 2026-08-28)
Anthropic, "Mitigating the risk of prompt injections in browser use": https://www.anthropic.com/research/prompt-injection-defenses (pubblicato 2025-11, consultato 2026-08-28)
Lightpanda, "Lightpanda raises pre-seed": https://lightpanda.io/blog/posts/lightpanda-raises-preseed (pubblicato 2025-06-10, consultato 2026-08-28)
Lightpanda, homepage benchmark claims: https://lightpanda.io/ (consultato 2026-08-28)
DioxusLabs, Blitz: https://github.com/DioxusLabs/blitz (consultato 2026-08-28)
Boa, JavaScript engine in Rust: https://github.com/boa-dev/boa (consultato 2026-08-28)
Web Platform Tests: https://web-platform-tests.org/ (consultato 2026-08-28)
Wikimedia Commons, cover image "Kitesurfing in Sweden" (CC0): https://commons.wikimedia.org/w/index.php?curid=142794310 (consultato 2026-08-28)
Continua a leggere
Agent Field Notes
Ricevi il prossimo numero.
Harness per agenti, runtime, sicurezza e governance, spiegati per chi deve gestire questi sistemi.
State affrontando una decisione come questa?
Realizziamo revisioni di architettura, valutazioni di governance e comparazioni di framework con versioni bloccate per team che prendono decisioni cruciali sui sistemi di agenti.