MaskWright
All notes

Browser fingerprinting

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

A proxy map on a Windows operator desk

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.

What device fingerprinting includes beyond the browser 1

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.

WebRTC candidate paths on a Windows desk

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.

What a DNS leak is 1

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.

"WebRTC modes: disabled, proxy, public, real" 1

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.

WebRTC candidate paths on a Windows desk

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.

WebGPU as a new fingerprint surface 1

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.

WebGL vendor and renderer strings 1

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.

Why a user agent string is not a fingerprint 1

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.

A clock next to a proxy map on a Windows desk

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.

A launch checklist on a Windows operator desk

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.

Seeded fingerprints versus a new random draw 1

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.

Screen metrics that have to stay coherent 1

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.

A grid of browser diagnostic panels on a Windows desk

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.

Cookie stores on a Windows operator desk

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.

A headed Chromium window on a Windows automation desk

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.

A mobile user agent on a desktop profile 1

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.

A Windows tower on an operator desk

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.

A MAC address is not a browser fingerprint 1

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.

IPhey scores are not verdicts 1

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.

A Chromium core on a Windows operator desk

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.

Browser diagnostic panels on a Windows operator desk

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.

A grid of browser diagnostic panels on a Windows desk

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.

Hardware concurrency has to match the rest of the box 1

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.

A clock next to a proxy map on a Windows desk

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.

Font enumeration leaks on Windows 1

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.

A grid of browser diagnostic panels on a Windows desk

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.

A fingerprint that stays put across launches 1

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.

Fingerprint spoofing versus tracking prevention 1

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.

Digital footprint versus browser fingerprint 1

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.

What CreepJS consistency checks are telling you 1

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.

Fingerprints that follow you across browsers 1

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.

Client rects and subpixel fingerprints 1

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.

Client Hints and userAgentData 1

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.

Canvas noise on a Windows workstation

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.

Browser diagnostic panels on a Windows operator desk

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.

AudioContext fingerprints and why noise is seeded 1

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.

Battery status and media device IDs 1

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.

What replaces third-party cookies for tracking 1

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.

A grid of browser diagnostic panels on a Windows desk

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.