Consent preflight: vérifier avant de publier
Pourquoi (enseigner ainsi) : le vibe-coding permet de livrer une application en un après-midi, et aussi facilement de livrer un procès. Le piège habituel est un pixel de suivi (Meta, Google, TikTok) qui démarre dès l'ouverture de la page. En Californie, le pistage avant consentement peut être traité comme une écoute électronique, jusqu'à 5 000 $ par violation. Une bannière de cookies ne vous protège pas si le pixel se déclenche avant que quiconque ne clique dessus. Avoir une bannière et attendre l'autorisation sont deux choses complètement différentes. La correction est une instruction à votre constructeur IA, plus une vérification qu'elle a fonctionné.
La seule invite à retenir : « Assurez-vous qu'aucun pixel de suivi, outil d'analyse ou script tiers ne se charge tant que l'utilisateur n'a pas cliqué sur Accepter dans ma bannière de cookies. »
Ce n'est pas un avis juridique. Cela permet de détecter les erreurs courantes et coûteuses ; cela ne certifie rien.
Les 10 vérifications
Exécutez-les sur l'URL de prévisualisation ou en direct dans un onglet frais sans cookies (navigateur intégré de Claude : stockage vidé, puis read_network_requests avant tout clic), plus l'analyse du code si le code est disponible :
python3 ~/.claude/skills/consent-audit/scripts/scan_trackers.py <app-dir>
| # | Vérification | Réussite |
|---|---|---|
| 1 | Nouvelle visite, sans clic : une requête vers un domaine de pub/analyse/rejeu (facebook, google-analytics, googletagmanager, tiktok, licdn, hotjar, clarity, posthog, segment, heycatch…) ? | Aucune |
| 2 | Cookies avant clic : _ga, _fbp, _gcl_au, _ttp, _hj*, ph_* ? | Aucun |
| 3 | Extensions d'hébergement désactivées ou conditionnées : Lovable Visitor analytics, Vercel/Netlify/Cloudflare analytics, champs de pixel du constructeur de site | Désactivé ou conditionné |
| 4 | Rejeter fonctionne : cliquer sur Rejeter, parcourir 2 pages, rien d'optionnel ne se déclenche | Oui |
| 5 | Bannière équitable : Accepter et Rejeter également visibles ; cases à cocher décochées. S'il n'y a pas de traceurs optionnels, il n'y a pas de bannière (aucune nécessaire) | Oui |
| 6 | Retour en arrière : un lien en pied de page « Choix de confidentialité » pour modifier ou retirer son consentement | Oui (si bannière existe) |
| 7 | Pas d'identité vers les traceurs : connexion avec un compte de test ; aucun email ou ID utilisateur dans les requêtes des traceurs | Aucun envoyé |
| 8 | Pas de secrets dans les URLs envoyées : pas de ?code=, ?token=, ?email= ou texte de recherche dans les requêtes des traceurs | Aucun |
| 9 | Avis de confidentialité : page publique, liée dans le pied de page et lors de l'inscription, nomme les vendeurs réels et le contact réel | Oui |
| 10 | Périmètre de publication : vous connaissez chaque modification non publiée que cette publication va diffuser | Listé et approuvé |
Résultat
PREFLIGHT : <app> - <RÉUSSITE / CORRIGEZ D'ABORD> (<date>)
1 ✅/❌ ... 10 ✅/❌ (une ligne de preuve chacun : domaines vus, cookies trouvés, ou « aucun »)
Corrigez d'abord : <les vérifications en échec, par ordre de risque : 1, 7, 2, 3 en premier>
- Tout réussi : publier, puis relancer les vérifications 1, 2 et 4 sur l'URL en direct. L'hébergement peut ajouter des scripts que la prévisualisation n'avait pas.
- Une des vérifications 1 à 4 ou 7 à 8 échoue : ne pas publier. Exécuter
consent-auditpour l'inventaire complet, puisconsent-gate(ou supprimer le traceur). - Seules les vérifications 5, 6 ou 9 échouent : corriger avec la section bannière/avis de
consent-gate, puis publier.
Notes pédagogiques (pour les étudiants)
- Montrer, ne pas dire : ouvrir leur site dans un nouvel onglet avec Outils Développement → Réseau, filtrer par « facebook » ou « google », recharger, et les laisser regarder le pixel se déclencher avant qu'ils ne touchent à la bannière. Ce moment fait comprendre la leçon.
- Moins de traceurs, c'est la solution simple. S'ils ne diffusent pas encore de publicité, ils n'ont pas encore besoin d'un pixel. Pas de traceur signifie pas de bannière et pas de risque.
- Analytics vs. vos propres données : désactiver les traceurs ne supprime pas ce que leur application enregistre pour les utilisateurs (comptes, progression, réponses aux formulaires). Ce sont des données propriétaires (first-party), couvertes par leur avis de confidentialité, pas par la bannière.
- Sites de cours et de vidéos : un pixel Meta sur des pages qui lisent des vidéos comporte un risque fédéral supplémentaire (VPPA). Gardez les pixels hors des pages de cours.