Storage Partitioning & Cross-Site Isolation Tester
Modern browsers isolate high-performance pages via COOP/COEP and partition third-party
storage to prevent cross-site tracking. This tool probes your current execution context
to reveal whether you're cross-origin isolated, whether SharedArrayBuffer
is unlocked, and how storage partitioning applies to you.
Tool interface
The test runs automatically and reflects this page's context. To observe third-party storage partitioning, load this tool inside a cross-origin iframe.
Context Diagnostics
Introduction
High-performance web features like multithreading via Web Workers and
SharedArrayBuffer are gated behind cross-origin isolation. Meanwhile,
storage partitioning silently changes how third-party storage behaves. Both are hard
to observe — this tool makes them visible.
How It Works
- Reads
window.crossOriginIsolatedandwindow.isSecureContext. - Attempts to instantiate a
SharedArrayBufferto confirm availability. - Samples
performance.now()to measure timer precision. - Queries
document.hasStorageAccess()and detects iframe nesting. - Reads the storage quota via
navigator.storage.estimate().
Privacy
All probes run locally in the current browsing context. No content is transmitted. No API calls, no tracking.
Limitations
- Cannot test third-party partitioning from a top-level page — the tool must be embedded in a cross-origin iframe to observe it.
- Cannot read the actual COOP/COEP response headers; it infers isolation from observable behavior.
- Timer precision thresholds vary by browser and version.
FAQ
Why is SharedArrayBuffer unavailable?
SharedArrayBuffer requires a cross-origin isolated context. Add Cross-Origin-Opener-Policy: same-origin and Cross-Origin-Embedder-Policy: require-corp response headers.
Does storage partitioning affect my top-level site?
No — partitioning affects third-party contexts (iframes). Your top-level storage is unchanged, but any embedded third-party widgets get their own partitioned storage.
Is my data uploaded?
No. Everything runs locally in your browser. Nothing is transmitted.