What it is
The browser announces the languages you prefer three times: as the Accept-Language header on every request, as navigator.language / navigator.languages to scripts, and implicitly through the locale Intl uses to format dates and numbers.
How websites read it
navigator.language // "zh-CN"
navigator.languages // ["zh-CN", "zh", "en"]
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Intl.DateTimeFormat().resolvedOptions().locale // "zh-CN"The header is ordered by preference with quality weights; navigator.languages carries the same list; Intl.DateTimeFormat().resolvedOptions().locale reveals the default locale the engine actually picked.
Why it identifies you
A language list is a small but personal thing — the exact set and order (zh-CN, zh, en-US, en) narrows a visitor down surprisingly well, and it stays constant across sites and sessions.
How risk-control systems use it
First the three copies are compared with each other: a header that says one thing and a navigator that says another only happens in modified browsers. Then the list is compared with the IP: a Vietnamese-only browser on a German residential IP is not impossible, but it costs points.
Common mistakes
Changing navigator.language with an extension while the Accept-Language header still carries the real list; setting the timezone for the proxy country but keeping the language of the host machine; a language list nobody in the claimed country would have.
Mango is accepting waitlist registrations. These capabilities describe its first release; client access opens with invitations.
How Mango Browser handles it
CustomFollows the exit IP by default (e.g. en-SG for a Singapore proxy) or a fixed list; header, navigator and Intl are set together.
Check yours
Jump to this signal in your scan results.