Saltar al contenido

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

Una sesión real en producción, el 29 de octubre de 2026: la respuesta de la API (con las URL firmadas recortadas), la vista en directo, las cabeceras que recibió httpbin.org, el 403 a 10.0.0.1 y el registro de salida y el uso de esa misma clave en el panel.

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. 1

    Pide acceso

    Panel | Browsers

    Un 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. 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. 3

    Abre un navegador

    POST /v1/browsers

    Una 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. 4

    Contrólalo

    connectOverCDP

    Playwright, 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 open se permite cualquier host público. En modo allowlist, solo los hosts de tu lista: example.com para un host, *.example.com para 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 en GET /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. keepAlive y timeout cambian la regla de inactividad.

  • Ventana, idioma y metadatos

    Elige viewport y lang por 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. 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. 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.