← Chrome 151 reference

v151 · storage · privacy · bug fix

IncognitoStaticStorageQuota

Chrome 151 patches a residual Incognito detection vector in the predictable-storage-quota rollout: by returning a truly static quota from navigator.storage.estimate() in Incognito mode, rather than a value that still leaks information about the user's actual disk size.

at a glance

Shipped inChrome 151 (Enabled by default)
StatusEnabled by default
API changeNone — behavioural fix to StorageManager.estimate()
Related featurev148: Predictable reported storage quota
ChromeStatus5143175657291776 — IncognitoStaticStorageQuota
Source: chromestatus.com/feature/5143175657291776

why it exists

Chrome 148 introduced Predictable reported storage quota, which changed navigator.storage.estimate() to return an artificial quota value — usage + min(10 GiB, disk rounded up to 1 GiB) — to prevent Incognito detection. However, the formula still exposes a signal: in Incognito mode, the "disk rounded up to 1 GiB" component reflects the device's actual disk size, which differs between a laptop with a 256 GB drive and one with a 2 TB drive. A script that sees this variation can still distinguish Incognito users on specific hardware configurations.

Chrome 151 fixes this by substituting a fixed static value for the quota in Incognito mode, removing the disk-size signal entirely. The fix only affects Incognito; regular windows with limited storage continue to use the Chrome 148 formula unchanged.

Source: chromestatus feature summary

what changes

ContextChrome 148–150Chrome 151+
Incognito, limited-storage siteusage + min(10 GiB, disk ↑ 1 GiB)Fixed static value (no disk-size signal)
Regular window, limited-storage siteusage + min(10 GiB, disk ↑ 1 GiB)Unchanged
Any window, unlimited-storage siteReal quotaUnchanged
Source: chromestatus feature summary

example

No code changes are needed. navigator.storage.estimate() continues to work as before:

const { usage, quota } = await navigator.storage.estimate();
// quota is now fully static in Incognito (Chrome 151+)
// usage is always the real bytes-used value (unchanged)
const pct = (usage / quota) * 100;
if (pct > 80) warnLowStorage();
Source: Storage Living Standard §StorageManager.estimate()

see also