Korzen
Bot Protection

El tag

El script en tus páginas: dónde va, la cookie que deja, sus opciones y cómo aprende tus dominios.

El tag es un script. Ponlo en el <head> de cada página desde la que empieza una acción protegida: la página de registro, la de inicio de sesión, el checkout.

<script src="https://korzen.dev/v1/tag.js" data-site-key="YOUR_SITE_KEY" async></script>

Carga de forma asíncrona y nunca bloquea la página. Lee cómo se comporta el navegador (input, tiempos, lo que el navegador dice de sí mismo), lo envía a Bot Protection y guarda la respuesta en la cookie _kz de tu dominio. Tu servidor lee esa cookie y la envía al pedir la decisión.

Tus dominios

No hay nada que listar: pon el tag en tus páginas, y Bot Protection aprende tus dominios de sus beacons y de las llamadas de tu servidor. Un dominio se añade a Tus dominios, en la página Configuración, en la primera decisión que tu servidor pide sobre un visitante de una de sus páginas que no sea un bot. Un dominio cuenta con todos sus subdominios: tienda.example, www.tienda.example y app.tienda.example son un solo dominio en tu plan. Las páginas en localhost, 127.0.0.1 o [::1] siempre funcionan, para pruebas, y nunca aparecen en la lista. Tu plan define cuántos dominios quedan protegidos: los primeros vistos, hasta ese número. Los beacons de una página en cualquier otro dominio se rechazan con 402 hasta que quitas un dominio en la página Configuración o eliges un plan mayor; quita allí también un dominio que no sea tuyo, como una copia de tu sitio. En la prueba gratis, cada dominio tiene una sola prueba gratis: los beacons de un dominio que ya tuvo su prueba gratis en otra cuenta se rechazan con 402 hasta que eliges un plan.

Antes de la acción

Antes de cada acción protegida, espera al tag y luego envía el formulario:

await window.korzen?.ready();

Informa lo que el visitante hizo desde el último informe del tag: quien espera en la página, deja que el navegador rellene el formulario y pulsa Enter lo hizo todo después de ese informe. Se resuelve en pocos segundos incluso cuando Bot Protection está lento o bloqueado, así que un formulario nunca se queda atascado. Un formulario que el navegador envía sin tu JavaScript se informa cuando la página se va, lo que normalmente, no siempre, llega a Bot Protection antes de que tu servidor pregunte.

Opciones

AtributoPor defectoQué hace
data-site-keyobligatoriotu site key pública
data-wait-ms2500cuánto tiempo el tag observa el input antes de enviar lo observado
data-ready-ms2000cuánto más puede esperar korzen.ready()

Bot Protection detecta el tag por sí solo: en cuanto una de tus decisiones llega con el token del tag, una decisión sin la cookie _kz cuenta como evidencia débil de bot. Hasta entonces, que falte el token no cuenta.

Content Security Policy

Una página servida con la cabecera Content-Security-Policy debe dejar que el tag cargue, envíe lo que lee y arranque su worker. Añade estos orígenes a las directivas que tu política ya tiene:

script-src https://korzen.dev; connect-src https://korzen.dev; worker-src blob:

Sin worker-src blob:, el tag sigue funcionando y todo visitante pasa: Bot Protection solo pierde una señal. Una página sin la cabecera no necesita nada.

Tu aviso de privacidad

Eres el responsable de lo que la tag lee en tus páginas, y Korzen es tu encargado, según el Acuerdo de Tratamiento de Datos, que enumera los datos y cuánto tiempo se guarda cada uno. Una frase que tu aviso de privacidad puede usar:

«Para proteger registros, inicios de sesión y pagos frente a bots y fraude, nuestras páginas usan Korzen Bot Protection. Lee características técnicas de tu navegador y de cómo usas la página, nunca lo que escribes, y guarda un identificador aleatorio de tu navegador para reconocer a un navegador que vuelve. Lo hacemos por nuestro interés legítimo en prevenir el fraude (considerando 47 del RGPD).»

Según las normas de ePrivacy de la UE, la cookie _kz y el local storage de la tag pueden ser estrictamente necesarios para la acción que el visitante pidió; tú lo decides con tus asesores, o pides consentimiento (la Política de Cookies enumera cada elemento). Una acción que marcas con require_token envía a un visitante sin token válido a la página de desafío de Korzen, que ejecuta la tag propia de Korzen: la sección 2 del Acuerdo de Tratamiento de Datos dice lo que eso significa.