What it is
navigator.deviceMemory tells a page roughly how much RAM the device has, so heavy apps can adapt. To limit fingerprinting, Chromium rounds it to a power of two and caps it — the API only ever returns a handful of values. Firefox and Safari do not implement it.
How websites read it
navigator.deviceMemory // 8 (0.25 · 0.5 · 1 · 2 · 4 · 8 …)
Sec-CH-Device-Memory: 8 // the same value, as a Client Hint headerThe same value is available as the Sec-CH-Device-Memory header once a server opts in with Accept-CH, so the JavaScript copy and the header copy can be compared.
Why it identifies you
Entropy is tiny by design. Its value to a risk engine is the opposite: because the legal set is so small, any other number proves the property was written by hand rather than measured.
How risk-control systems use it
The check is a set membership test. Values like 3, 6, 12 or 128 do not come out of a browser. A value that differs between the header and the script, or that is present on a browser whose engine never reports it, is equally conclusive.
Common mistakes
Copying the machine’s real RAM size (64) instead of what the browser would round it to; exposing deviceMemory in a Firefox profile; different values in the JavaScript property and the Client Hint.
Mango is accepting waitlist registrations. These capabilities describe its first release; client access opens with invitations.
How Mango Browser handles it
CustomMango’s Chromium profiles configure device memory using values exposed by that engine. Firefox does not expose navigator.deviceMemory; an unavailable value is expected there and is not itself a mismatch.
Check yours
Jump to this signal in your scan results.