Browser fingerprinting
The surfaces a site can read on a real Windows box, and how those surfaces have to agree.

2026-08-12 · Avery Chen · Browser fingerprinting
Why a VPN alone fails fingerprint tests
A VPN changes the exit. It does not rewrite canvas, fonts, or WebGL. See why a VPN-only setup still looks like the same Windows browser. Authorized work only.

2026-08-10 · Avery Chen · Browser fingerprinting
What device fingerprinting includes beyond the browser
Device fingerprinting reaches past the browser tab. Learn which hardware, network, and install signals sit outside a Chromium profile on Windows.

2026-08-06 · Avery Chen · Browser fingerprinting
What an IP leak is
An IP leak is any path that shows a different address than the exit you picked. Keep WebRTC and DNS on their own pages. This one defines the leak itself.

2026-08-04 · Avery Chen · Browser fingerprinting
What a DNS leak is
A DNS leak is a resolver that ignores the path you think you chose. This definition stays on the leak. Windows resolver detail lives on the proxies sibling.

2026-07-31 · Avery Chen · Browser fingerprinting
"WebRTC modes: disabled, proxy, public, real"
Disabled, proxy, public, and real are different WebRTC policies. Learn what each mode does to candidates so you can pick a policy, not a trophy setting.

2026-07-29 · Avery Chen · Browser fingerprinting
What a WebRTC leak actually is
A WebRTC leak is a STUN path to local and public candidates. This page defines the leak, then points to mode tradeoffs on the sibling note, not a hide-the-IP.

2026-07-25 · Avery Chen · Browser fingerprinting
WebGPU as a new fingerprint surface
WebGPU adds adapter info that older fingerprint lists skip. See what navigator.gpu can expose on Windows and why it belongs in a modern surface inventory.

2026-07-22 · Avery Chen · Browser fingerprinting
WebGL vendor and renderer strings
WebGL vendor and renderer strings have to agree with the rest of the box. Keep this surface separate from canvas, and treat mismatch as a coherence problem.

2026-07-20 · Avery Chen · Browser fingerprinting
Why a user agent string is not a fingerprint
A user agent string is one field, not a profile. See why spoofing UA alone fails, and read Client Hints on the sibling page instead of stuffing both jobs here.

2026-07-16 · Avery Chen · Browser fingerprinting
Timezone and language have to follow the exit
Timezone, language, and locale have to follow the exit geo. This is an alignment note for a local profile, not a ban-evasion checklist. Authorized work only.

2026-07-14 · Avery Chen · Browser fingerprinting
Testing a fingerprint before work
Test the room before you open work. This is an operational checklist for leaks, geo, and coherence, not a recipe for passing a public fingerprint lab.

2026-07-10 · Avery Chen · Browser fingerprinting
Seeded fingerprints versus a new random draw
A stable seed is a repeated identity. A new random draw is a new person. This page explains the difference so you do not treat lab randomization as hygiene.

2026-07-08 · Avery Chen · Browser fingerprinting
Screen metrics that have to stay coherent
Avail size, color depth, and pixel ratio have to stay in one story. This page is about screen coherence on Windows, not a list of popular resolutions to fake.

2026-07-05 · Avery Chen · Browser fingerprinting
Pixelscan consistency is not a verdict
Pixelscan can flag mismatches. It cannot certify a person. Read the consistency view, then stop. We will not walk you to a green Pixelscan badge.

2026-07-02 · Avery Chen · Browser fingerprinting
A new fingerprint in the same folder
A new paint in the same Chromium folder still sits on old jars. Learn what a new fingerprint does not wipe, so leftover cookies do not inherit the new face.

2026-06-29 · Avery Chen · Browser fingerprinting
navigator.webdriver and automation flags
navigator.webdriver and related flags tell a site the session was driven. See what the product sets, and why a stealth plugin is not the same as a profile.

2026-06-25 · Avery Chen · Browser fingerprinting
A mobile user agent on a desktop profile
MaskWright is a desktop product. A phone UA on a Windows host fails basic coherence. Learn why that costume is visible before you try it. Authorized work only.

2026-06-23 · Avery Chen · Browser fingerprinting
A macOS fingerprint on a Windows host
OS-family mismatch is a loud tell. This note covers a macOS story on a Windows host, and why most buyer guides never write that gap down. Authorized work only.

2026-06-20 · Avery Chen · Browser fingerprinting
A MAC address is not a browser fingerprint
A MAC address is a network identifier, not a canvas hash. Product does not hide MACs. This page stops a 2021 myth from driving the wrong expectation.

2026-06-17 · Avery Chen · Browser fingerprinting
IPhey scores are not verdicts
An IPhey trust score is a vendor opinion, not a court. This note explains what the number reacts to, and why chasing it is the wrong job for a local profile.

2026-06-17 · Avery Chen · Browser fingerprinting
JA3 and JA4 are not JavaScript spoofs
JA3 and JA4 describe TLS client hello behavior. You do not spoof them in page script. This note covers compile-time BoringSSL, not a JavaScript costume.

2026-06-15 · Avery Chen · Browser fingerprinting
How we read BrowserLeaks
BrowserLeaks is a map of surfaces, not a pass/fail exam. This page shows how we read the panels on Windows, without turning the site into a trophy hunt.

2026-06-11 · Avery Chen · Browser fingerprinting
GPU renderer has to match the user agent
A mobile GPU string on a desktop UA is a tell. This page is about renderer and user-agent coherence, not a catalog of every fingerprint surface.

2026-06-11 · Avery Chen · Browser fingerprinting
Hardware concurrency has to match the rest of the box
hardwareConcurrency has to agree with GPU and deviceMemory. Learn why a laptop core count on a desktop GPU story is a coherence tell, not a flex.

2026-06-08 · Avery Chen · Browser fingerprinting
Geolocation API versus the exit IP
The Geolocation API and the exit IP are different stories. This page explains how they drift, and why a local profile should align both to the same exit.

2026-06-06 · Avery Chen · Browser fingerprinting
Font enumeration leaks on Windows
Windows font lists leak through DirectWrite and enumeration APIs. Learn why an allowlist matters on a real box, and why a random font set looks false.

2026-06-05 · Avery Chen · Browser fingerprinting
Fingerprint surfaces we actually cover
This is the inventory we implement, not a 2022 listicle. Read which surfaces a local MaskWright profile actually handles on Windows. Local Windows notes only.

2026-06-03 · Avery Chen · Browser fingerprinting
A fingerprint that stays put across launches
Stability means the same folder and the same seed after you quit. Learn what has to persist across launches if the room is meant to be the same person.

2026-06-02 · Avery Chen · Browser fingerprinting
Fingerprint spoofing versus tracking prevention
Spoofing paints a story. Tracking prevention reduces signal. Those are different jobs. This note separates them so a privacy mode is not sold as a profile.

2026-05-31 · Avery Chen · Browser fingerprinting
Digital footprint versus browser fingerprint
Accounts and cookie history are not canvas. This page keeps digital footprint apart from browser fingerprint so the two jobs stop sharing one sloppy label.

2026-05-28 · Avery Chen · Browser fingerprinting
What CreepJS consistency checks are telling you
CreepJS is useful for consistency, not as a scoreboard. Here is how I read the checks, and why I will not write a pass-CreepJS guide.

2026-05-28 · Avery Chen · Browser fingerprinting
Fingerprints that follow you across browsers
Some signals survive a browser swap on the same box. Learn what cross-browser fingerprinting can still join, and what a second engine does not hide.

2026-05-26 · Avery Chen · Browser fingerprinting
Client rects and subpixel fingerprints
getBoundingClientRect and subpixel layout leak a stable geometry. This page explains the surface and why MaskWright adds stable noise instead of a new random.

2026-05-25 · Avery Chen · Browser fingerprinting
Client Hints and userAgentData
Client Hints and userAgentData have to match the UA you claim. This note covers the high-entropy fields sites read after the classic user agent string.

2026-05-23 · Avery Chen · Browser fingerprinting
Canvas fingerprinting on a real Windows box
Canvas output is a stable tell on real Windows ClearType. This page explains the surface and seeded noise, not a walkthrough to a green lab badge.

2026-05-22 · Avery Chen · Browser fingerprinting
How to read a BrowserScan audit
BrowserScan is an audit log, not a game. Learn how to read the rows on a Windows profile, and why we refuse a pass-every-test framing. Local Windows notes only.

2026-05-21 · Avery Chen · Browser fingerprinting
AudioContext fingerprints and why noise is seeded
AudioContext fingerprints come from how the box renders audio. This note covers why noise is seeded for stability, not randomized for a lab screenshot.

2026-05-21 · Avery Chen · Browser fingerprinting
Battery status and media device IDs
Battery status and media device IDs are easy to forget and easy to leak. See what the product implements, and why a laptop battery on a desktop story fails.

2026-05-20 · Avery Chen · Browser fingerprinting
What replaces third-party cookies for tracking
Third-party cookies are fading. Topics, CHIPS, and first-party sets are not a fingerprint. This adjacent note keeps the tracking shift separate from canvas.

2026-05-16 · Avery Chen · Browser fingerprinting
What browser fingerprinting actually measures
Sites can recognize a Windows browser without a cookie. This note explains the surfaces they read, what stays stable, and what a score does not prove.