Pourquoi nous ne vous disons pas « c’est un bot. »
La plupart des services de fingerprinting vous disent ce que vous voulez entendre : « c’est un bot » ou « c’est un humain ». Binaire. Propre. Faux. Derrière le verdict se cache une boîte noire — des dizaines de mesures pliées dans un modèle dont vous ne verrez jamais les décisions expliquées. Soit vous faites confiance à la réponse, soit vous ne le faites pas.
Le fingerprinting n’est pas un classifieur. C’est une mesure. Les vrais utilisateurs et les vrais attaquants laissent des signaux qui se chevauchent. La question intéressante n’est pas « est-ce que cette personne ment sur qui elle est », c’est « comment cette session se compare-t-elle à la population, pondérée par les signaux faciles à falsifier et ceux qui ne le sont pas ».
Le modèle du reçu
Nous ne vous disons pas « c’est un bot. » Nous vous donnons le niveau de risque, la confiance dans le score et les raisons derrière. Vous décidez.
Chaque catégorie de détection est clairement documentée. Chaque seuil a une justification. Quand une session est signalée sur un vrai client, votre équipe peut défendre la décision — auprès du service juridique, du produit, du client lui-même. Pas de boîte noire. Pas de modèle mystérieux. Juste des mesures calibrées que vous pouvez auditer et régler.
La confiance est une mesure réelle avec une source réelle. Le niveau de risque aussi. La liste des raisons aussi. Quand votre serveur vérifie une session, vous n’obtenez pas un verdict — vous obtenez le reçu. La décision vous appartient, parce que seul votre code sait ce qui est en jeu.
Les verdicts binaires dissimulent le coût d’avoir tort
Un verdict binaire a deux modes d’échec :
- Faux positif : un vrai client est signalé comme bot. Le coût est du churn, des tickets de support et l’érosion lente de la confiance dans votre produit. Vous ne le verrez jamais dans votre tableau de bord, parce que le client s’en va tout simplement.
- Faux négatif : un bot passe comme vrai client. Le coût est un chargeback, une perte de fraude ou une fausse inscription. Celui-là, vous le verrez clairement dans votre tableau de bord.
Quand le seul coût visible est les faux négatifs, les modèles dérivent vers le sur-blocage. C’est le mode d’échec silencieux de chaque classifieur binaire dans l’espace fraude.
Les niveaux de risque calibrés et une mesure de confiance renversent l’asymétrie. Votre équipe choisit où tracer la ligne — et la ligne peut différer selon la surface. Un formulaire d’inscription peut challenger plus tôt ; un formulaire de paiement peut attendre des preuves plus solides ; une API publique en lecture seule peut presque tout autoriser et quand même le journaliser pour une revue ultérieure. Le modèle vous fournit les entrées ; votre politique trace la ligne.
Le modèle de risque en cinq niveaux
Nous exposons cinq niveaux de risque, chacun avec une signification définie :
| Niveau | Ce que ça signifie | Action par défaut |
|---|---|---|
| Minimal | Le milieu banal de la population — la majeure partie du trafic humain réel. | autoriser |
| Faible | Une légère anomalie, généralement des navigateurs vie privée ou un matériel inhabituel. | autoriser et observer |
| Moyen | Suggère une automatisation ou une fraude, mais pas concluant. | challenger (second facteur, vérification renforcée) |
| Élevé | Forte preuve d’automatisation, d’altération ou d’abus d’infrastructure. | bloquer ou challenger fermement |
| Critique | Plusieurs catégories sont d’accord — presque certainement malveillant. | bloquer, journaliser pour revue |
Les significations sont stables d’une version à l’autre. Nous ne resserrons pas silencieusement le modèle pour soudainement bloquer des clients qui étaient « faibles » hier. La dérive de calibration est traitée comme un changement breaking — annoncée à l’avance, avec les anciens seuils toujours disponibles via un flag de configuration.
La confiance est un axe séparé
Le niveau de risque dit quelle est la probabilité qu’une session soit malveillante. La mesure de confiance dit combien nous en savons sur elle.
Une session qui a passé une minute complète sur la page, avec activité de souris, clavier et défilement, nous donne beaucoup à travailler. Une session qui a demandé un score après quelques secondes et a immédiatement soumis nous en donne très peu — nous ne savons pas assez pour être sûrs de quoi que ce soit.
Quand la confiance est faible, le bon mouvement est généralement de différer, pas bloquer. Une session à risque élevé mais faible confiance est un excellent candidat pour un challenge léger — résoudre un CAPTCHA, et alors il y a assez pour prendre une décision.
Les raisons sont la piste d’audit
Chaque score de risque vient avec les raisons derrière — les signaux nommés qui se sont déclenchés pendant la collecte. Cette liste est la piste d’audit. Quand un ticket de support atterrit sur le bureau de votre ingénieur disant « j’ai été bloqué à l’inscription », l’ingénieur peut remonter la vérification et voir exactement quels signaux se sont déclenchés.
Si un signal s’est déclenché alors qu’il n’aurait pas dû, votre ingénieur peut trouver la catégorie correspondante dans la documentation, lire sa justification de calibration et soit régler le seuil, soit mettre le client en liste blanche. Toute la boucle se ferme en quelques minutes, pas en jours.
Calibration plutôt que verdicts
La version courte :
- Les verdicts sont une surface marketing ; les mesures sont une surface d’ingénierie.
- Votre équipe fraude prend la décision finale — nous lui fournissons les preuves.
- Les faux positifs ne sont pas des pertes acceptables ; les paramètres par défaut sont conservateurs pour une raison.
- Les raisons sont la piste d’audit ; chaque score est traçable jusqu’aux signaux qui l’ont produit.
C’est tout. C’est toute la philosophie.
Lectures complémentaires
- Catégories de menaces — les six catégories qui contribuent au score.
- Principes d’ingénierie — les contraintes opérationnelles qui découlent de cette philosophie.
- Cas d’usage — à quoi ça ressemble en production.