Tor's approach to countering fingerprinting is to make as many users "appear the same" as possible. Let us call this "generalization". While Brave tries to randomize all fingerprints of each and every user in a unique way (for each new opened session).

A short quote from Brave to get the context:

"We're adding subtle, non-human perceivable noise to the JS readable outputs of the audio, canvas and WebGL APIs. The randomized end points give you unlinkability across sessions for (for any fingerprinter who consumes a randomized endpoint)"

Which of those two approaches (randomize vs generalize fingerprints) is technically more effective in making it more difficult to track/pinpoint that a user across weeks of different browsing sessions is the same user?

This is about technical facts not opinions. I am not a expert, but I assume that this is a clear technical question and experts should be able to tell the difference of both approaches' impact on user identification.

  • I'm not sure the reason for the two methods is about effectiveness, but about implementation details and dealing with supplemental effects.
    – schroeder
    May 23, 2020 at 14:59
  • I am not an expert. Please advice how if needed it should be rephrased. I just like to know the basic differences and impact on the end goal of preventing user tracking. Experts who have tested and worked with both techniques should be able to weigh in. May 23, 2020 at 15:09
  • I don't think anything needs to be rephrased, I'm just saying that you might be looking for a difference when there is none with regards to what you are looking for.
    – schroeder
    May 23, 2020 at 15:25

1 Answer 1


You are comparing apples with oranges.

Tor makes standard only those parameters that can be the same without any disadvantages to the user. For instance, window size or agent string. But some parameters like result of drawing something on canvas cannot be done standard. If you draw things in the same way everywhere, the web page can look unreadable.

What Brave and many FireFox and Chrome extensions do, is adding some noise to such data like drawing on canvas. As long as changes remain small and not perceivable, users don't complain about the negative effects of such noise. But this is also a limitation of such protection method. Because making sure the noise is not perceivable means that some statistical parameters must remain in a limited range. This means that despite some information provided by canvas is lost, it remains still not null and can still be used to compute a fingerprint.

What of these methods is more effective depends on particular fingerprinting algorithm. If algorithm uses canvas fingerprint blindly, believing it gets say 15 bits, then actually we should subtract these bits because they will be different each time. Thus Brave approach would be more effective.

But if some site uses another fingerprinting, calculates some statistical values (some average values, deviations, etc.), then in general it gets less bits of information, let say 5 bits instead of 15. But it remains resistant to small noise added. Thus this fingerprint will be the same for Brave and for Tor, where as Tor has some other parameters standardized. In such case Tor will be more effective.

There is no simple answer.


We should consider also the other side: the web site that computes your fingerprint. The meaning of effective depends a lot depends on many factors:

  • ... on the purpose of fingerprinting: may be the web site doesn't have any interest in particular persons, but just wants to have to measure some metrics about its users; as long as they get statistics with acceptable precision, they will not invest much budget into development of very complex fingerprinting. Other web sites for their needs will develop more complex algorithms so that both Tor and Brave are fingerprintable
  • ... on the skills of developers designing and implementing fingerprinting for particular web site: in one case Tor and Brave can both be effective, in other case the countermeasures of the both can be insufficient
  • ... on the budget available: if a web site can afford sufficient budget for research, for design of complex algorithm, for its implementation in a good quality, for its maintenance, then both Tor and Brave can be too weak to prevent precise fingerprinting

And this is of course an arms race: after one side found a countermeasure, the other will work to make it ineffective.

In general, I think fingerprinting is in the most cases unavoidable as long as the code you download from web sites is allowed to communicate with these web sites.

That's why I find it very naive, that there is a legal requirements in the last years to inform users about cookies used. Fingerprinting requires more resources to keep data and to correlate across different web sites, but it does its job. One can delete cookies in the browser or user ad blocker. But preventing unique fingerprints is much more complex.

  • "depends on particular fingerprinting algorithm" @mentallurg thx. Do you mean by that the algorithm used by the Browser or by the respective Website? - If you mean the website - can you make a rough technical assessment with your knowledge: Can the algorithm adapt "easier" to the Tor or to the Brave approach? May 24, 2020 at 11:46
  • @threeeMiaNichole: I mean the web sites that develop fingerprinting algorithms. I have updated my answer. I don't understand what you mean by adapt. We talk about adapting when there are changes to which something needs be adapted. But neither Tor nor Brave changes often from this perspective. That's why the web sites that are aware of Tor and Brave are already adapted to these browsers since long time.
    – mentallurg
    May 24, 2020 at 13:41
  • thx @mentallurg, now i Understand better your updated answer. And what is your technical knowledge saying about: What combinations of methods would prevent in the best possible way user tracking by fingerprinting? Or is your technical judgement that there is simply nothing more to be done than what Tor/Brave already doing May 25, 2020 at 13:56
  • @threeeMiaNichole: As I said, it is kind of arms race. The next step on the browser side could be removing agent text completely (currently only extensions allow that) - when many browsers do that, it will reduce this information from 7-8 bits to 1-2 bits, or prohibit access to the information about plugins (1 bit), platform (Windows, Linux, ... - 3 bits), info about about fonts (10 bits), information about WebGL vendor and renderer (10-12 bits).
    – mentallurg
    May 25, 2020 at 17:16
  • @threeeMiaNichole: If you find the answer helpful, you can vote it up.
    – mentallurg
    May 25, 2020 at 17:17

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .