<html><head></head><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div id="yui_3_16_0_ym19_1_1463718595110_3617">Was just reading this:</div><div id="yui_3_16_0_ym19_1_1463718595110_3543"><a id="yui_3_16_0_ym19_1_1463718595110_3542" class="" href="http://techcrunch.com/2016/05/19/audio-fingerprinting-being-used-to-track-web-users-study-finds/">http://techcrunch.com/2016/05/19/audio-fingerprinting-being-used-to-track-web-users-study-finds/</a></div><div id="yui_3_16_0_ym19_1_1463718595110_3616"><br></div><div id="yui_3_16_0_ym19_1_1463718595110_3604">And was curious about this part:</div><div id="yui_3_16_0_ym19_1_1463718595110_3615">"...More sophisticated scripts process an audio signal generated with an 
OscillatorNode to fingerprint the device. This technique appears 
conceptually similar to that of canvas fingerprinting. Audio signals 
processed on different machines or browsers may have slight differences 
due to hardware or software differences between the machines, while the 
same combination of machine and browser will produce the same output."</div><div id="yui_3_16_0_ym19_1_1463718595110_3723"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1463718595110_3758">If I had to guess I'd say they are taking advantage of this sentence from the <br></div><div id="yui_3_16_0_ym19_1_1463718595110_5655" dir="ltr">webaudio spec:</div><div id="yui_3_16_0_ym19_1_1463718595110_5654" dir="ltr">"The actual waveforms produced by the oscillator may differ to
            prevent aliasing affects."</div><div id="yui_3_16_0_ym19_1_1463718595110_3759"><br></div><div id="yui_3_16_0_ym19_1_1463718595110_3792">That could at least get the browser type.  Plus more if the browser has branches <br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1463718595110_5606">for different classes of CPU, etc.</div><div id="yui_3_16_0_ym19_1_1463718595110_5860"><br></div><div id="yui_3_16_0_ym19_1_1463718595110_6028">It's too bad they didn't require all implementations to generate the same <br></div><div id="yui_3_16_0_ym19_1_1463718595110_6057" dir="ltr">output for the oscillators.  Then framework devs could have built band-limited <br></div><div id="yui_3_16_0_ym19_1_1463718595110_6060" dir="ltr">libraries on top of a standardized foundation, without facilitating any fingerprinting <br></div><div id="yui_3_16_0_ym19_1_1463718595110_6077" dir="ltr">methods.<br></div><div id="yui_3_16_0_ym19_1_1463718595110_6086" dir="ltr"><br></div><div id="yui_3_16_0_ym19_1_1463718595110_6088" dir="ltr">-Jonathan<br> </div></div></body></html>