Reported signals, explained

Browser Environment Detector

Inspect what this browser reports about its identity hints, display, input capabilities, storage exposure, and preferences—without pretending those signals prove a browser or device.

Privacy boundary: the inspector runs locally and does not fetch, upload, fingerprint, save, or attach these values to analytics. Loading a web page still sends an ordinary request and headers to its host; the surrounding site may use site-wide analytics, but this report is never added to it.

Inspect this environment

Inspect refreshes ordinary browser-reported values. Additional UA details use a separate explicit request because combining them can increase fingerprinting surface.

Inspect first to check whether optional UA Client Hints are available.

Snapshot summary

Confidence describes the source of a browser-family hint, not whether it is truthful.

The local snapshot will appear here when JavaScript runs.

Reported signals

“Unavailable” may mean unsupported, restricted, reduced, or inaccessible in this context. It does not prove the underlying capability is absent.

Local JSON report

This bounded report contains the visible snapshot only. Review it before sharing because combinations of environment values can still be identifying.

How to interpret browser detection

Browser properties are self-reported compatibility signals. Privacy modes, extensions, automation, enterprise settings, remote sessions, and deliberate spoofing can change them. Use this report for troubleshooting and progressive enhancement, not authentication, fraud decisions, access control, or claims about a physical device.

Browser family and User-Agent Client Hints

The summary prefers a non-generic low-entropy UA Client Hint brand when available and labels it medium confidence. A fallback family extracted from legacy User-Agent markers is low confidence. Brands, versions, platform names, and mobile flags can be reduced or forged. The optional button calls getHighEntropyValues() only after activation and preserves the current report if the request fails.

Capabilities beat names

When building a site, test the API or CSS behavior you need rather than routing by a browser name. API exposure does not guarantee permission or success, so production code must still handle rejection. This detector does not call permissions.query(), write a cookie, inspect stored data, estimate storage, or test network reachability.

Screen, pointer, and preference caveats

Screen and viewport values use browser-reported CSS pixels and can change with resizing, zoom, displays, or privacy reduction. Pointer, hover, color, contrast, forced-color, and motion values are media-query matches at snapshot time; hybrid devices can expose more than one input mode, and preferences may later change.

Online, cookies, storage, and privacy

navigator.onLine is a heuristic, not a successful connection test. cookieEnabled does not prove a particular cookie would be accepted. Storage rows report only whether API names are exposed, not whether quota, policy, privacy mode, or user permission allows use. No detected value leaves the inspector unless you intentionally copy or download it.

Standards references: User-Agent Client Hints, HTML Navigator, and Permissions.