Audio Device Fingerprint Experiment

A local instrument for testing the same-device hypothesis: that one physical machine produces similar Web Audio feature vectors across different browsers, and a different machine produces dissimilar ones.

Audio fingerprints are probabilistic measurements of browser audio-processing behavior. They are not guaranteed unique hardware identifiers.

1 Overview

What this measures, and what it deliberately does not do.

Each fingerprint is produced by synthesising six deterministic signals inside an OfflineAudioContext, rendering them through oscillators, gain stages, biquad filters, a dynamics compressor and an analyser, and then extracting scalar features from the resulting buffers.

The features are combined into a single normalized vector and compared using cosine similarity and Euclidean distance. The buffer is never hashed: a one-bit difference would change a hash completely, which makes the question "how similar are these?" unanswerable.

The hypothesis is being tested here, not assumed. Every number on this page comes from measurements you took on this machine. Nothing is seeded, simulated or filled in.

Privacy

  • ✓ No microphone access — audio is synthesised, never recorded
  • ✓ No camera, contacts or geolocation
  • ✓ No network transmission of fingerprints; no third parties
  • ✓ Samples are stored in this browser's localStorage only

2 Generate Fingerprint

Name this browser, assign it to a physical device group, and measure.

Checking browser capabilities…

3 Saved Samples

Stored locally. Device groups can be reassigned at any time without re-measuring.

No samples saved yet. Generate a fingerprint above to start collecting data.

4 Compare

Every saved fingerprint against every other, using the mode and threshold you choose.

Comparison mode

Switching modes shows how much of the separation comes from audio behaviour rather than from conventional browser attributes.

Save at least two fingerprints to build a comparison matrix.

5 Repeatability Test

Measure stability on this browser first. Do not assume it.

Checking browser capabilities…

6 Experiment Analysis

Within-device versus between-device similarity, and how far apart the two distributions actually are.

Save fingerprints from at least two browsers, and assign them to device groups, before any analysis is possible.

7 Export

Take the measurements somewhere else for analysis.

The JSON export contains experiment metadata, every sample with its full feature vector and raw feature values, environment metadata, and the computed comparisons for both modes. The CSV contains one row per pairwise comparison per mode — the shape you want for a pivot table or a pandas DataFrame. Both files are generated in your browser and saved straight to disk.

Nothing to export yet.

Import samples from another browser

Saved samples live in this browser's localStorage, which is private to each browser profile — so Chrome cannot see Arc's samples, and neither can see Safari's. Export JSON from each browser, then import those files here to assemble the whole experiment in one place. Importing merges by sample id, so the same file can be imported twice without duplicating measurements.

Terminology used deliberately: experimental fingerprint, similarity score, same-device hypothesis, probabilistic device correlation. This tool does not identify computers.