Browser Profiles and Fingerprint Settings Accounts · Q&A

Why Do CPU and Memory Values Differ?

Learn why websites may report CPU core and memory values that differ from the physical device, and how to verify MaskPilot profile settings safely.

Updated Sep 24, 2026

A website can report a CPU core count or memory value that does not match the physical device’s specification. The page is reading browser APIs, not the operating system’s hardware inventory. Before changing the profile, separate the API’s built-in reporting limits from the values saved in MaskPilot.

Understand what the browser reports

Websites can read navigator.hardwareConcurrency to learn how many logical processors are available for browser work. This is not necessarily the number of physical CPU cores. A browser can also report a lower value to represent the amount of parallel work it makes available.

Chromium-based browsers may expose navigator.deviceMemory as an approximate number of gigabytes. The value is deliberately rounded to a coarse bucket and limited to an implementation-defined range. It is not intended to reproduce the exact installed RAM shown by the operating system, and the API is unavailable in some browsers or contexts.

For these reasons, a website showing 8 for CPU and 8 GB for memory does not prove that the computer physically contains exactly those values. Compare browser-visible values with the profile configuration, not with Task Manager alone.

Check how the profile chooses hardware values

MaskPilot provides CPU cores and Memory fields in the profile’s fingerprint settings. It also provides Derive a stable hardware tier from the environment identity:

  • When stable derivation is disabled, the saved fixed CPU and memory choices are used for the next launch.
  • When stable derivation is enabled, the fixed selectors are disabled and a common CPU-and-memory combination is derived from the profile’s environment identity.
  • The same profile keeps that environment identity across launches. A copied or received profile receives its own identity instead of sharing the source profile’s identity.

The derivation option is designed to keep the pair stable and coordinated. It does not inspect or change the physical processor or installed RAM.

Verify the saved choice after a full restart

  1. In the affected profile, record the website’s CPU and memory result, browser version, page address, and test time.
  2. Fully close the profile and wait until its status becomes available.
  3. Edit the same profile and find CPU cores, Memory, and Derive a stable hardware tier from the environment identity.
  4. If derivation is enabled, do not treat the disabled fixed selectors as the active result. Keep derivation enabled or disable it intentionally before choosing a fixed pair.
  5. Save only the intended hardware change, relaunch the same profile, and reopen the same test page.
  6. Repeat the check once without editing anything. A repeatable result is more useful than rotating values until a checker displays a preferred label.

Fingerprint settings are loaded when the browser process starts. If the page still shows the old result, follow why profile settings did not apply before changing another field.

Keep the hardware pair coherent

Do not select the largest CPU and memory values simply because they are available. Choose a common combination appropriate for the profile’s intended environment, or leave stable derivation enabled so the pair remains coordinated.

Avoid changing CPU, memory, screen size, GPU metadata, browser version, and language together. Those fields describe different parts of one browser environment, and changing several at once prevents an attributable retest. Use the screen-resolution checklist or WebGL GPU checklist when the mismatch belongs to those surfaces instead.

A result from one diagnostic page also cannot explain why a business site challenged a session. Record it as one observation and validate the actual workflow separately.

Know when the difference is expected

No correction is normally required when the same profile returns the same configured pair and the only disagreement is with the device’s exact physical specification. That difference follows the boundary between browser-visible profile values and hardware inventory.

Investigate further when the value changes across launches without a profile edit, when the fixed selectors and derivation mode were misunderstood, or when a full restart still returns the previous configuration. For the wider lifecycle, see configure a stable browser fingerprint.

MDN explains that hardwareConcurrency reports logical processors available to the browser and may be lower than the device total. Its deviceMemory documentation explains the approximate buckets, privacy clamping, secure-context requirement, and limited browser availability.