Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expand the section on randomness and update it. #76

Open
wants to merge 1 commit into
base: gh-pages
Choose a base branch
from

Conversation

tomrittervg
Copy link

I don't have a high opinion of randomness. I give a lot of props to Brave for really bringing the technique forward, and Tor Browser pretty shameless copied the idea implementing a simpler version because of its unique situation. (Although this bug is on the Mozilla bugtracker, it was implemented by Tor Browser volunteers and not on Mozilla time, as well as not being used in any supported Firefox mode.)

Eventually, Firefox copied Brave more closely and implemented the 'randomize a few pixels' technique. It's not been great - Tor Browser, Brave, and we have gotten lots of confused bug reports about this weird behavior, we've had performance issues (randomizing Google maps on an older computer), we've had gaps in our implementation (e.g. Service Workers weren't randomizing), we've experienced straight website breakage (if Google Meet didn't get a specific value from a canvas, it completely blocked you), and we know that FingerprintJS detects the randomness and ignores it when its present.

It's kind of useful against naive fingerprinters I suppose, but it's been 5+ years since it came on the scene and I think most fingerprinters are either not naive anymore, or are well aware of it and for whatever reason haven't bothered to (visibly) do anything about it.

I know Brave randomizes a few things; we have focused mostly on canvas. My more recent focus has been simply making canvas deterministic. Software rendering, adjusting OS settings if necessary to collapse different rendering buckets, etc. I don't have concrete results to show yet, but regardless if whether that endeavor is fruitful my opinion has soured on randomness. As salt in the wound, if you use randomness, any user who decides to test two browsers side by side comes away thinking "Wow if I use X I'm unique, but if I use Y, I'm not!"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant