%%SHARED_HEADER%%

BROWSER STORAGE OBSERVATIONS

How different are
your storage commits?

Compare IndexedDB transaction completion times using strict and relaxed durability. Explore a private-context timing heuristic with the measurements behind it.

Ready. Measurements run only when you start. Keep this tab visible.

What is measured?

Each block commits fifteen sequential transactions with a 16 KB zero-filled payload. One relaxed block and one strict block warm up the database and are excluded. Each run collects 7–15 paired blocks, stopping after at least seven rounds if its soft one-second budget has elapsed. The upper median of per-round strict/relaxed ratios is compared with 1.30. The ratio of median durations is a different statistic.

Below 1.30: private-like timing heuristic. At or above 1.30: normal-like timing heuristic. Unsupported APIs, failures, or hidden tabs are inconclusive. JavaScript can recognize the durability hint without verifying a hardware flush. Backend versions, filesystem, scheduling, load, timers and order can change the result.

A unique temporary database is closed and deletion is awaited after every run. Cleanup status is shown. Closing the tab or crashing mid-run may leave throwaway data; clear this origin’s site data if needed. Stop finishes the current bounded run before ending the series.

Privacy, source and reproducibility

Measurements stay in tab memory. JSON downloads are local. This tool makes no requests containing measurements and uses no analytics or third-party assets; ordinary hosting requests still reach Cloudflare. Your actual window mode is unknown to the tool. Browser/version strings are self-reported.

Mechanism adapted from Joe Rutkowski’s detectIncognito.js, MIT licensed. ST—005 investigates its validity and browser-context behavior. Attribution and the license are included in the downloadable source.

Self-contained console experiment · Source and research · Chromium SQLite discussion

%%SHARED_FOOTER%%