Storage Persistence Auditor
Is your app's data safe from the browser's eviction? This tool reports whether your origin's storage is best-effort (can be cleared under storage pressure) or persistent, shows your quota usage, and helps you request persistence.
Tool interface
Auditing origin:
Storage state
Quota usage
Eviction risk
Request persistence in your app
Introduction
Offline-first PWAs rely on IndexedDB, Cache Storage, and LocalStorage surviving between visits. But by default, browsers treat storage as "best-effort" and can evict it when space is low. Knowing your persistence mode is essential to avoid surprise data loss.
How it works
- Reads
navigator.storage.persisted()for the current mode. - Reads
navigator.storage.estimate()for usage and quota. - Computes eviction risk from the usage/quota ratio and the mode.
- Offers a live
navigator.storage.persist()request and a code snippet.
Privacy
All reads are local via the Storage API. No data leaves the origin. No account, no API key.
Limitations
- Browsers may refuse persistence requests silently (policy-dependent).
- The Storage API is unavailable in some contexts (e.g., certain private modes).
- Per-API storage breakdown (IndexedDB vs Cache) is not exposed by the standard API.
FAQ
What is the difference between best-effort and persistent?
Best-effort storage can be cleared automatically when the device runs low on space. Persistent storage is protected from that automatic eviction.
Is my data uploaded?
No. Everything is read locally in your browser.