Browser Fingerprint Audit

    Run a local browser fingerprint demo that checks visible browser, screen, hardware, canvas, and audio signals in your browser.

    Uniqueness Score

    This score represents how unique your browser looks compared to other users. A higher score means you are easier to track.

    System Information
    User Agent:
    Platform:
    Language:
    Hardware & Screen
    Screen Resolution:
    Color Depth:
    CPU Cores:
    Analysis is performed locally in your browser.
    Analyzing browser environment...

    About this Browser Fingerprint Audit

    The Browser Fingerprint Audit is a browser-side diagnostic demo that shows how some common device and browser signals can be combined into a fingerprint-style result. Click the initial button to start the audit, and the page performs its analysis locally in your browser using JavaScript. The active implementation is the browserFingerprint() function in the tool view, with no separate backend audit class found beyond tool settings.

    Signals checked

    After you start the audit, the page waits for about 1800 milliseconds while it collects and calculates results. It reads basic system details such as your user agent, platform, language, timezone, Do Not Track value, cookie support, screen resolution, color depth, and hardware concurrency when the browser exposes those values. It also creates a canvas, draws text and shapes, converts the canvas output into data, and hashes that canvas data with SHA-256 through the Web Crypto API. The tool then tries to create an AudioContext and hashes the audio sample rate plus context state when available.

    Visible results

    The visible result cards currently focus on the Uniqueness Score, System info, and Hardware info. System info displays the user agent, platform, and language. Hardware info displays screen resolution, color depth, and hardware concurrency. The internal results object also includes timezone, Do Not Track and cookie support, canvas hash, and audio hash, but those extra fields are not all shown in the current visible cards.

    How to read the score

    Read the Uniqueness Score as a rough demo indicator, not as a statistically measured uniqueness percentage. The scoring function starts at 20, adds 10 for a mobile user agent, adds 15 when screen width is greater than 1920 pixels, adds 20 when Do Not Track is not 1, then adds a random value from 0 to 19 before capping the result at 100. Because of that random component, the score can vary between runs on the same browser. It is not comparing your browser against a measured population, database, or remote fingerprinting service.

    Limits to know

    This page can be useful for learning what fingerprinting-related signals may be visible to client-side code, but it should not be treated as a full privacy audit. No font enumeration, remote API call, server upload, persistent fingerprint history, or population comparison was found in the verified implementation. Browser settings, extensions, private browsing modes, operating system updates, display changes, and permission behavior may all affect what JavaScript can observe. For sensitive privacy decisions, pair this demo with your browser's privacy documentation, extension documentation, and independent testing tools that clearly explain their collection methods and limitations.