In Chromium, audio variation is keyed by domain rather than profile. Here is what that means in practice, where NimbusX shows it and what remains to remove the limitation. It is the only measured signal we have not yet separated per profile.
A detector sends a short signal through Web Audio and hashes the output. Hardware and drivers introduce minute differences, so the hash can act as a machine signature. Two physical computers produce different hashes, much like they produce different Canvas results. NimbusX records the profile value as a table of 108 Web Audio constants.
Our engine varies the audio result, but keys the variation by origin: a given site receives the same hash from every profile on that machine, so audio does not distinguish those profiles. The neighboring signals do not have this limitation:
| Channel | Matches on one machine | Why |
|---|---|---|
| Canvas | No | keyed by the profile seed |
| WebGL | No | defined by the device configuration |
| Audio | Yes | variation is keyed by domain, not profile |
Two physical machines produce different audio hashes; two NimbusX profiles on the same machine currently do not. Among the signals we measured, this is the one remaining way to link them.
The upstream engine tracks this as a known gap origin-invariant. The fix is to key that variation by profile rather than domain in patch 001-farble-seed-core. This requires a NimbusX engine build. The scope is clear: one patch, not an engine rewrite. Until that build ships, the operating rule above still applies.
Once the patch ships, audio will be isolated in the same way as Canvas and WebGL, closing the last measured link between profiles on one machine.
How fingerprint checks connect profiles · Consistency matters more than variety