v151 · Storage · Quota Estimate Demo

Quota Estimate Demo

Call navigator.storage.estimate() and inspect the quota and usage values. In Chrome 151+ the quota is identical in normal and Incognito mode — the privacy-leaking RAM-based value is gone.

Chrome 151 required for the fix. Open this page in both a normal tab and an Incognito tab. On Chrome 151+ both should show a quota in the GiB range. On earlier Chrome, Incognito shows a much smaller RAM-based quota — often around 120 MB — which is the fingerprint vector.

live estimate

code

const before = await navigator.storage.estimate();

const cache = await caches.open('quota-estimate-demo-v151');
const fiveMiBBlob = new Blob([new Uint8Array(5 * 1024 ** 2)]);
await cache.put('/sample.bin?run=' + Date.now(), new Response(fiveMiBBlob));

const estimate = await navigator.storage.estimate();

console.log({
  quota:  estimate.quota,   // bytes
  usage:  estimate.usage,   // bytes currently in use
  delta:  estimate.usage - before.usage,
  quotaGiB: (estimate.quota / 1024 ** 3).toFixed(2)
});

// Chrome 151 fix: quota is now >= 10 GiB in both normal AND Incognito
// Before: Incognito could return ~120 MB (RAM-fraction), easily detected

see also

implementation reference

Need the exact API surface, compatibility boundaries, errors, lifecycle, and source links? Read the matching gendn reference ↗