Cloaking
Le cloaking sert à montrer une page différente aux reviewers / bots et aux vrais visiteurs. Trackily le fait avec un workflow visuel drag-and-drop, pas avec du regex spaghetti.

C'est quoi, le cloaking
Le cloaking, c'est une couche de filtrage qui s'exécute avant ton flow normal. Son job : décider, pour chaque visiteur, si on lui montre la vraie page (la "money page") ou une page propre et inoffensive (la "safe page" — typiquement un article de blog).
Deux raisons concrètes de l'utiliser :
- Compliance — quand tu fais tourner du trafic payant (Meta, Google, TikTok), les reviewers de la plateforme visitent ta page pour vérifier qu'elle respecte les policies. S'ils tombent sur ta money page agressive, ton ad est rejetée et ton compte peut être ban. Le cloaking détecte leur visite et leur sert la safe page à la place.
- Filtrage bot / fraude — entre 20% et 60% du trafic acheté est du bot (clicks frauduleux, crawlers, fermes de clics). Les laisser arriver sur ta vraie page gaspille des conversions et fausse tes stats. Le cloaking les bloque ou les redirige avant qu'ils ne consomment du budget.
L'approche Trackily
La plupart des trackers font du cloaking via :
- Une liste de règles regex codée en dur (
if user-agent contains "facebookexternalhit" then block) - Un panneau de cases à cocher binaires
- Un fichier
.htaccessà éditer à la main
C'est puissant mais illisible et chiant à debugger. Trackily fait autrement : un workflow visuel à base de nodes connectés.
Tu fais glisser des nodes sur un canvas, tu les connectes avec des flèches, chaque node a deux sorties ("detected" / "clean") et le moteur exécute le graphe à chaque click. Le résultat : tu vois la logique de cloaking comme un organigramme, pas comme du code.
┌─────────────────┐
│ Visitor Arrives │ (trigger)
└────────┬────────┘
│
▼
┌─────────────────┐
│ VPN/Proxy/Tor │ (detect)
└────┬───────┬────┘
Detected│ │Clean
▼ ▼ ▼
┌─────────┐ ┌─────────────┐
│ Safe │ │ Datacenter? │ (detect)
│ Page │ └──┬────────┬─┘
└─────────┘ Det │ Clean│
▼ ▼
┌─────────┐ ┌─────────┐
│ Safe │ │ Allow │
│ Page │ │ (real) │
└─────────┘ └─────────┘
Ce workflow est seedé par défaut sous le nom "VPN Blocker (Built-in)" au premier boot (voir database.js:3931). Tu peux l'éditer, le supprimer ou en créer d'autres.
Architecture en deux couches
Trackily fait du cloaking sur deux couches :
Layer 1 — Server-side (à chaque click)
Évaluée dans le handler /c/:slug (voir server.js:7540). Inclut :
- Détection IP (reviewer IPs, datacenter, VPN, Tor, proxy headers)
- Détection User-Agent (bots connus, headless browsers)
- Reverse DNS lookup (
*.facebook.com,*.googlebot.com, etc.) - Géo / device / browser / référer / time
C'est instantané (zéro client-side requis) et bloque la majorité des reviewers et bots simples.
Layer 2 — Client-side (JS fingerprinting)
Servie par /cloak.js (voir public/cloak.js). Inclut :
- Détection WebDriver (Selenium, Puppeteer, Playwright)
- Headless browser checks (Chrome headless, PhantomJS legacy)
- Canvas / WebGL / AudioContext fingerprint
- Comportemental (mouvements souris, scrolls, interactions)
C'est plus lent mais détecte les bots avancés que le server-side rate.
Les deux scores sont combinés en un fraud score unique (0-100) que tu peux utiliser dans un node check_fraud_score.
Ce qui est dans cette section
| Page | Contenu |
|---|---|
| Workflows | Créer, éditer, dupliquer un workflow. Comment l'attacher à une campagne. UI builder. |
| Nodes | Tous les types de nodes (trigger, detect, action, routing, destination). Config de chacun. Exemples. |
| Filters | Les listes IP / ASN / DNS embarquées. Comment mettre à jour. Settings globaux. |
Quand utiliser le cloaking
- Tu tournes du trafic payant sur Meta, Google, TikTok, Snapchat, Pinterest, Bing → indispensable
- Tu tournes du trafic push / pop / native avec un fort taux de bot → fortement recommandé
- Tu fais de l'affiliate marketing "grise" (sweepstakes, dating, nutra, financial) → indispensable
- Tu fais du e-commerce blanc avec ta propre marque → inutile, désactive
Quand NE PAS l'utiliser
- Si tu vends ton propre produit légit avec ta vraie marque → tu n'as rien à cacher, ça t'ajoutera juste de la latence
- Si ton trafic est 100% organique (SEO) → personne ne te reviewe activement
- Si tu débutes et que tu ne sais pas ce que tu fais → un cloaking mal configuré peut bloquer tes vrais visiteurs
Performance
L'évaluation d'un workflow ajoute typiquement 5–30ms par click :
- ~1ms pour les checks server-only (UA, IP CIDR match)
- ~10–20ms pour le reverse DNS lookup (si activé) — cache 1h dans
reverseDNSCache - ~5ms pour le GeoIP lookup (cache mémoire)
Les checks client-side (/cloak.js) ajoutent ~50ms côté navigateur avant le redirect vers la landing.
Voir aussi
- Workflows — créer ton premier workflow
- Nodes — le catalogue complet
- Filters — IP / DNS / ASN
- Campaigns → create — comment attacher un workflow à une campagne
- Vue d'ensemble — où le cloaking s'insère dans le chemin du click