Saltar al contenido

Datos que trata OpenWAF Verify

Última actualización: 29 de octubre de 2026

Borrador, pendiente de revisión legal. Este texto describe lo que hace hoy OpenWAF Verify, comprobado con su código. Aún no lo ha revisado un abogado y puede cambiar.

En resumen

  • OpenWAF Verify comprueba que un navegador hizo el trabajo de un reto. No intenta identificar a la persona.
  • Las señales se evalúan en la memoria del nodo de borde y se descartan. Los contadores por red viven ahí unos 10 minutos. Lo que Verify guarda después son recuentos por sitio y por minuto, sin ninguna dirección IP, durante 30 días.
  • La página de diagnóstico «Comprobar mi navegador» guarda un registro por comprobación, con la red pero nunca la dirección IP completa, durante 7 días, para soporte (apartado 2.9).
  • Sin huellas de canvas, WebGL, audio ni fuentes, sin client hints de alta entropía, sin identificador persistente del dispositivo y sin nada que siga al visitante de un sitio a otro.
  • La única cookie en tu sitio es __waf_pass, que pone la página del reto. El widget no pone ninguna. La página «Comprobar mi navegador» usa una cookie de prueba corta en su propio dominio.
  • Tú eres el responsable del tratamiento y OpenWAF tu encargado, con el Contrato de encargo del tratamiento. El borrador de anexo del contrato para Verify describe el mismo tratamiento en forma de contrato.

1. Qué es OpenWAF Verify

Verify es el motor de retos del borde de OpenWAF. Tiene tres partes, todas servidas en tu propio host bajo /__waf/ por los nodos de borde que ya hacen de proxy de tu web. El navegador del visitante nunca contacta con otro dominio por ello.

La puntuación de riesgo añade a cada reto una puntuación de 0 a 100. Funciona en modo log (solo cuenta, no aplica nada) salvo que la apagues. Consulta la puntuación de riesgo.

Cuando una comprobación falla, la página del reto y el widget enlazan a «Comprobar mi navegador», una página de diagnóstico en verify.openwaf.dev (apartado 2.9). Los visitantes solo la abren siguiendo ese enlace, o uno que les envíe soporte.

2. Qué se trata

2.1 En cada reto

DatoPara quéCuánto tiempo
Dirección IP del visitantePara ligar el reto a la red del visitante, buscar su red (ASN) en una base de datos del nodo, cruzarla con las listas de amenazas del nodo y la reputación de IP del WAF, y para los límites por IP de los endpoints de Verify.En memoria mientras se atiende la petición. Contadores de límites: ventanas deslizantes de un minuto, unos dos minutos como mucho.
Prefijo de red: la /24 IPv4 o la /64 IPv6 de la direcciónEl reto, el token y el pase solo valen desde esa red. Contadores por red de retos, fallos y repeticiones recientes.El reto, el token y los contadores usan un hash del prefijo; la cookie __waf_pass lleva el propio prefijo (apartado 4). Contadores: unos 10 minutos en la memoria del nodo.
Red (ASN) de la direcciónSi está en una lista de redes de hosting y centros de datos; contadores por ASN de resoluciones fallidas.Contadores: unos 10 minutos en la memoria del nodo.
Prueba de trabajo: las soluciones y el tiempo entre la emisión y la resoluciónPara comprobar el trabajo y detectar resoluciones más rápidas de lo que puede un navegador, o que tardan siempre lo mismo.Se comprueban y se descartan. El tiempo de resolución entra en un histograma por sitio y minuto.
Host y ruta de la peticiónPara emitir el reto del sitio y la regla correctos.Verify no los guarda.

2.2 Con la puntuación de riesgo activa

La puntuación es la suma de pesos fijos de las señales que saltan. Las señales son una lista cerrada de nombres. Del servidor: asn_hosting, ip_feed, ip_reputation, net_velocity, net_failures, asn_failures, net_replay, tls_mismatch, headers_missing, client_hints_mismatch, ua_automation, webdriver, solve_too_fast, solve_timing_repeat. Del navegador: cdp_runtime, native_patched, headless_env, worker_mismatch, click_dynamics, client_tampered. cdp_input está reservada y nunca salta. pat_valid baja la puntuación y solo salta con los Private Access Tokens activados (apartado 2.7). Qué mira cada una está en la lista de señales.

Los contadores de net_*, asn_failures y las señales de tiempo se llevan en cada nodo de borde, para todos los sitios que sirve ese nodo: una red que inunda un sitio sube su puntuación en otro durante unos 10 minutos. No se comparten entre nodos.

2.3 Página del reto

2.4 Widget

2.5 Comprobaciones del navegador

Con la puntuación de riesgo activa, la página del reto y el widget hacen unas pocas comprobaciones sobre frameworks de automatización: un cliente del protocolo DevTools conectado a la página, funciones propias del navegador sustituidas por un script, una ventana headless o emulada, un Web Worker que describe otro navegador que la página y cómo se activó la casilla de verificación. Cada comprobación se compara dentro de la página. Solo sale un bit por comprobación (saltó o no, se ejecutó o no), empaquetado en un número de 32 bits codificado para ese reto. Los valores que se comparan, como los tamaños de la ventana o el user agent del Worker, no se envían nunca.

2.6 Siteverify

2.7 Private Access Tokens, cuando estén activados

Hoy no están activados: OpenWAF no tiene configurado ningún emisor de tokens de confianza, así que el borde nunca pide un token. Cuando se activen, y solo en zonas con la puntuación de riesgo activa, el borde podrá pedir a un dispositivo compatible un Private Access Token (Privacy Pass, RFC 9576, RFC 9577 y RFC 9578) de un emisor público, ligado a ese reto y a tu host. El dispositivo obtiene el token de su emisor por su cuenta; el borde no envía nada al emisor. El nodo comprueba la firma del emisor con su clave pública, que llega en su configuración firmada. Un token válido solo puede bajar la puntuación de riesgo (señal pat_valid): nunca la sube y nunca da el reto por superado por sí solo. El token se comprueba y se descarta, no se guarda; la analítica solo cuenta cuántos retos traían uno válido.

2.8 Uso único

Para que cada reto y cada token valgan una sola vez en todos los nodos, el borde cuenta un hash de su nonce aleatorio en el nodo y en el plano de control. Estos contadores no contienen datos personales y caducan con el reto (10 minutos) o el token (300 segundos), más 30 segundos.

2.9 Página «Comprobar mi navegador»

Comprobar mi navegador es una página de diagnóstico que OpenWAF tiene en verify.openwaf.dev. El enlace de una comprobación fallida lleva el host en el que estaba el visitante y el ID corto del reto. Con la marca blanca de una organización no hay enlace. Qué significa cada comprobación está en la documentación de Comprobar mi navegador.

La página no lee nada del dispositivo aparte de lo que le enseña al visitante: ni canvas, ni WebGL, ni audio, ni fuentes.

3. Lo que Verify nunca recoge

La pone la página del reto tras una solución correcta. El widget no pone ninguna cookie.

AtributoValor
ContenidoLa caducidad, el prefijo de red (por ejemplo 198.51.100.0/24), el host o la zona en que vale y la hora de emisión, firmados con una clave de tu zona. Nada más identifica al visitante.
Duraciónpass_ttl_minutes de la zona: 12 horas por defecto, de 5 minutos a 7 días. Con el modo bajo ataque activo, la duración fijada para ese modo (también de 5 minutos a 7 días).
AtributosHttpOnly, Secure, SameSite=Lax, Path=/.
DominioEl host que la emitió, o toda la zona (Domain=example.com) con pass_scope: zone.

5. Finalidad

Verify trata estos datos solo para proteger tu servicio: distinguir navegadores de tráfico automatizado, frenar avalanchas, relleno de credenciales y spam en formularios, y enseñarte cómo funcionan tus retos. Los registros de «Comprobar mi navegador» solo sirven para que soporte diagnostique comprobaciones fallidas. OpenWAF no los usa para publicidad, no hace perfiles de los visitantes, no los vende ni los cede, y no los usa para fines propios, tampoco para mejorar su detección.

6. Dónde

7. Cuánto tiempo

QuéDóndeCuánto tiempo
Dirección IP, cabeceras, ClientHello, soluciones, respuestas de las comprobacionesMemoria del nodoMientras se atiende la petición
Contadores por red (hash de la /24 o la /64) y por ASNMemoria del nodoUnos 10 minutos (dos tramos de 5 minutos)
Contadores de límites por IP de los endpoints de VerifyNodoVentanas deslizantes de un minuto, unos dos minutos como mucho
Contadores de uso único (hash de un nonce)Nodo y plano de control10 minutos para un reto, 300 segundos para un token, más 30 segundos
Respuestas de siteverify con idempotency_keyMemoria del nodo o del plano de control300 segundos
Cookie __waf_passNavegador del visitante12 horas por defecto (de 5 minutos a 7 días)
Recuentos por sitio y minuto, separados por lo que sirvió el reto (el tipo de regla, o el widget y su acción): retos emitidos, resueltos y fallidos por causa, histograma de tiempos de resolución, resultados de siteverify, niveles de riesgo, tramos de puntuación y nombres de señal. Sin dirección IP.Plano de control (Alemania)30 días
Registros de «Comprobar mi navegador»: ID de comprobación, hora, hosts, ID del reto, red (/24 o /64), familia y versión principal del navegador, resultado de la cookie de prueba, etiquetas de red y resultados. Sin la dirección IP completa.Nodo de borde que sirvió la página7 días, después se borran (la copia del log del nodo rota como las líneas de abajo)
Cookie de prueba __waf_check de «Comprobar mi navegador»Navegador del visitante, en verify.openwaf.devHasta que se registra la comprobación, 15 minutos como mucho
Líneas del log del nodo de algunos eventos de reto: el modo bajo ataque (host, dirección IP, método y ruta, un ID corto del reto), las comprobaciones fallidas del widget (host, dirección IP, el motivo, un ID corto del reto, el widget) y las identidades de rastreador sin verificar (nombre del rastreador, dirección IP, host). Las de rastreadores, los fallos del modo bajo ataque y los fallos del widget se escriben como mucho una vez por intervalo, salvo las casillas rechazadas del widget; las resoluciones del modo bajo ataque, cada vez.Logs del nodoRotan por tamaño y se sobrescriben; no se archivan

La regla o la política que llevó al visitante al reto (una puntuación del WAF, una regla de límite, AI Crawl Control) puede registrar su propio evento de seguridad, con la dirección IP, el user agent y la huella JA4, como cualquier otro evento de seguridad. AI Crawl Control registra sus propios eventos de agentes de IA y rastreadores con los mismos campos. Esos eventos son del WAF y de AI Crawl Control, no de Verify, y se borran a los 30 días, como dice el Contrato de encargo del tratamiento. Guardan la JA4 como una cadena de texto en el campo tls_fingerprint, nunca el ClientHello, y lo dejan vacío detrás de un proxy de confianza o por HTTP sin cifrar. Cuando un cliente sigue la trampa de AI Crawl Control, el nodo marca además su dirección IP y un hash de su JA4 dentro de su /24 o /64 durante 24 horas.

8. Papeles

Tú decides dónde funciona Verify y para qué, así que eres el responsable del tratamiento. OpenWAF trata los datos por cuenta tuya como encargado, con el Contrato de encargo del tratamiento. Si eres una agencia que actúa para sus clientes, eres su encargado y OpenWAF tu subencargado. OpenWAF no actúa como responsable de estos datos.

9. Base jurídica (posición en borrador)

Este apartado es un borrador y no lo ha revisado un abogado. No es asesoramiento jurídico.

10. Subencargados

Verify no añade ningún subencargado. Funciona sobre la misma infraestructura que el resto de OpenWAF Cloud: Hetzner (Alemania) para los nodos de borde, el plano de control y el almacenamiento de los recuentos, Vultr (Madrid, España) para el nodo de borde de Madrid, y Cloudflare en tránsito como se describe en el apartado 6. La lista completa está en la página de subencargados. Ningún emisor de Private Access Tokens recibe datos de OpenWAF.

11. Un párrafo para tu política de privacidad

Puedes adaptar este texto. Cambia lo que va entre corchetes.

Para proteger [esta web] frente a abusos automatizados, algunas páginas y formularios usan OpenWAF Verify, una comprobación de seguridad que presta AI Services LLC (OpenWAF) como encargado del tratamiento. Cuando se ejecuta, tu navegador resuelve una pequeña tarea de cálculo y los servidores de OpenWAF en la Unión Europea la comprueban junto con tu dirección IP, la red a la que pertenece, el user agent y el idioma de tu navegador, propiedades técnicas de su conexión cifrada y unas pocas comprobaciones de sí o no sobre herramientas de automatización. Estos datos solo se usan para seguridad y se guardan en memoria unos 10 minutos como mucho; solo se conservan recuentos sin direcciones IP, durante 30 días. La comprobación puede poner en [nuestro dominio] una cookie llamada __waf_pass, válida [12 horas], para no volver a preguntarte. La base jurídica es nuestro interés legítimo en mantener segura [esta web] (artículo 6.1.f del RGPD). Más información: https://openwaf.dev/es/legal/datos-verify/.

12. Contacto

Dudas sobre esta página o sobre Verify: support@openwaf.dev. Los visitantes que quieran ejercer sus derechos deben dirigirse a la web que les mostró el reto; si nos escriben a nosotros, enviamos la solicitud a ese cliente, como dice el apartado 7 del Contrato de encargo del tratamiento.