Promissa sayslocalStorage persists string key–value data on the device until explicitly cleared.
localStorage.setItem(key, value) / getItem / removeItem / clear store strings that survive reloads and restarts. For objects, JSON.stringify in and JSON.parse out. It's synchronous, ~5-10MB per origin, and readable by any script on the page — perfect for prefs and drafts, never for secrets or tokens.
Power-ups you unlock
setItem/getItem/removeItem/clear
Persists across reloads & restarts
Strings only — JSON for objects
~5-10MB; not for secrets (XSS-readable)
Race Condition Rex attacks — common mistakes
Storing objects without JSON.stringify
Keeping tokens/secrets in localStorage
Assuming unlimited space (quota errors)
Boss battlePersist a settings object across reloads with JSON.stringify/parse.