Le WebGL vendor fingerprinting lit le fabricant et le nom exact du modèle de votre GPU depuis l'API graphique 3D du navigateur pour construire un identifiant de périphérique persistant — sans rien stocker sur votre machine. Vérifiez ce que votre navigateur expose dès maintenant sur whatsmy.fyi.
En résumé
Le WebGL vendor fingerprinting utilise une extension de navigateur appelée WEBGL_debug_renderer_info pour lire deux chaînes que votre pilote GPU expose : le nom du fabricant (ex. NVIDIA Corporation) et la chaîne renderer (ex. ANGLE (NVIDIA GeForce RTX 3050 Direct3D11 vs_5_0 ps_5_0)). Ces chaînes sont assez spécifiques pour identifier votre modèle GPU, le backend graphique, et parfois même la version du pilote — des informations qui changent rarement et ne peuvent pas être effacées comme un cookie.
Qu'est-ce que le WebGL vendor fingerprinting ?
Le WebGL vendor fingerprinting est une technique de pistage qui exploite l'extension WEBGL_debug_renderer_info — une fonctionnalité de débogage intégrée à la spécification WebGL — pour extraire des informations détaillées sur votre matériel graphique. Contrairement au canvas fingerprinting, qui déduit les différences GPU à partir de variations de rendu au niveau pixel, le WebGL vendor fingerprinting interroge directement le pilote : "Qui vous a fabriqué et comment vous appelez-vous ?"
Le résultat est une paire de chaînes — UNMASKED_VENDOR_WEBGL et UNMASKED_RENDERER_WEBGL — qui identifient votre fabricant GPU, le nom du modèle, le backend graphique (Direct3D, Metal, Vulkan ou OpenGL), et souvent la version du pilote. Ensemble, ces deux valeurs portent 10 à 15 bits d'entropie, en faisant l'un des attributs individuels à plus haute valeur dans la boîte à outils du browser fingerprinting.
Comment fonctionne le WebGL vendor fingerprinting ?
Le processus d'extraction ne nécessite que quelques lignes de JavaScript et se complète en moins d'une milliseconde.
Étape 1 — Demander l'extension debug
Le script appelle gl.getExtension("WEBGL_debug_renderer_info") sur un contexte WebGL. La plupart des navigateurs exposent cette extension par défaut ; les navigateurs durcis pour la vie privée peuvent retourner null ou une chaîne générique.
Étape 2 — Lire les chaînes fabricant et renderer
Avec l'extension disponible, le script appelle gl.getParameter() deux fois — une fois pour ext.UNMASKED_VENDOR_WEBGL (ex. Google Inc. (NVIDIA)) et une fois pour ext.UNMASKED_RENDERER_WEBGL (ex. ANGLE (NVIDIA, NVIDIA GeForce RTX 3050 Laptop GPU Direct3D11 vs_5_0 ps_5_0, D3D11)). Ce sont des chaînes brutes du pilote — pas des valeurs que le navigateur ou l'OS assainit avant de les retourner.
Étape 3 — Combiner avec d'autres signaux
La chaîne renderer est hachée et combinée avec les extensions WebGL supportées, la taille maximale des textures, la précision des shaders et d'autres paramètres WebGL pour produire une empreinte GPU composite.
// WebGL vendor fingerprinting — comment les scripts de pistage extraient l'identité GPU
function getWebGLVendorFingerprint() {
const canvas = document.createElement('canvas');
const gl =
canvas.getContext('webgl') ||
canvas.getContext('experimental-webgl');
if (!gl) return { vendor: 'non supporté', renderer: 'non supporté' };
const ext = gl.getExtension('WEBGL_debug_renderer_info');
if (!ext) {
// Le navigateur vous protège (Brave / Firefox resistFingerprinting)
return { vendor: 'protégé', renderer: 'protégé' };
}
// Ces chaînes identifient directement votre marque et modèle GPU
const vendor = gl.getParameter(ext.UNMASKED_VENDOR_WEBGL);
const renderer = gl.getParameter(ext.UNMASKED_RENDERER_WEBGL);
// Exemple de sortie :
// vendor: "Google Inc. (NVIDIA)"
// renderer: "ANGLE (NVIDIA, NVIDIA GeForce RTX 3050 Laptop GPU
// (0x000025A2) Direct3D11 vs_5_0 ps_5_0, D3D11)"
return { vendor, renderer };
}À quoi ressemblent les chaînes renderer ?
Le format exact dépend de votre fabricant GPU et de votre système d'exploitation. Sur les navigateurs basés sur Chromium, les chaînes sont préfixées par ANGLE — la couche de traduction de Chrome. Exemples réels :
| Fabricant GPU | Exemple de chaîne RENDERER |
|---|---|
| NVIDIA (Windows) | ANGLE (NVIDIA, NVIDIA GeForce RTX 3050 Laptop GPU (0x000025A2) Direct3D11 vs_5_0 ps_5_0, D3D11) |
| AMD (Windows) | ANGLE (AMD, AMD Radeon RX 6600 Direct3D11 vs_5_0 ps_5_0, D3D11) |
| Intel (Linux / Mesa) | ANGLE (Intel, Vulkan 1.3.267 (Intel(R) UHD Graphics (TGL GT2) (0x00009A78)), Intel open-source Mesa driver) |
| Apple Silicon | ANGLE (Apple, ANGLE Metal Renderer: Apple M2 Max, Unspecified Version) |
| Apple Silicon (M4) | ANGLE (Apple, ANGLE Metal Renderer: Apple M4 Pro, Unspecified Version) |
Quelle est l'unicité d'une empreinte WebGL vendor ?
| Résultat | Valeur | Source |
|---|---|---|
| Contribution entropique de la chaîne renderer GPU | 10–15 bits | EFF Cover Your Tracks |
| Part des top 10 000 sites utilisant le WebGL fingerprinting | >8 % | Princeton Web Transparency Project, 2020 |
| Unicité de l'empreinte avec 13+ signaux (dont WebGL) | 83–90 % | EFF Panopticlick |
| Signaux suivis par les anti-fraude modernes | 100+ | Fingerprint.com |
| Stabilité du fingerprinting GPU entre redémarrages | Permanent jusqu'au changement de matériel | DrawNApart GPU study (arXiv 2022) |
RGPD et WebGL vendor fingerprinting
Selon le RGPD, tout identifiant persistant qui peut être raisonnablement lié à un individu — y compris une chaîne renderer GPU utilisée pour la ré-identification — constitue un traitement de données personnelles. La CNIL a explicitement listé le browser fingerprinting comme une technique nécessitant un consentement éclairé ou une exemption d'intérêt légitime strictement définie. Selon le CCPA et le CPRA aux États-Unis, les données de fingerprinting sont classées comme informations personnelles soumises aux droits d'opt-out.
Comment se protéger du WebGL vendor fingerprinting
- Brave Browser (recommandé pour l'usage quotidien) : Le système Farbling de Brave randomise les chaînes renderer et fabricant WebGL sur une base par session et par site. Chaque site reçoit une description GPU légèrement différente, rendant le pistage inter-sites peu fiable. Aucune configuration requise.
- Firefox avec
privacy.resistFingerprinting: Ce paramètre dansabout:configfait retourner à Firefox une chaîne renderer générique et non-identifiante au lieu de vos données GPU réelles. Tor Browser l'active par défaut. Certaines applications lourdes en WebGL peuvent ne pas fonctionner correctement. - Firefox
webgl.enable-debug-renderer-info: false: Une option plus ciblée dansabout:configqui désactive uniquement l'extension debug — le reste de WebGL continue de fonctionner normalement. - Extension WebGL Fingerprint Defender : Disponible pour Chrome et Firefox, cette extension intercepte les appels à l'extension
WEBGL_debug_renderer_infoet retourne une chaîne renderer randomisée ou usurpée. - Tor Browser (protection maximale) : Tor Browser normalise toute la sortie WebGL pour que chaque utilisateur retourne des données renderer identiques, éliminant complètement l'identification basée sur le GPU.
- Un VPN n'aide pas : Votre chaîne renderer GPU est lue depuis les API de navigateur locales, pas depuis votre connexion réseau. Vérifiez si votre VPN masque bien votre IP sur whatsmy.fyi.
Foire aux questions
Quelle est la différence entre WebGL vendor et WebGL renderer fingerprinting ?
Ce sont deux aspects de la même technique. La chaîne fabricant (UNMASKED_VENDOR_WEBGL) identifie le fabricant GPU — typiquement NVIDIA, AMD, Intel, Apple ou une couche de traduction comme Google (ANGLE). La chaîne renderer (UNMASKED_RENDERER_WEBGL) identifie le modèle GPU spécifique, le backend graphique et souvent la version du pilote. Les deux sont lues dans le même appel API.
La navigation privée cache-t-elle ma chaîne renderer WebGL ?
Non. La navigation privée empêche votre navigateur d'enregistrer l'historique et les cookies, mais elle ne change pas le matériel sur lequel votre navigateur fonctionne. Votre chaîne renderer GPU est identique en mode privé et en fenêtre normale.
Que retourne un navigateur headless comme chaîne renderer ?
Les navigateurs headless et les environnements de test automatisés sans GPU réel retournent typiquement le renderer logiciel de secours : Google SwiftShader dans Chromium ou Mesa OffScreen dans Firefox. Les vrais appareils d'utilisateurs ne retournent presque jamais ces valeurs en navigation normale. Les systèmes anti-bots les traitent comme des indicateurs de bot à haute confiance.
Articles connexes
- Qu'est-ce que le WebGL fingerprinting ? — le guide complet de WebGL comme surface de fingerprinting
- Qu'est-ce que le canvas fingerprinting ? — comment les différences de rendu canvas 2D complètent les données WebGL vendor
- Qu'est-ce que le browser fingerprinting ? — le guide complet de tous les signaux combinés
- Qu'est-ce que l'audio fingerprinting ? — comment la pile audio de votre appareil produit un identifiant persistant



