Show HN: GlassBox – what the browser reveals, and how identifiable you are (glassbox.codecanary.org)

122 points by tke248 a day ago

dd8601fn a day ago

This doesn’t seem right. 1 in 6.2 billion for Firefox on an iphone, not including ip/network uniqueness?

Seems more plausible that anti-fingerprinting is throwing it off?

mattkrause a day ago

Some of the data seems straight-up wrong.

I know this computer has more RAM than reported and it's definitely not on a 4G network either.

daveoc64 a day ago

The APIs it's relying on to show you that information do implement some anti-fingerprinting mechanisms - things like available memory will be put into rough buckets rather than returning the exact amount you have.

DeluluDon 21 hours ago

It got facebook pixel wrong. I see zero DNS requests to facebook.com on NextDNS

tke248 19 hours ago

dullcrisp 15 hours ago

Also 1 in 6.2 billion for Safari on an iPhone. Also the explanation on the bottom is very small and AI generated.

randomblock1 a day ago

Yeah seems like it doesn't account for anti-fingerprinting at all.

gregsadetsky 21 hours ago

queenkjuul 5 hours ago

This is better than the OP in practically every conceivable way

thenthenthen 14 hours ago

“ Your browser fingerprint appears to be unique among the 311,902 tested in the past 45 days.” yet every cloudflare protected website blocks me, random human checks and also my bank and government is blocked. Mmmmm grain of salt?

zamadatix 13 hours ago

I think you have it backwards - Cloudflare et al would want to allow the typical user and block the oddballs.

That said, it's a further misunderstanding with utilizing such tools in general. Unique is neither good nor bad on its own. The next question is "always the same unique because that's all you share or always unique because certain fingerprintable attributes are randomized over time/visits/sessions". I.e. it's a war between trying to fake an average enough fingerprint and trying to track someone through partial matches, not just a matter of "is the fingerprint unique".

ranger_danger 18 hours ago

My understanding is that this tool only compares how identifiable you are compared to the other people who have previously visited the site.

RandomBK a day ago

It's worth noting that you need both uniqueness and some form of stability. If you consistently show up as a diffent fingerprint every time you visit or for every different site, then that is a form of privacy as well.

jszymborski a day ago

I just downloaded a fresh install of LibreWolf to test this and it did indeed have a stable UUID for me at 1/62E6. Better than the 1/680E6 from regular Firefox, but still upsetting. Fonts and Audio fingerprinting seems to be where a lot of the entropy is coming from... Even after I enabled some of the flags to resist font enumeration it still is stable and high entropy. I'm not sure what to do to be honest about this, it is very discouraging.

bobbiechen a day ago

Shocking, this site assigned me a UUID and I found it listed here! https://everyuuid.com/

saaaaaam 21 hours ago

Pretty sure someone else also promoted Claude to make something like this and posted it a few weeks back.

Retr0id 21 hours ago

Recently discussed prompts:

https://news.ycombinator.com/item?id=48727059 [flagged] What any website can see about you

https://news.ycombinator.com/item?id=48062178 A web page that shows you everything the browser told it without asking

https://news.ycombinator.com/item?id=49182352 Show HN: Modern Browsers Don't Need the Cookie Anymore

https://news.ycombinator.com/item?id=46517654 [flagged] Show HN: DevicePrint – device fingerprinting without cookies

https://news.ycombinator.com/item?id=46037031 Show HN: Explore what the browser exposes about you

https://news.ycombinator.com/item?id=45169286 Browser Fingerprint Detector

https://news.ycombinator.com/item?id=49359153 A live browser fingerprinting and bot detection playground

https://news.ycombinator.com/item?id=46674460 Show HN: Anti-Detect.com – Browser Fingerprint Scanner

There are definitely more! Could this be HN's favourite prompt?

saaaaaam 21 hours ago

Haha! Well done for putting in the effort to find those. I was sure I’d seen it more than once but didn’t want to overrreach!

Retr0id 20 hours ago

strbean a day ago

Cool tool, but the language is painfully characteristic of AI. Maybe we are collectively getting over caring about that, but if not, it's worth a pass of "make this sound a little less like AI."

E.g., the guide page ends with

> The honest bottom line. Perfect anonymity [...]

MeetingsBrowser 20 hours ago

Not just the language. Its like all LLM front end design is working off one of three templates.

tom_ 14 hours ago

I was >60% sure it would be AI given the combination of calendar year and the wording "what the browser reveals" that I saw on the HN front page - and only when I clicked did I realise how wrong I was, because the actual probability is 100%.

(Not to suggest that browser fingerprinting isn't a useful issue to highlight.)

queenkjuul 5 hours ago

It's using all the Claude fonts, it's got the Claude pulsing indicators, it's got the Claude cards, and none of the writing is useful. This has gotta be up there with one of the most Claudey Claude sites I've ever seen

Edit: oh my, even the author's comments in this thread are written by Claude...

ablation 4 hours ago

It's eye-bleedingly Claudeslopped.

saaaaaam 3 hours ago

moonlighter a day ago

* You're absolutely right! ;-)

bravoetch a day ago

It's horrifying to see that our browsers give up anything at all. I feel like we need a new model where we just get served the content, and we don't serve up anything to the content provider. I feel ill.

dylan604 a day ago

How would you prevent that? If you want to use a feature, you need to know if that feature is available. So you add methods/functions to ensure that you can fail gracefully when something is not available. That availability is the fingerprint. I don't blame the browsers as much as asshats using the tool for malicious purposes. We're not going to ban hammers because someone uses them for things other than driving nails.

StilesCrisis 20 hours ago

Another one is "draw text, read back pixels" which is simultaneously a really effective fingerprint, and also cuts to the core of what we want a web browser to do. We can't refuse to draw text.

drsalt 21 hours ago

need to license swe just like real engineers and make them have a responsibility to the public

dylan604 21 hours ago

fooqux a day ago

In the old days, we just sent the content and let the client figure out what to do with it. If you navigated to homestarrunner.com and you didn't have flash installed, you just got a message saying to install it, or worst case, a broken icon in a frame.

We figured it out just fine.

dylan604 21 hours ago

Semaphor 13 hours ago

So it tells me I’m unique and it can track me across different browsers. It also tells me that in a different browser with a different fingerprint. Even private browsing shows more unique fingerprints that are completely different. I don’t think this site is very useful except looking at fancy data.

cgio 18 hours ago

The solution for me is not to be more common. The solution is to create a very unique profile each and every time.

Obscurity4340 15 hours ago

There should be a browser that lies to websites instead of caving

dylan604 a day ago

If your ISP issues an IPv6 address, isn't that pretty much game over for anonymity/uniqueness?

keito 21 hours ago

Not usually, if you're comparing it to IPv4. Many ISPs give each customer a persistent IPv4 address that doesn't tend to change over time. Because most people use NAT (internal IP address != external IP address), a server you connect to can't identify the specific computer or device.

With IPv6, it's true that in many cases servers will see you as connecting from the specific IPv6 address of your computer/device. However, IPv6 addresses contain many parts, like:

  2001:db8:1234:5600 : abcd:1234:5678:9abc
where the left part is basically the equivalent of the unchanging IPv4 address you got from the ISP, and the right part identifies your specific device. But in most OSes the right part is randomly generated and changes on some cadence (e.g. daily).

So in many cases, the ability for a server to individually fingerprint your device solely based on the IP address is roughly equivalent between IPv4 and IPv6. (This isn't the case if the ISP does CGNAT on IPv4, where you're sharing your IPv4 address with many customers - this would be similar in magnitude to a VPN in terms of the ability for a server to fingerprint you based on IP.)

gruez 15 hours ago

>But in most OSes the right part is randomly generated and changes on some cadence (e.g. daily).

>So in many cases, the ability for a server to individually fingerprint your device solely based on the IP address is roughly equivalent between IPv4 and IPv6.

That still makes ipv6 strictly worse, if you consider that a device is always uniquely identifiable at any given time, whereas with ipv4 NAT they can't be individually identified.

tke248 21 hours ago

A VPN or Tor swaps it out entirely, which your browser fingerprint survives. It is a strong identifier, not a permanent one.

marysol5 3 hours ago

anishvarghese a day ago

Fascinating visualization , as someone building productivity extensions, it is always sobering to see exactly how much surface area the browser exposes.

water-drummer 19 hours ago

Lying AI slop. Says I am unique among 7.2B devices and shows me a different fingerprint every time.

Idk how this vibe coded slopware made it to the front page of HN

tke248 19 hours ago

If it changes every load, that's your browser farbling canvas/audio per-read (Brave or Firefox), which means the anti-fingerprinting is working. We missed crediting that in v1, so it should read lower now if you reload.

autoexec 17 hours ago

I don't have JS enabled and it looks like they don't know anything about me at all.

ZihengQin 21 hours ago

Interesting work! Would randomnize the least frequent used fonts, apis and settings be an way to anti-fingerprinting?

tke248 21 hours ago

Fun fact: some malware won't execute if it sees a Russian/Ukrainian keyboard layout, because the authors avoid hitting victims in their own jurisdiction.

f311a 21 hours ago

This does not account for anti fingerprinting. Also, are there any new tricks that are not in fingerprintjs?

geoffbp 14 hours ago

Off topic: I like the presentation of this site!

sajithdilshan 18 hours ago

> 1 in 7.6 billion browsers share this profile

I always knew I was so unique

autoexec 17 hours ago

unique is ideal, as long as you're differently unique to each site you visit

janfoeh a day ago

The "Hardware & Environment" part which supposedly links me across different browsers doesn't work — it differs between Safari, Firefox and Chromium.

In a private Safari window, it's not even stable across reloads.

queenkjuul 5 hours ago

Well I'll following basically every step of the provided guide (more or less bog standard Firefox on a Pixel with strict tracking protection) and then it says 91℅ identifiable. A lot of the information towards the bottom doesn't make sense and the Claude slop fails to clarify it. I wish this actually made it clear what it is here that's uniquely identifying, because surely every other pixel is reporting the same screen and gpu and whatnot.

tke248 a day ago

I built this after a thread here about Alibaba using an audio-context trick to fingerprint visitors. I knew a fair number of fingerprinting methods but not that one, and I wanted to see all of them in one place, running against my own browser.

GlassBox runs ~31 probes (canvas, WebGL/WebGPU, audio, fonts, the WASM feature set, math/engine quirks, WebRTC IP, timezone/locale, the permission and API matrices, an incognito heuristic, cross-site login-state, and so on) and shows the raw values plus an estimate of how identifiable you are.

A few deliberate choices:

- One static HTML file, no dependencies, no build step. Everything runs client-side and nothing is sent, with one opt-out exception: IP geolocation, which calls a public API. I didn't want a privacy tool that phones home.

- The "identifiability" number is an honest model, not a measurement. It sums published per-signal entropy (Panopticlick / AmIUnique / Cover Your Tracks), discounts signals your browser masks, and caps at the ~33 bits needed to single out one person on Earth. A no-server tool can't compute true rarity against a live population, so I label it an estimate instead of pretending. For real population numbers, Cover Your Tracks and AmIUnique have the datasets.

- There's a companion guide on lowering your fingerprint, with the caveat that uniqueness isn't privacy: blending into a big crowd (Tor at its default size) beats a bespoke hardened setup that makes you the only one who looks like that.

Source (MIT): https://github.com/HotStartLabs/glassbox

I'd genuinely like to know which vectors I'm missing, especially from the anti-fraud / detection side.

antonvs 15 hours ago

You even used an LLM to write your comment.

If you’re ESL, that’s not an excuse. You can write something in your own language and use a translator or even an LLM to translate it.

But using an LLM to write is delegating your cognition to a machine. At that point, you’re acknowledging that your own cognition has no value, so why are you trying to inflict a faked version of it on the rest of us?