Skip to content

Storage Capture ​

The STORAGE sub-tab captures every localStorage.setItem() and sessionStorage.setItem() call in real time.


Overview ​

Modern web apps store data in localStorage and sessionStorage. Nothing Browser captures every write β€” so you can see exactly what data the app is saving.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  STORAGE [4]                                                               β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Type         β”‚ Origin              β”‚ Key                 β”‚ Value           β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 🟣 localStorage β”‚ https://example.com β”‚ user_preferences    β”‚ {"theme":"dark"}β”‚
β”‚ 🟣 localStorage β”‚ https://example.com β”‚ session_token       β”‚ abc123def456... β”‚
β”‚ πŸ”΅ sessionStorageβ”‚ https://example.com β”‚ cart_items          β”‚ [{"id":1}]      β”‚
β”‚ 🟣 localStorage β”‚ https://api.cdn.com β”‚ api_cache           β”‚ {...}           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

What Gets Captured ​

ColumnDescription
TypelocalStorage (🟣 purple) or sessionStorage (πŸ”΅ blue)
OriginDomain that set the item
KeyStorage key name
ValueStored value (truncated in table)

Color Coding ​

Storage TypeColorPersistence
localStorage🟣 PurplePersists until manually cleared
sessionStorageπŸ”΅ BlueCleared when tab closes

Detail Panel ​

Click any item to see:

FieldDescription
Full ValueComplete stored value (untruncated)
KeyStorage key
OriginFull origin URL
TimestampWhen the write occurred
SizeSize of stored value in bytes

Example Detail Panel ​

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Storage Item Details                                                       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                             β”‚
β”‚  Key: user_preferences                                                      β”‚
β”‚  Origin: https://example.com                                                β”‚
β”‚  Timestamp: 2026-01-15 14:30:25.123                                        β”‚
β”‚  Size: 156 bytes                                                            β”‚
β”‚                                                                             β”‚
β”‚  Full Value:                                                                β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚ {                                                                     β”‚ β”‚
β”‚  β”‚   "theme": "dark",                                                    β”‚ β”‚
β”‚  β”‚   "language": "en-US",                                                β”‚ β”‚
β”‚  β”‚   "notifications": true,                                              β”‚ β”‚
β”‚  β”‚   "fontSize": 16,                                                     β”‚ β”‚
β”‚  β”‚   "sidebarCollapsed": false                                           β”‚ β”‚
β”‚  β”‚ }                                                                     β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚                                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

localStorage vs sessionStorage ​

FeaturelocalStoragesessionStorage
Color🟣 PurpleπŸ”΅ Blue
PersistenceForever (until cleared)Until tab closes
ScopeAcross all tabs/windowsSame tab only
Use caseUser preferences, auth tokensCart, form data, temp state
Clear on browser closeNoYes

Common Uses ​

TypeTypical Data
localStorageUser settings, theme preferences, saved logins, API cache
sessionStorageShopping cart, form progress, page state, CSRF tokens

Real-Time Capture ​

Storage writes are captured the moment they happen:

javascript
// When a website runs this:
localStorage.setItem('user_preferences', JSON.stringify({ theme: 'dark' }));

// It appears instantly in the STORAGE tab:
// 🟣 localStorage | https://example.com | user_preferences | {"theme":"dark"}

What Triggers Capture ​

ActionCaptured?
localStorage.setItem()βœ… Yes
sessionStorage.setItem()βœ… Yes
localStorage.removeItem()❌ No (deletion not shown)
localStorage.clear()❌ No (clearing not shown)
Reading values❌ No (only writes)

How Capture Works ​

The capture uses JavaScript injection to patch the storage methods:

javascript
// Patched localStorage.setItem
const originalSetItem = localStorage.setItem;
localStorage.setItem = function(key, value) {
    // Capture the write
    window.__captureStorage('localStorage', window.location.origin, key, value);
    
    // Call original
    return originalSetItem.call(this, key, value);
};

This runs at DocumentCreation β€” before any page JavaScript β€” so no writes are missed.


Real-World Use Cases ​

1. Understanding App State ​

text
1. Use the web app
2. Watch STORAGE tab
3. See what data the app saves
4. Understand how it tracks users

2. Reverse Engineering Authentication ​

text
1. Log into site
2. Check STORAGE tab
3. Look for auth tokens in localStorage
4. Find token key name (e.g., 'access_token')
5. Use in your scraper

3. Debugging Cart Issues ​

text
1. Add items to cart
2. Check STORAGE tab
3. See cart data in sessionStorage
4. Verify items are stored correctly
5. Debug missing items

4. Preference Extraction ​

text
1. Configure app settings
2. Check STORAGE tab
3. See preference keys and values
4. Replicate in automation

5. Cache Analysis ​

text
1. Use API-heavy app
2. Check STORAGE tab
3. See API responses cached in localStorage
4. Understand caching strategy

Filtering Storage Items ​

Filter by Type ​

FilterResult
Click 🟣Show only localStorage
Click πŸ”΅Show only sessionStorage

Filter by Origin ​

Use the filter bar to search by origin:

ExampleMatches
example.comAll items from example.com
api.All items from API subdomains
localhostLocal development items

Filter by Key ​

Search for specific keys:

ExampleMatches
tokenKeys containing "token"
prefKeys containing "pref"
cartKeys containing "cart"

Copying Storage Data ​

Copy Single Item ​

Select item β†’ COPY β†’ Copies key and value

Copy All as JSON ​

Click COPY ALL JSON:

json
{
  "localStorage": {
    "user_preferences": "{\"theme\":\"dark\"}",
    "session_token": "abc123def456"
  },
  "sessionStorage": {
    "cart_items": "[{\"id\":1,\"qty\":2}]"
  }
}

Export for Scraping ​

Use the JSON output in your scraper:

python
# Python example
import json

with open('storage.json', 'r') as f:
    storage = json.load(f)
    
# Use localStorage values
token = storage['localStorage']['session_token']

Clearing Storage ​

Clear Single Item ​

Select item β†’ Click DELETE

Clear All Captured ​

Click CLEAR ALL button (clears only captured data, not actual storage)

Clear Actual Storage (in Browser) ​

To actually clear website's storage:

  1. Go to BROWSER tab
  2. Open DevTools (F12) β†’ Application β†’ Storage
  3. Clear manually

Privacy Note ​

Storage data captured in DEVTOOLS is:

  • βœ… Stored only in memory
  • βœ… Cleared when you click CLEAR
  • βœ… Not saved to disk (unless you export)
  • βœ… Wiped when browser closes (sessionStorage naturally, localStorage persists)

Troubleshooting ​

No Storage Items Appearing ​

Solutions:

  • Check website actually uses storage
  • Interact with the site (storage writes happen on actions)
  • Refresh the page
  • Check DEVTOOLS is open

Value Truncated ​

Solution: Click the item to see full value in detail panel

Large Values Not Showing ​

Solution: Very large values (>1MB) may be truncated. Use DOWNLOAD to save raw.

Storage Items Disappearing ​

Solutions:

  • sessionStorage clears when tab closes
  • Website may be removing items
  • Check if you cleared capture

Storage vs Cookies ​

AspectStorageCookies
Size limit~5-10MB~4KB
Sent to serverNoYes (automatically)
JavaScript accessYesYes (unless HttpOnly)
PersistenceManual or sessionExpiry-based
Best forApp state, preferencesAuthentication, tracking

Use STORAGE tab for app data, COOKIES tab for auth tokens.


Keyboard Shortcuts ​

ShortcutAction
Ctrl+FFocus filter bar
DeleteDelete selected item
Ctrl+ASelect all items
Ctrl+CCopy selected item

Next Steps ​


Nothing Ecosystem Β· Ernest Tech House Β· Kenya Β· 2026

MIT Licensed | Built by Ernest Tech House Β· Kenya Β· 2026