Audio-Fingerprinting verarbeitet ein synthetisches Tonsignal im Browser und misst winzige Fließkomma-Unterschiede in der Audioausgabe. Kein Mikrofon, kein Ton, kein Nutzerbewusstsein — und dennoch entsteht ein stabiler Identifier, der Cookie-Löschung und Inkognito-Modus überlebt. Nach der DSGVO fällt dieses Signal unter die Kategorie personenbezogener Daten, wenn es zur Identifikation einer Person eingesetzt wird.
Wie Audio-Fingerprinting funktioniert
Die Web Audio API — ursprünglich für Musik-Apps und Spiele entwickelt — wird hier zweckentfremdet:
- Offline-Kontext erstellen: Ein
OfflineAudioContextverarbeitet Audio ohne Wiedergabe, rein im Speicher. - Testsignal generieren: Ein Dreiecks-Oszillator bei 10 kHz erzeugt ein deterministisches Tonsignal.
- Signal komprimieren: Ein
DynamicsCompressorNodeverarbeitet das Signal — dieser Schritt verstärkt hardware-spezifische Unterschiede. - Puffer auslesen:
context.startRendering()liefert den fertigen Audio-Puffer. Die Fließkommawerte der Samples werden summiert oder gehasht.
Codebeispiel
const ctx = new OfflineAudioContext(1, 44100, 44100);
const oscillator = ctx.createOscillator();
oscillator.type = 'triangle';
oscillator.frequency.value = 10000;
const compressor = ctx.createDynamicsCompressor();
oscillator.connect(compressor);
compressor.connect(ctx.destination);
oscillator.start(0);
ctx.startRendering().then(buffer => {
const data = buffer.getChannelData(0);
const fingerprint = data.slice(4500, 5000)
.reduce((acc, val) => acc + Math.abs(val), 0);
console.log(fingerprint); // z. B. 124.04347527027386
});Warum unterscheiden sich die Werte?
Die Web-Audio-Spezifikation erlaubt implementierungsabhängige Fließkomma-Arithmetik. Verschiedene Betriebssysteme, Audiobibliotheken und CPU-Architekturen liefern deshalb geringfügig unterschiedliche Ergebnisse — konsistent für dasselbe Gerät, aber unterscheidbar zwischen verschiedenen Geräten.
| Merkmal | Wert |
|---|---|
| Entropie | ~4,8 Bit |
| Benötigt Mikrofon | Nein |
| Benötigt Ton-Wiedergabe | Nein |
| Überlebt Cookie-Löschung | Ja |
Grenzen und Umgehungen
Safari 17 injiziert in den Audio-Ausgabe-Puffer weißes Rauschen. Allerdings zeigte eine Studie aus 2024, dass diese Maßnahme mit 40.000 Samples umgehbar ist: Durch Mittelwertbildung vieler Messungen lässt sich das Rauschen herausrechnen und der echte Hardware-Wert rekonstruieren.
DSGVO-Relevanz
Audio-Fingerprinting ist für Nutzerinnen und Nutzer unsichtbar und erfordert keine Zustimmung zur Mikrofon-Nutzung. Dennoch erzeugt es ein persistentes Kennzeichen. Nach DSGVO Art. 5 Abs. 1 lit. c (Datensparsamkeit) sollten Websites prüfen, ob der Einsatz dieser Technik zu Tracking-Zwecken verhältnismäßig ist. Der Einsatz ohne Einwilligung dürfte in den meisten EU-Ländern rechtswidrig sein.
Schutzmaßnahmen
- Firefox
privacy.resistFingerprinting: Liefert konstante Nullwerte für alle Audio-Puffer und blockiert Audio-Fingerprinting vollständig. - Brave Browser: Fügt dem Audio-Puffer sitzungsgebundenes Rauschen hinzu (Farbling), sodass jede Website einen anderen Hash erhält.
- Tor Browser: Blockiert
OfflineAudioContext-Rendering standardmäßig.
Weitere Fingerprinting-Signale
Audio-Fingerprinting wird selten allein verwendet. Es ergänzt Canvas-Fingerprinting und WebGL-Fingerprinting zu einem kombinierten Profil. Unser Fingerprint-Tool zeigt Ihnen alle aktiven Signale auf einen Blick.



