DEV Community

FireKey Team
FireKey Team

Posted on

AudioContext Fingerprinting: The Browser Tracker Nobody Talks About

Canvas fingerprinting gets all the attention. AudioContext fingerprinting flies under the radar — and it's just as persistent.

How It Works

The Web Audio API processes audio through your sound hardware. The exact output varies per device — producing a unique hash.

const audioCtx = new AudioContext();
const oscillator = audioCtx.createOscillator();
const analyser = audioCtx.createAnalyser();
const gainNode = audioCtx.createGain();
gainNode.gain.value = 0; // Silent — user hears nothing
oscillator.connect(analyser);
analyser.connect(gainNode);
gainNode.connect(audioCtx.destination);
const samples = new Float32Array(analyser.frequencyBinCount);
analyser.getFloatFrequencyData(samples);
const hash = samples.slice(0,20).reduce((a,b) => a + Math.abs(b), 0);
// hash is unique per device
Enter fullscreen mode Exit fullscreen mode

Canvas + Audio = Near-Zero Collision Rate

Together, canvas hash (GPU) + AudioContext hash (audio hardware) → collision probability near zero. This is why changing proxies doesn't help — both signals are hardware-level.

Who Uses This

Ad networks, anti-fraud systems, platform integrity teams (Amazon, LinkedIn, Twitter).

Protection

Randomize both per browser profile. FireKey handles this — each profile gets spoofed AudioContext output. Free open beta.

Posted from a FireKey isolated browser environment.

Top comments (0)