Vie privée
La protection de la vie privée est intégrée au cœur de Takt, pas ajoutée après coup. Aucun cookie, aucun identifiant persistant, aucune donnée personnelle ne quitte le navigateur. Les visiteurs n’ont rien à accepter.
Quand un event n’est pas envoyé
Avant tout envoi, Takt vérifie quatre conditions dans cet ordre. Si l’une est vraie, l’event est supprimé silencieusement :
1. Opt-out visiteur
localStorage contient takt_ignore = '1'.2. Do Not Track & GPC
Do Not Track (en-tête DNT) ou Global Privacy Control (en-tête Sec-GPC / navigator.globalPrivacyControl) et respectDnt est actif (défaut ; désactive-le avec data-respect-dnt="false" ou respectDnt: false).3. Localhost / IP privée
localhost, ::1, 0.0.0.0, *.local, 127.*, 10.*, 192.168.*, 172.16–31.*) et excludeLocalhost est actif (défaut).4. Échantillonnage
sampleRate (ou data-sample-rate) est sous 1 et cet event tombe hors de la fraction conservée.Avec le SDK npm et les wrappers de framework, exclude ajoute un levier supplémentaire : toute page ou tout event nommé dont le chemin commence par un préfixe exclu (ex. ['/app','/account'], borné au segment, donc /app matche /app et /app/… mais pas /application) n’est jamais suivi. La vérification a lieu à l’envoi, elle tient donc à travers la navigation SPA. Le snippet CDN minimal n’expose pas cette option.
Donner le contrôle au visiteur
Tu peux exposer un bouton « Ne pas me suivre » qui pilote l’opt-out. Le choix s’écrit dans localStorage (clé takt_ignore), donc il persiste entre les visites sur ce navigateur.
En intégration npm, utilise les fonctions dédiées :
import { optOut, optIn } from '@vskstudio/takt-core'
optOut() // pose takt_ignore='1' — plus aucun event n'est envoyé
optIn() // retire le drapeau — reprend le tracking Côté snippet (CDN), le global window.takt n’expose que track. Pilote donc l’opt-out directement via localStorage — le snippet lit cette clé avant chaque envoi :
function toggleTracking() {
if (localStorage.getItem('takt_ignore') === '1') {
localStorage.removeItem('takt_ignore') // opt-in
} else {
localStorage.setItem('takt_ignore', '1') // opt-out
}
} Nettoyage des URLs
Par défaut, Takt strippe la query string et le hash de toutes les URLs avant l’envoi — l’URL de la page, le referrer et la destination des liens sortants ne gardent que origine + chemin. Un token, un e-mail ou un identifiant glissé dans ?... ou #... n’atteint donc jamais l’analytics.
Tu peux ajuster ce comportement : trackQuery conserve la query entière, queryParams n’en garde qu’une allowlist, et scrubUrl remplace toute la logique par ta propre fonction (npm). Côté snippet, utilise data-track-query ou data-query-params pour le même effet.
Supprimer ton compte (RGPD)
Tu peux supprimer ton compte toi-même, sans contacter le support. C’est ton droit à l’effacement (RGPD, article 17).
Où : Réglages → onglet Profil → zone de danger → bouton « Supprimer mon compte ».
Le déroulé
- Le bouton ouvre une boîte de dialogue de confirmation.
- Takt t’envoie un e-mail contenant un lien sécurisé. Aucun mot de passe n’est demandé : la confirmation passe uniquement par ce lien.
- Tu confirmes en cliquant sur le lien reçu. Le compte est alors désactivé immédiatement.
Délai de grâce de 90 jours
La désactivation est réversible pendant 90 jours. Pendant cette fenêtre, le compte n’est pas effacé : il te suffit de te reconnecter pour le réactiver — ainsi que les organisations dont tu es le seul membre.
Passé ce délai, la suppression devient définitive et irréversible : compte, données personnelles, avatar et statistiques d’audience des sites de tes organisations solo sont purgés sans retour possible.
Cas bloqué : seul propriétaire d’une organisation à plusieurs
Si tu es l’unique propriétaire d’une organisation qui compte d’autres membres, la suppression est bloquée. Tu dois d’abord transférer la propriété de cette organisation à un autre membre (depuis la section Équipe) avant de pouvoir supprimer ton compte.
Les organisations dont tu es le seul membre sont, elles, supprimées en même temps que ton compte.
Ce que Takt ne collecte pas
- Pas de cookie ni de stockage d’identifiant de session.
- Pas d’adresse IP conservée côté client, pas de fingerprinting du navigateur.
- Pas de query string ni de hash dans les URLs (strippés par défaut).
- Pas de donnée personnelle : garde tes props anonymes et à faible cardinalité.