Vie privée et opt-out
Pomelo Analytics suit une approche privacy-first et cookieless par défaut. Cette page documente les limites de collecte actuelles de Pomelo et explique comment donner le contrôle à vos visiteurs.
Note doctrine : Pomelo converge vers un modèle Strict par défaut / Extended par configuration. Cette page documente le socle privacy et les mécanismes d’opt-out. Elle ne vaut pas claim d’exemption de consentement généralisé par défaut sur toutes les surfaces du produit.
Ce que Pomelo ne fait PAS
Section intitulée « Ce que Pomelo ne fait PAS »- Aucun cookie de mesure — Pomelo ne définit, ne lit et ne requiert aucun cookie pour la mesure analytics. Le seul cookie utilisé est le cookie first-party d’opt-out quand un visiteur refuse explicitement.
- Aucun localStorage / sessionStorage — Aucune donnée n’est stockée sur l’appareil du visiteur (sauf le cookie d’objection opt-out, voir ci-dessous).
- Aucun fingerprinting — Pas de canvas, WebGL, énumération de polices ou autres techniques de fingerprinting.
- Aucun suivi inter-sites — La clé visiteur quotidienne est limitée à un site et ne peut pas lier les visiteurs entre différents domaines.
- Aucun stockage d’IP — Les adresses IP sont utilisées uniquement de manière transitoire pour la pseudonymisation (HMAC) et la géolocalisation, puis supprimées.
- Aucun profil utilisateur — Pomelo ne construit pas de profils comportementaux ni de segments publicitaires.
Respect du DNT et du GPC
Section intitulée « Respect du DNT et du GPC »Pomelo respecte toujours les signaux Do Not Track (DNT) et Global Privacy Control (GPC). Ce n’est pas optionnel — c’est appliqué inconditionnellement :
- Côté client : Le script de tracking vérifie
navigator.doNotTracketnavigator.globalPrivacyControl. Si l’un ou l’autre est activé, aucun événement n’est envoyé. - Côté serveur : L’API d’ingestion vérifie les en-têtes
DNT: 1etSec-GPC: 1. Les événements avec ces en-têtes sont silencieusement supprimés par mesure de défense en profondeur.
API d’opt-out
Section intitulée « API d’opt-out »Pomelo fournit une API JavaScript pour que les visiteurs puissent refuser la mesure :
pomelo.optout(true)
Section intitulée « pomelo.optout(true) »Arrête immédiatement tout le tracking :
- Définit un cookie first-party
pomelo_optout=1(valide 1 an,SameSite=Lax) - Définit
window.__POMELO_OPTOUT__ = true - Vide la file d’attente d’événements en cours
pomelo.optout(false)
Section intitulée « pomelo.optout(false) »Réactive le tracking :
- Supprime le cookie
pomelo_optout - Supprime le flag
window.__POMELO_OPTOUT__
Exemple : Bouton d’opt-out
Section intitulée « Exemple : Bouton d’opt-out »<!-- Ajoutez à votre page de confidentialité ou footer --><button id="pomelo-optout">Refuser la mesure d'audience</button><button id="pomelo-optin" style="display:none">Réactiver la mesure</button>
<script> document.getElementById('pomelo-optout').addEventListener('click', () => { window.pomelo.optout(true); alert("Vous avez refusé la mesure d'audience."); document.getElementById('pomelo-optout').style.display = 'none'; document.getElementById('pomelo-optin').style.display = ''; });
document.getElementById('pomelo-optin').addEventListener('click', () => { window.pomelo.optout(false); alert("La mesure d'audience a été réactivée."); document.getElementById('pomelo-optin').style.display = 'none'; document.getElementById('pomelo-optout').style.display = ''; });</script>Alternative : Flag window
Section intitulée « Alternative : Flag window »Vous pouvez aussi bloquer le tracking avant le chargement du script en définissant le flag global :
<script> window.__POMELO_OPTOUT__ = true;</script>Le cookie d’opt-out
Section intitulée « Le cookie d’opt-out »Le cookie pomelo_optout=1 est un cookie first-party qui stocke
uniquement l’objection du visiteur. Il est :
- Pas un identifiant de tracking — il ne contient aucune valeur unique.
- First-party uniquement — défini sur votre domaine, pas un domaine tiers.
- SameSite=Lax — non envoyé dans les requêtes cross-site.
- Valide 1 an — pour que le visiteur n’ait pas besoin de refuser à chaque visite.
Ce cookie n’est défini que lorsque le visiteur refuse explicitement. Pomelo ne définit aucun cookie lors de la mesure normale.
Consentement et bannière
Section intitulée « Consentement et bannière »Pomelo seul est conçu pour supporter une mesure d’audience minimisée uniquement si vous restez dans l’enveloppe stricte documentée.
Cela ne veut pas dire :
- que toutes les surfaces Pomelo ont la même lecture juridique
- que
Extendedpeut être traité comme le défaut à consentement allégé - que votre site entier peut retirer sa bannière sans revue du reste de ses traceurs
Si la page charge aussi des pixels publicitaires, des tags de personnalisation, du session replay ou tout autre traceur nécessitant un consentement, le site peut encore devoir afficher une UI de consentement indépendamment de Pomelo.
Résumé de la minimisation des données
Section intitulée « Résumé de la minimisation des données »| Donnée | Stockée ? | Détails |
|---|---|---|
| Adresse IP | Non | Utilisée de manière transitoire pour HMAC + géolocalisation, puis supprimée |
| Cookies | Non | Uniquement pomelo_optout si le visiteur refuse explicitement |
| User agent | Côté serveur uniquement | Analysé depuis l’en-tête HTTP pour la classification appareil/navigateur/OS ; jamais envoyé depuis le navigateur |
| URL de page | Oui | URL canonicalisée avec hash retiré ; Strict supprime les query params, Extended peut conserver un sous-ensemble d’acquisition allowlisté |
| Référent | Oui | Strict conserve des lectures host-only ; le referrer complet reste hors du socle Strict par défaut |
| Géolocalisation | Oui | Le pays peut rester dans le socle strict ; région/ville restent des slices enrichies |
| Clé visiteur quotidienne | Oui | HMAC, réinitialisée à minuit UTC, limitée au site |
| ID de session | Clé quotidienne pseudonymisée | HMAC du domaine + jour + IP + famille de navigateur ; pas d’UA brut utilisé |
Sanitisation automatique des données
Section intitulée « Sanitisation automatique des données »Le script de tracking applique une sanitisation automatique au texte capturé, comme mesure de défense en profondeur contre les fuites accidentelles de PII.
- Identifiants (
data-analytics-id,data-analytics-scope, ID de formulaire) : charset sûr uniquement (a-z,0-9,_,-,.,:,/, espace), max 100 caractères. Supprimés entièrement si des PII sont détectées. - Labels (
data-analytics-label, labels auto-détectés) : max 80 caractères. Supprimés entièrement si des PII sont détectées. - Titres de page : max 200 caractères. Supprimés entièrement si des PII sont détectées.
- Messages d’erreur : query strings retirées, patterns PII
remplacés par
[redacted], max 200 caractères, et uniquement si la capture d’erreurs enrichie est activée.
Patterns PII détectés :
- Adresses email
- Numéros de téléphone
- UUID
- Longues séquences numériques (10+ chiffres consécutifs)
- Chaînes de type token (20+ caractères alphanumériques)
En cas de doute, le SDK supprime le champ au lieu de l’envoyer.
Ce que le SDK ignore
Section intitulée « Ce que le SDK ignore »Le SDK supprime silencieusement les valeurs qui semblent non sûres ou trop sensibles, notamment :
- Adresses email
- Numéros de téléphone
- UUID
- Longues séquences numériques
- Chaînes de type token
- Texte libre des champs de formulaire
- Texte des régions
contentEditable
C’est intentionnel : Pomelo préfère perdre un point de données plutôt que de transmettre des données sensibles.
Voir aussi : Intégration du SDK pour la référence complète des attributs et les règles de sanitisation.