Qu'est-ce qu'une empreinte de navigateur ?
Une empreinte de navigateur est un identifiant calculé à partir de dizaines de caractéristiques techniques exposées par un navigateur et son environnement d'exécution : version logicielle, matériel graphique, polices installées, réglages système. Combinées, ces caractéristiques forment une signature souvent unique à un appareil donné, sans qu'aucun cookie ni jeton ne soit déposé. Contrairement à un cookie, elle ne se supprime pas en vidant le cache et survit à la navigation privée, puisqu'elle ne repose sur aucun stockage mais sur une observation passive du terminal. C'est cette propriété qui en fait à la fois un outil de sécurité efficace et un sujet de vigilance en matière de vie privée.
Votre empreinte, calculée maintenant
Le calcul ci-dessous s'exécute dans votre navigateur dès l'ouverture de la page.
Signaux collectés
Cliquez sur une ligne pour afficher la valeur brute mesurée sur votre appareil.
| Signal | Type | Entropie estimée | Empreinte du signal | Durée |
|---|---|---|---|---|
| Collecte en cours… | ||||
Comment ça marche
Chaque signal collecté apporte une quantité d'information mesurée en bits d'entropie : plus une valeur est rare dans la population des navigateurs, plus elle contribue à distinguer un visiteur des autres. Certains attributs sont simplement déclarés par le navigateur, comme la langue ou le fuseau horaire, et peuvent être modifiés facilement ; d'autres sont mesurés en faisant travailler le terminal, comme le rendu d'un dessin Canvas 2D, une scène WebGL ou un signal audio traité par un compresseur. Ces derniers dépendent de la carte graphique, des pilotes installés, du système d'exploitation et de la version exacte des bibliothèques de rendu, ce qui les rend beaucoup plus difficiles à falsifier de façon cohérente qu'une simple valeur déclarative.
L'ensemble des signaux mesurés et déclarés est ensuite concaténé selon un ordre fixe puis haché avec SHA-256 pour produire un identifiant stable et reproductible tant que l'environnement ne change pas. Ce hachage n'ajoute aucune information : il condense l'entropie déjà présente dans les signaux bruts en une chaîne de longueur fixe, pratique à stocker et à comparer, mais qui ne peut techniquement pas être inversée pour retrouver les valeurs d'origine.
Entropie et unicité
L'entropie d'un signal s'exprime en bits : un signal apportant 20 bits d'entropie signifie qu'il divise en moyenne la population des navigateurs par 220, soit environ un million, si sa distribution était parfaitement uniforme et indépendante des autres signaux. En pratique, les signaux ne sont jamais indépendants : la résolution d'écran, la densité de pixels et le rendu WebGL sont fortement corrélés au même modèle d'appareil, si bien qu'additionner leurs bits individuels surestime largement l'entropie réellement gagnée en les combinant. Les valeurs affichées sur cette page pour chaque signal proviennent d'études publiques comme Panopticlick de l'EFF ou Am I Unique, menées sur des populations de plusieurs centaines de milliers de navigateurs. Elles ne mesurent donc pas la diversité réelle des visiteurs de ce site, mais donnent un ordre de grandeur permettant de comparer le pouvoir discriminant relatif de chaque signal.
Stabilité dans le temps
Une empreinte n'est pas figée dans le temps : une mise à jour du navigateur ou du système, un changement d'écran, l'installation d'une nouvelle police ou le remplacement d'une carte graphique modifient un ou plusieurs signaux et font donc varier l'identifiant complet. Pour rester exploitable au-delà de quelques jours ou semaines, un identifiant stable est calculé en excluant les signaux les plus volatils, notamment ceux liés au bruit anti-fingerprinting réinjecté à chaque exécution. Cet identifiant stable est moins précis que l'identifiant complet, mais il conserve un usage pratique pour reconnaître un même appareil sur une période prolongée sans dépendre d'un cookie.
Se protéger
Aucune protection ne supprime totalement le fingerprinting, mais plusieurs stratégies réduisent son efficacité en rendant les signaux moins discriminants ou en les uniformisant entre utilisateurs. Certaines consistent à ajouter du bruit aléatoire aux mesures instables comme le Canvas ou l'audio, d'autres à faire converger tous les navigateurs vers un même profil déclaré. Le compromis est réel : réduire trop agressivement les signaux exposés peut, paradoxalement, rendre un navigateur plus reconnaissable en le distinguant du reste de la population.
- Tor Browser — uniformise systématiquement tous les utilisateurs sur un même profil déclaré, au prix d'un rendu et de performances dégradés
- Firefox avec
privacy.resistFingerprinting— applique la même stratégie d'uniformisation que Tor, mais peut casser certains sites mal préparés à ces valeurs génériques - Brave — injecte un bruit aléatoire différent à chaque session sur le Canvas et l'audio, rendant l'identifiant complet instable sans bloquer le rendu
- Extensions anti-fingerprinting — utiles en complément, mais souvent détectables elles-mêmes par leur signature d'exécution, ce qui peut créer un nouveau signal distinctif
- Navigation privée seule — n'a aucun effet sur le fingerprinting puisqu'elle ne modifie ni ne bloque les signaux mesurés, elle empêche seulement l'écriture de cookies et l'historique local
Cadre juridique
En droit français, l'article 82 de la loi Informatique et Libertés, qui transpose la directive ePrivacy, encadre toute opération d'accès à des informations déjà stockées dans le terminal d'un utilisateur ou d'inscription d'informations dans ce terminal. La CNIL considère que la lecture des caractéristiques techniques d'un navigateur à des fins de fingerprinting relève de ce même régime, même en l'absence de cookie, et soumet donc cette pratique à un consentement préalable sauf exception strictement définie. L'EDPB retient une lecture similaire au niveau européen, refusant qu'une finalité de traçage publicitaire échappe au consentement au seul motif qu'aucun cookie n'est utilisé.
Indépendamment de ce cadre ePrivacy, l'identifiant produit constitue une donnée à caractère personnel au sens du RGPD dès lors qu'il permet, seul ou combiné à d'autres informations, de singulariser une personne physique parmi d'autres. Les exceptions au consentement prévues par la loi, notamment pour la sécurité de l'information ou la lutte contre la fraude, sont interprétées restrictivement par la CNIL et ne dispensent pas de documenter précisément la finalité poursuivie, la durée de conservation et la proportionnalité du traitement au regard de cette finalité.
Usages légitimes
- Anti-fraude sur les paiements — détecter qu'un même appareil enchaîne des tentatives d'achat avec des identités ou des moyens de paiement différents
- Détection de bots et de comptes multiples — repérer des inscriptions massives ou des scripts automatisés qui ne présentent pas les variations naturelles d'un vrai parc de navigateurs
- Sécurité de session — identifier qu'un cookie de session utilisé depuis un appareil à l'empreinte radicalement différente signale probablement un vol de session
- Mesure d'audience sans cookie — distinguer les visiteurs d'un site sans déposer de traceur, dans une logique de statistiques agrégées plutôt que de suivi individuel
Intégration
Le moteur est un module ES autonome, sans dépendance et sans appel réseau.
<script type="module">
import { Fingerprint } from 'https://synapx.fr/assets/vendor/fingerprint.es.js';
const fp = await Fingerprint.compute();
fp.visitorId; // SHA-256 sur 64 caractères hexadécimaux
fp.stableId; // identifiant calculé sans les signaux volatils
fp.entropy.bits; // entropie cumulée estimée
fp.protection.protected; // true si une protection a été détectée
fp.components.fonts.value.detected; // polices identifiées
</script>
Structure du résultat
| Champ | Type | Description |
|---|---|---|
| visitorId | string | Empreinte SHA-256 de tous les signaux |
| stableId | string | Empreinte SHA-256 des seuls signaux non volatils |
| shortId | string | 16 premiers caractères de visitorId |
| components | object | Valeur brute, empreinte, catégorie, entropie et durée de chaque signal |
| entropy | object | rawBits, bits plafonnés à 33 et oneIn |
| protection | object | randomized, protected et flags détaillant les protections repérées |
| algorithm | string | SHA-256, ou repli FNV-1a hors contexte sécurisé |
crypto.subtle n'est disponible qu'en HTTPS ou sur localhost. Hors de ce contexte, le moteur bascule sur un hachage FNV-1a, utilisable pour la démonstration mais pas pour une comparaison cryptographique.
Questions fréquentes
Peut-on empêcher totalement le fingerprinting ?
Non, aucune protection ne l'élimine complètement, car un navigateur doit exposer un minimum d'informations pour fonctionner. Les meilleures stratégies réduisent l'entropie exploitable ou l'uniformisent entre utilisateurs, sans jamais l'annuler.
Une empreinte de navigateur est-elle toujours unique ?
Elle est souvent unique parmi les navigateurs desktop récents équipés de Canvas et WebGL actifs, mais pas systématiquement. Sur des appareils très standardisés comme certains modèles d'iPhone récents, plusieurs utilisateurs peuvent partager une empreinte identique.
La navigation privée protège-t-elle du fingerprinting ?
Non, la navigation privée empêche uniquement l'écriture de cookies et la conservation de l'historique local, mais elle n'agit ni sur le rendu Canvas, ni sur WebGL, ni sur les autres signaux mesurés. Le fingerprinting fonctionne de façon identique en navigation privée et en navigation normale.
Combien de temps une empreinte reste-t-elle valable ?
L'identifiant complet évolue dès qu'un signal change, par exemple lors d'une mise à jour du navigateur ou d'un changement de matériel graphique, ce qui limite sa durée de vie utile à quelques semaines ou mois. L'identifiant stable, calculé sans les signaux les plus volatils, tient généralement plus longtemps.
Faut-il le consentement de l'utilisateur pour collecter une empreinte ?
Oui dans la très grande majorité des cas, car la CNIL et l'EDPB assimilent cette collecte à un accès à des informations du terminal soumis à l'article 82 de la loi Informatique et Libertés. Seules des finalités strictement nécessaires à la sécurité ou à la fourniture du service demandé peuvent, sous conditions restrictives, s'en dispenser.