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 β
| Column | Description |
|---|---|
| Type | localStorage (π£ purple) or sessionStorage (π΅ blue) |
| Origin | Domain that set the item |
| Key | Storage key name |
| Value | Stored value (truncated in table) |
Color Coding β
| Storage Type | Color | Persistence |
|---|---|---|
| localStorage | π£ Purple | Persists until manually cleared |
| sessionStorage | π΅ Blue | Cleared when tab closes |
Detail Panel β
Click any item to see:
| Field | Description |
|---|---|
| Full Value | Complete stored value (untruncated) |
| Key | Storage key |
| Origin | Full origin URL |
| Timestamp | When the write occurred |
| Size | Size 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 β
| Feature | localStorage | sessionStorage |
|---|---|---|
| Color | π£ Purple | π΅ Blue |
| Persistence | Forever (until cleared) | Until tab closes |
| Scope | Across all tabs/windows | Same tab only |
| Use case | User preferences, auth tokens | Cart, form data, temp state |
| Clear on browser close | No | Yes |
Common Uses β
| Type | Typical Data |
|---|---|
| localStorage | User settings, theme preferences, saved logins, API cache |
| sessionStorage | Shopping cart, form progress, page state, CSRF tokens |
Real-Time Capture β
Storage writes are captured the moment they happen:
// 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 β
| Action | Captured? |
|---|---|
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:
// 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 β
1. Use the web app
2. Watch STORAGE tab
3. See what data the app saves
4. Understand how it tracks users2. Reverse Engineering Authentication β
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 scraper3. Debugging Cart Issues β
1. Add items to cart
2. Check STORAGE tab
3. See cart data in sessionStorage
4. Verify items are stored correctly
5. Debug missing items4. Preference Extraction β
1. Configure app settings
2. Check STORAGE tab
3. See preference keys and values
4. Replicate in automation5. Cache Analysis β
1. Use API-heavy app
2. Check STORAGE tab
3. See API responses cached in localStorage
4. Understand caching strategyFiltering Storage Items β
Filter by Type β
| Filter | Result |
|---|---|
| Click π£ | Show only localStorage |
| Click π΅ | Show only sessionStorage |
Filter by Origin β
Use the filter bar to search by origin:
| Example | Matches |
|---|---|
example.com | All items from example.com |
api. | All items from API subdomains |
localhost | Local development items |
Filter by Key β
Search for specific keys:
| Example | Matches |
|---|---|
token | Keys containing "token" |
pref | Keys containing "pref" |
cart | Keys containing "cart" |
Copying Storage Data β
Copy Single Item β
Select item β COPY β Copies key and value
Copy All as JSON β
Click COPY ALL 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 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:
- Go to BROWSER tab
- Open DevTools (F12) β Application β Storage
- 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 β
| Aspect | Storage | Cookies |
|---|---|---|
| Size limit | ~5-10MB | ~4KB |
| Sent to server | No | Yes (automatically) |
| JavaScript access | Yes | Yes (unless HttpOnly) |
| Persistence | Manual or session | Expiry-based |
| Best for | App state, preferences | Authentication, tracking |
Use STORAGE tab for app data, COOKIES tab for auth tokens.
Keyboard Shortcuts β
| Shortcut | Action |
|---|---|
Ctrl+F | Focus filter bar |
Delete | Delete selected item |
Ctrl+A | Select all items |
Ctrl+C | Copy selected item |
Next Steps β
- Cookie Inspector β Track authentication cookies
- Network Inspector β See how storage data is used
- DEVTOOLS Tab β Complete capture overview
Nothing Ecosystem Β· Ernest Tech House Β· Kenya Β· 2026