Browser Detective — what your browser reveals about you

Browser Detective is a static Next.js application that reads every browser and device signal a web page can access, displays them as 34 labelled cards, and explains in plain language what each one reveals and how to reduce it. Nothing leaves the device: there is no backend, no analytics, and no request carrying the collected data.

Next.jsTypeScriptTailwind CSSWeb APIsWebGLCanvas Fingerprinting

What the tool measures

The dashboard groups the collected signals into eight rows, so related values sit together rather than arriving as one flat list. Each card carries a plain-English explanation and a mitigation tip.

  • System: operating system, browser and version, platform, form factor
  • Hardware: CPU core count, reported device memory, GPU renderer string, battery level and charging state
  • GPU limits: maximum texture size, maximum viewport dimensions, shader precision, anti-aliasing support
  • Display: resolution, orientation, colour depth, colour gamut (sRGB, P3 or Rec.2020), HDR support, inverted-colour preference
  • Input and preferences: touch point count, pointer type and hover capability, dark mode, reduced-motion preference
  • Network and location: connection effective type and downlink estimate, WebRTC availability, public IP, ISP, approximate location, timezone, accepted languages
  • Privacy flags: cookie availability, Do Not Track, WebDriver detection, and a count of which browser APIs are present
  • Fingerprints: a canvas fingerprint hash and a combined hash derived from several signals together

Why individual signals matter less than the combination

Almost every value on its own is shared by millions of users. Screen resolution alone is close to useless for identifying a person, and so is a timezone. The problem is that fingerprinting does not need any single unique value — it needs enough low-entropy values that their combination narrows the population to one.

That is why the tool computes a combined hash from the renderer string, screen dimensions, platform, timezone, language, core count and memory, and reports how many distinct values each contributes. The canvas fingerprint is included separately because it is one of the few signals that is close to identifying on its own, since it depends on the exact graphics driver, font rasteriser and rasterisation path in use.

The practical consequence is that blocking one signal rarely helps. Reducing the number of distinguishable values across several categories does, which is why the tool reports a coverage score rather than a single yes-or-no verdict.

Engineering decisions

Static export was chosen deliberately. A tool whose entire argument is "your data stays on your device" cannot ship a server that receives the data, so the site builds to plain HTML and JavaScript and can be served from any static host. Running it offline produces identical results.

Every browser API is feature-detected before use, because most of these interfaces are not uniformly available: the Battery Status API is absent in Firefox and Safari, device memory is Chromium-only, and colour gamut detection needs canvas support. Where an API is missing the card reports that honestly instead of showing a zero, which would be indistinguishable from a real reading of zero.

Hydration is handled with useSyncExternalStore and explicit server snapshots. Browser-dependent values cannot be rendered on the server, so each reactive store supplies a server value and the dashboard renders a loading state until the client store has real data. This avoids the mismatches that ordinarily come with rendering device information.

Relevance to privacy research

The signals used here overlap substantially with published browser-fingerprinting research. The tool is an inspection utility rather than a research instrument — it does not attempt to measure entropy across a population — but it makes the raw inputs visible, which is the part that is normally hidden from the person being measured.

At a glance

  • System & Hardware Detection
  • Network & Geolocation
  • Canvas Fingerprinting
  • Privacy-Focused Design