ungoogled-software/ungoogled-chromium
在 GitHub 查看Feature Request: Audiocontext Fingerprint Protection
Open
#3,155 创建于 2025年1月20日
enhancementhelp wanted
仓库指标
- Star
- (18,674 star)
- PR 合并指标
- (平均合并 3天) (30 天内合并 8 个 PR)
描述
Description
Audiocontext Fingerprint Protection
Who's implementing?
- I'm willing to implement this feature myself
The problem
From the results of "https://coveryourtracks.eff.org/", there is a "Audiocontext Fingerprint" option that can be used to fingerprint users/browsers.
Safari has implemented some measures to protect from Audio Fingerprinting ("https://fingerprint.com/blog/bypassing-safari-17-audio-fingerprinting-protection/").
It would be wonderful if this could be implemented and added as an Ungoogled-Chromium feature/switch/flag option.
Possible solutions
On the linked fingerprint.com blog, this is the audio fingerprinting protection code implemented in Safari:
void applyNoise(float* values, size_t numberOfElementsToProcess, float magnitude)
{
WeakRandom generator;
for (size_t i = 0; i < numberOfElementsToProcess; ++i)
values[i] *= 1 + magnitude * (2 * generator.get() - 1);
}
The description says this:
- An audio signal produced with the Audio API is an array of numbers representing the signal amplitude at each moment of time (also called “audio samples”). When fingerprinting protection is on, Safari adds a random noise to every sample individually. A noised sample lies between sample*(1-magnitude) and sample*(1+magnitude), and the distribution is uniform(https://en.wikipedia.org/wiki/Continuous_uniform_distribution). This is how it’s implemented in Safari (https://github.com/WebKit/WebKit/blob/167dc5118a3f6228a19df40e673ea0a6d03b9bec/Source/WebCore/platform/audio/AudioUtilities.cpp#L80):
Alternatives
No response
Additional context
No response