OpenWAF Browsers
Chrome real para tus agentes de IA, declarado, no oculto.
OpenWAF Browsers ejecuta Google Chrome en la UE para tus agentes de IA. Ábrelo con una llamada a la API, contrólalo con Playwright, Puppeteer o un cliente MCP y míralo en directo. Sus peticiones van firmadas con Web Bot Auth y pasan por un proxy de salida que deniega las direcciones privadas.
Beta pública | Gratis dentro de la cuota
Web Bot Auth activado por defecto
Alojado en Alemania
Cómo funciona
De una clave de API a una página en Chrome
Tu agente pide un navegador con una llamada y lo controla por el protocolo DevTools de Chrome.
- 1
Pide acceso
Panel | BrowsersUn propietario o administrador lo pide desde el panel y aprobamos la organización. Todos los propietarios y administradores necesitan el correo verificado y la verificación en dos pasos.
- 2
Crea una clave
bdk_…Un administrador crea una clave en el panel, la API, la CLI o MCP. El secreto se enseña una vez. Hasta 5 claves por organización.
- 3
Abre un navegador
POST /v1/browsersUna llamada con la clave arranca Chrome y devuelve su id, una URL de CDP y una URL de vista en directo. Las URL caducan a la hora; vuelve a leer el navegador para tener otras.
- 4
Contrólalo
connectOverCDPPlaywright, Puppeteer o Playwright MCP se conectan a la URL de CDP. El navegador se para cuando lo paras, tras 2 minutos sin cliente o a los 60 minutos.
Declarado
Un agente que dice que lo es
Los sitios deciden qué dejan pasar. OpenWAF Browsers les da lo que necesitan para decidir: un navegador real y una identidad firmada.
Qué hace
- Ejecuta Google Chrome tal como lo publica Google, con ventana (headful). Sin versiones parcheadas ni sigilosas.
- Firma sus peticiones con Web Bot Auth por defecto. Los sitios comprueban la firma con el directorio de claves de
browsers.openwaf.dev/.well-known/http-message-signatures-directory. - No toca la huella de Chrome: un sitio ve el navegador que hay de verdad.
- Funciona en nuestros servidores de Alemania, y su tráfico sale de allí.
Qué no hace
- Suplantar la huella ni ocultar que está automatizado
- Sacar el tráfico por proxies residenciales o por país
- Resolver CAPTCHA ni otras pruebas pensadas para personas
- Hacer pasar a un agente por una persona
Un administrador puede desactivar Web Bot Auth para la organización. Eso no permite suplantar a personas: el anexo de uso aceptable se sigue aplicando.
Proxy de salida
Cada petición pasa por un filtro
Los navegadores no tienen salida directa a internet. Cada petición pasa por un proxy que la revisa y la registra.
- Direcciones privadas siempre denegadas
Loopback, RFC 1918, enlace local (también 169.254.169.254), CGNAT y las demás direcciones de uso especial se rechazan en cualquier modo.
- Solo puertos web
Puertos 80 y 443. Cualquier otro puerto se rechaza.
- Abierto o lista de permitidos
En modo
opense permite cualquier host público. En modoallowlist, solo los hosts de tu lista:example.compara un host,*.example.compara sus subdominios, hasta 100 entradas. - Registro de cada petición
Hora, clave, sesión, método, host, puerto, decisión, estado, bytes y duración, en el panel, la API, la CLI y MCP. Una petición denegada lleva su motivo.
Sesiones
Míralo en directo, revísalo después
Lo que hace un navegador se ve mientras funciona y se guarda una semana después.
- Vista en directo
Cada navegador trae una URL de vista en directo. El panel lista las sesiones en marcha con un enlace de solo lectura.
- Grabaciones
Arranca un navegador con
"recording": true. Sus ficheros se guardan 7 días y se listan enGET /v1/browsers/{id}/files. - Perfiles
Los perfiles con nombre guardan el estado del navegador entre sesiones. Un perfil no se puede cambiar ni borrar mientras lo usa un navegador.
- Límites de sesión
Un navegador se para cuando lo paras, tras 120 segundos sin cliente o a los 60 minutos.
keepAliveytimeoutcambian la regla de inactividad. - Ventana, idioma y metadatos
Elige
viewportylangpor navegador, y hasta 10 pares de metadatos para encontrar las sesiones después. - Alojado en la UE
Los navegadores funcionan en nuestros servidores de Alemania, donde están los demás datos de OpenWAF.
Beta pública
Gratis dentro de la cuota
Previa aprobación. Estos son los límites por defecto de cada organización; podemos ajustarlos.
- 20 hde navegador al mes
- 5 GBde salida al mes, subida y bajada
- 2navegadores a la vez por clave
Las sesiones duran hasta 60 minutos y una organización puede tener hasta 5 claves. El mes es el mes natural en UTC. El panel avisa al 80 % de cualquiera de las dos cuotas. Al 100 % se pausan todas las claves de la organización, y se paran las sesiones en marcha, hasta las 00:00 UTC del día 1. La capacidad se comparte durante la beta: cuando está llena, POST /v1/browsers responde 429 capacity_busy con Retry-After: 30.
Inicio rápido
Una página en Chrome en dos pasos
Crea una clave en el panel, abre un navegador y conéctate a él.
- 1
Abre un navegador
Una llamada con tu clave. Todos los campos del cuerpo son opcionales.
$ curl -s https://browsers.openwaf.dev/v1/browsers \ -H "X-API-Key: $BROWSERS_KEY" \ --json '{"recording": true}' {"id": "bs_…", "cdpUrl": "wss://browsers.openwaf.dev/cdp/…", "liveUrl": "…", …} - 2
Conéctate con Playwright
Con Puppeteer es igual:
puppeteer.connect({browserWSEndpoint: b.cdpUrl}).import { chromium } from "playwright"; // b: the JSON that POST /v1/browsers returned const browser = await chromium.connectOverCDP(b.cdpUrl); const page = await browser.contexts()[0].newPage(); await page.goto("https://example.com/");
Para un cliente MCP, ejecuta npx @playwright/mcp@latest --cdp-endpoint <cdpUrl>. Después: el inicio rápido, la referencia de la API, la CLI y MCP y los límites.
Reglas de uso
Para qué no es
Lo que los agentes no pueden hacer con los navegadores. Podemos suspender una clave o una organización sin previo aviso si hay abuso.
No está permitido
- El relleno de credenciales, el robo de cuentas o entrar en cuentas que no puedes usar
- Saltarse inicios de sesión, muros de pago, límites de peticiones o CAPTCHA
- Crear cuentas en masa, o reseñas, votos, clics y seguidores falsos
- La extracción de datos que prohíben las condiciones de un sitio o su robots.txt
- Spam, fraude, phishing, malware o contenidos ilegales
- Atacar o escanear sistemas de otros
Las reglas completas están en el anexo de uso aceptable, pendiente de revisión legal. Denuncia los abusos en abuse@openwaf.dev.
Preguntas frecuentes
Preguntas sobre OpenWAF Browsers
¿Sirve para saltarse la protección antibots?
No es para eso. No suplanta la huella, no usa proxies residenciales ni resuelve CAPTCHA, y firma sus peticiones con Web Bot Auth para que los sitios sepan que es un agente. Si un sitio bloquea a los agentes, sigue bloqueado.
¿Qué navegador es?
Google Chrome tal como lo publica Google, con ventana, en nuestros servidores de Alemania. Lo controlas por el protocolo DevTools de Chrome con Playwright, Puppeteer o cualquier cliente CDP.
¿Cómo consigo acceso?
Pídelo desde la sección Browsers del panel, o escribe a support@openwaf.dev con el id de tu organización. Aprobamos las organizaciones una a una. Todos los propietarios y administradores necesitan el correo verificado y la verificación en dos pasos.
¿Cuánto cuesta?
Nada durante la beta pública, dentro de la cuota: 20 horas de navegador y 5 GB de salida al mes por organización. Al llegar a la cuota, las claves se pausan hasta el mes siguiente. No se cobra nada.
¿Puedo desactivar Web Bot Auth?
Sí, un administrador puede, para toda la organización. Eso no permite hacer pasar al agente por una persona: el anexo de uso aceptable se sigue aplicando.
¿Qué pasa cuando todos los navegadores están ocupados?
POST /v1/browsers responde 429 con el código capacity_busy y Retry-After: 30. Una clave que ya tiene 2 navegadores en marcha recibe 429 key_concurrency.
Dale a tus agentes un navegador que dice quién es.
OpenWAF Browsers está en beta pública: gratis dentro de la cuota, previa aprobación. Pide acceso desde el panel.


