As web platforms deprecate third-party tracking cookies to protect user privacy, Google Chrome and the Privacy Sandbox initiative introduced the Shared Storage API. Shared Storage provides sites with unpartitioned, cross-site key-value storage that cannot be read directly by client-side JavaScript. Instead, stored data is read only within isolated, secure worklets that output low-entropy or noise-infused results (such as choosing an ad creative via the Private Aggregation or Select URL APIs). Because client scripts cannot access stored keys directly, developers require Google Chrome DevTools to audit and debug Shared Storage states.
In this guide, you will learn how to inspect Shared Storage entries, modify keys, clear origin data, and monitor worklet operations using Google Chrome DevTools.
Understanding the Shared Storage API and Worklets
Unlike standard localStorage or sessionStorage, which are strictly partition-bound to the top-level origin, Shared Storage allows cross-site data sharing with strict privacy guarantees:
- Write Anywhere: Any document or embedded iframe can write key-value pairs into its own origin-scoped Shared Storage using
window.sharedStorage.set(key, value). - Isolated Worklet Reads: Data can only be read inside a registered worklet (
sharedStorage.worklet.addModule()). The worklet processes the data inside a headless, isolated JavaScript execution environment. - Controlled Output Gates: The worklet cannot send network requests or exfiltrate data to the main window. It can only emit results through privacy-preserving APIs like
selectURL()(which returns an opaque fenced frame config) orprivateAggregation.sendHistogramReport().
Because you cannot log values to the standard browser console using console.log(), Chrome DevTools provides a dedicated visual inspector inside the Application panel.
Locating Shared Storage in the Application Panel
To inspect Shared Storage entries for any webpage:
- Open Google Chrome and navigate to the webpage or web application utilizing Shared Storage.
- Open DevTools by pressing
F12orCtrl + Shift + I(orCmd + Option + Ion macOS). - Click the Application tab located in the top navigation bar.
- In the left sidebar, expand the Storage category.
- Click the Shared Storage dropdown arrow.
DevTools lists all origins that have initialized Shared Storage on the current page, including the top-level page origin and any embedded third-party iframes.
Viewing, Filtering, and Refreshing Stored Entries
Select a specific origin under the Shared Storage menu tree. The main pane displays a data grid containing all stored keys and values:
- Key: The identifier string passed to
sharedStorage.set(). - Value: The string payload stored against that key.
To analyze large datasets effectively:
- Use the Filter input field at the top of the table to search for specific key names or substrings.
- If your application writes data asynchronously during user interactions, click the Refresh icon (circular arrow) in the toolbar to synchronize the table with the active memory cache.
Adding, Modifying, and Deleting Shared Storage Keys
Chrome DevTools allows developers to manually manipulate the stored state to simulate different user profiles, experiment cohorts, or boundary test conditions:
- Add a New Entry: Double-click the empty row at the bottom of the grid. Type the key name, press
Tab, enter the value string, and pressEnter. - Modify an Existing Value: Double-click any cell in the Value column. Edit the text and press
Enterto commit the modification immediately. - Delete a Single Key: Select the target row and click the Delete Selected (trash can) icon in the toolbar, or press
Deleteon your keyboard. - Clear All Entries: Click the Clear All icon (circle with a slash) to wipe all key-value pairs stored under that origin.
Auditing Worklet Operations and Event Logs
In addition to inspecting static storage tables, you can monitor dynamic worklet activity and invocations in real time.
Click on the root Shared Storage item in the left sidebar (above the individual origin nodes). The main view displays the Shared Storage Events pane:
| Column Name | Description |
|---|---|
| Access Time | The precise wall-clock timestamp when the storage call was executed. |
| Type | The API method invoked (e.g., documentSet, documentAppend, documentDelete, documentClear, or workletRun). |
| Owner Origin | The security origin that owns the underlying storage partition. |
| Parameters | The key, value, and arguments passed to the method call. |
Select any event entry in the table to view the raw JSON payload and stack trace in the preview pane below.
Troubleshooting Common Shared Storage Errors
If Shared Storage fails to initialize or entries do not persist, verify the following configuration requirements:
- Secure Context Required: Shared Storage is strictly restricted to secure HTTPS origins. In local development, you must use
https://localhostor configure test certificates. Calls executed over unencryptedhttp://fail immediately. - Permissions Policy Restrictions: If embedded iframes fail to access storage, check whether the parent document allows the
shared-storagefeature in its HTTP headers:Permissions-Policy: shared-storage=(self "https://trusted-partner.com") - Privacy Sandbox Enrollment: In production environments, origins writing or reading from Shared Storage must be enrolled with Google’s Privacy Sandbox coordinator and pass attestation checks. Check the DevTools Issues tab for enrollment warnings.