Le jour où nous avons réparé notre pipeline d'inscription
Nos chiffres d'inscription augmentaient chaque semaine. L'équipe était enthousiaste. Mais les données semblaient fausses. Les utilisateurs ne revenaient jamais. Les adresses e-mail semblaient étranges. Notre taux d'activation chutait.
J'ai examiné les données. Je n'ai pas trouvé de croissance. J'ai trouvé du bruit.
Le Problème
J'ai exécuté une requête pour regrouper les inscriptions par adresse IP. Une seule adresse IP a enregistré des centaines de comptes en 24 heures. Elle utilisait la même empreinte numérique de navigateur (browser fingerprint). Un script frappait notre endpoint d'inscription. Il utilisait des domaines d'e-mails jetables. C'était un bot, pas une personne.
Notre pipeline d'inscription était grand ouvert.
La Solution
Nous avons construit trois couches de protection en un seul sprint.
Couche 1 : Throttling
Nous avons utilisé deux types de limitation de débit (rate limiting).
- Throttling par IP : Nous limitons les tentatives d'inscription provenant d'une même IP sur une courte période.
- Throttling par domaine : Nous limitons les inscriptions provenant du même domaine d'e-mail sur une période plus longue. Cela empêche les bots d'utiliser différentes IP avec le même domaine.
Couche 2 : Blocklists
- Domaines d'e-mails bloqués : Nous rejetons toute inscription utilisant des domaines d'e-mails jetables.
- User agents bloqués : Nous rejetons les requêtes provenant d'outils qui ne sont pas des navigateurs. Nous ne fournissons aucun détail à l'attaquant.
Couche 3 : IP Blocklist
Certaines IP sont persistantes. Elles abusent de plusieurs parties de notre système. Nous utilisons une liste de blocage stricte. Ces IP sont rejetées pour chaque requête. Le middleware les bloque immédiatement.
Les Résultats
Avant la correction :
- Une seule IP créait des centaines de comptes par jour.
- Les domaines jetables représentaient la plupart des inscriptions.
- Les faux comptes faisaient baisser notre taux d'activation.
- Nos données étaient fausses.
Après la correction :
- La création massive de comptes (registration farming) est tombée à zéro.
- Les inscriptions via des domaines jetables ont cessé.
- Les chiffres d'inscription reflétaient une réelle intention humaine.
- Notre taux d'activation s'est rétabli.
Leçons apprises
- Le signal importe plus que le volume. Les bots rendent les métriques telles que la rétention et le revenu peu fiables.
- De petites corrections de code résolvent de gros problèmes. Nous avons utilisé trois mécanismes simples.
- Les couches sont nécessaires. Une seule limite ne suffit pas. Une combinaison couvre un périmètre plus large.
- Contrôlez vos réponses. Donnez un retour aux utilisateurs légitimes. Gardez le silence face aux acteurs malveillants.
La croissance ne consiste pas seulement à acquérir des utilisateurs. Il s'agit d'acquérir de vrais utilisateurs. Vos décisions de produit dépendent de la qualité des données. Ces données commencent à votre endpoint d'inscription.
Source: https://dev.to/ogeobubu/the-day-we-fixed-our-signup-pipeline-3664