Le tag est un seul script. Placez-le dans le <head> de chaque page où commence une action protégée : la page d'inscription, la page de connexion, le checkout.
<script src="https://korzen.dev/v1/tag.js" data-site-key="YOUR_SITE_KEY" async></script>
Il se charge de façon asynchrone et ne bloque jamais la page. Il lit le comportement du navigateur (saisies, timing, ce que le navigateur dit de lui-même), l'envoie à Bot Protection et stocke la réponse dans le cookie _kz sur votre domaine. Votre serveur lit ce cookie et l'envoie avec la décision.
Vos domaines
Rien à lister : placez le tag sur vos pages, et Bot Protection apprend vos domaines grâce à ses beacons et aux appels de votre serveur. Un domaine est ajouté sous Vos domaines, sur la page Configuration, à la première décision que votre serveur demande pour un visiteur d'une de ses pages qui n'est pas un bot. Un domaine compte avec chaque sous-domaine en dessous : shop.example, www.shop.example et app.shop.example sont un seul domaine dans votre offre. Les pages sur localhost, 127.0.0.1 ou [::1] fonctionnent toujours, pour les tests, et ne sont jamais listées. Votre offre fixe combien de domaines sont protégés : les premiers vus, jusqu'à ce nombre. Les beacons d'une page sur tout autre domaine sont refusés avec 402 jusqu'à ce que vous retiriez un domaine sur la page Configuration ou choisissiez une offre plus grande ; retirez-y aussi un domaine qui n'est pas le vôtre, comme une copie de votre site. Pendant l'essai gratuit, chaque domaine a droit à un essai gratuit : les beacons d'un domaine qui a déjà eu son essai gratuit dans un autre compte sont refusés avec 402 jusqu'à ce que vous choisissiez une offre.
Avant l'action
Avant chaque action protégée, attendez le tag, puis envoyez le formulaire :
await window.korzen?.ready();
Il signale ce que le visiteur a fait depuis le dernier signalement du tag : un visiteur qui attend sur la page, laisse le navigateur remplir le formulaire et appuie sur Entrée a tout fait après ce signalement. Cela se résout en quelques secondes même quand Bot Protection est lent ou bloqué, donc un formulaire n'est jamais coincé. Un formulaire que le navigateur envoie sans votre JavaScript est signalé au moment où la page se ferme, ce qui arrive en général, pas toujours, à Bot Protection avant que votre serveur ne demande.
Options
| Attribut | Par défaut | Ce qu'il fait |
|---|---|---|
data-site-key | obligatoire | votre site key publique |
data-wait-ms | 2500 | combien de temps le tag écoute les saisies avant de rapporter |
data-ready-ms | 2000 | combien de temps de plus korzen.ready() peut attendre |
Bot Protection repère le tag tout seul : dès qu'une de vos décisions arrive avec le token du tag, une décision sans cookie _kz compte comme un indice faible de bot. D'ici là, un token absent ne compte pas.
Content Security Policy
Une page servie avec l'en-tête Content-Security-Policy doit laisser le tag se charger, envoyer ce qu'il lit et démarrer son worker. Ajoutez ces sources aux directives que votre politique a déjà :
script-src https://korzen.dev; connect-src https://korzen.dev; worker-src blob:
Sans worker-src blob:, le tag fonctionne toujours et chaque visiteur passe : Bot Protection perd seulement un signal. Une page sans cet en-tête n'a besoin de rien.
Votre politique de confidentialité
Vous êtes responsable du traitement de ce que le tag lit sur vos pages, et Korzen est votre sous-traitant, selon l'accord de traitement des données, qui énumère les données et la durée de conservation de chacune. Une phrase que votre politique de confidentialité peut reprendre :
« Pour protéger les inscriptions, les connexions et les paiements contre les bots et la fraude, nos pages utilisent Korzen Bot Protection. Il lit des caractéristiques techniques de votre navigateur et la façon dont vous utilisez la page, jamais ce que vous tapez, et conserve un identifiant aléatoire de votre navigateur pour reconnaître un navigateur qui revient. Nous le faisons au titre de notre intérêt légitime à prévenir la fraude (considérant 47 du RGPD). »
Selon les règles ePrivacy de l'UE, le cookie _kz et le local storage du tag peuvent être strictement nécessaires à l'action demandée par le visiteur ; vous en décidez avec vos conseils, ou vous demandez le consentement (la politique relative aux cookies énumère chaque élément). Une action que vous marquez require_token envoie un visiteur sans jeton valide sur la page de défi de Korzen, qui exécute le tag de Korzen : la section 2 de l'accord de traitement des données dit ce que cela implique.