Findings / UX-047
localStorage throws inside the vault app frame, so reader data is lost on reload
OpenMediumFailuredev.vault.sgraph.ai
What we saw
The app frame refuses localStorage with SecurityError. Lab kit v0.1.2 kept highlights, notes and ratings only until reload.
Why it matters
A reader's notes disappear on reload, the worst failure a note-taking feature can have.
The fix
Store through the host's async sg.state (survives reload). Kit v0.1.3 does; every lab vault was republished on it.
The record
| Status | Open. Open as a platform trap; fixed in the lab by kit v0.1.3. |
| Severity | Medium |
| Kind | Failure: works against the reader |
| Product | dev.vault.sgraph.ai, platform |
| Where | any vault app that stores reader state |
| Problems | Host trap, Data loss |
| Visibility | Intermittent: some readers, some of the time: depends on a gesture, a device or a state, and is hard to reproduce on demand |
| Recommendation | Design for the host: use the host's own mechanisms (route variable, sg.state, vault snapshot) instead of the browser's defaults |
| Area | Platform |
| Breaks | A vault app works inside the host, not just on its own |
| Observed | 2026-10-11, host |
| Last checked | 2026-10-11, host |
| Source | Design lab: what building it measured |
Previous: UX-046 Setting location.hash inside a vault app re-navigates the frame: every link silently dead
Next: UX-048 A vault app can load images and scripts from a site but cannot fetch its data