Session and storage
How Renamerly persists your workspace locally. IndexedDB, tab scope, the free-tier cap, and what happens when you close the tab.
Last updated April 27, 2026
Renamerly is local-first by design. Your files never leave the browser unless you explicitly use AI alt text or a future cloud integration. Understanding the persistence model matters if you're running multi-day shoots or juggling multiple workspace sessions.
What gets persisted
On every workspace change, a debounced snapshot is written to IndexedDB covering:
- Every image's
Filehandle, original name, byte size, and session position. - The full
metadatabag for each image — sku, descriptor, group, and any custom keys — along with per-key provenance (inlinevscsvvsgroup-cascade) so conflicts resolve identically across sessions. - Alt text on each image.
- The active template, ad-hoc Format Builder string, active group-by axis, humanReadable toggle, collapsed group state, and inbox state.
- The session name (editable from the sidebar).
The snapshot is tab-scoped. Opening /app in a new tab starts a fresh session.
Legacy sessions are migrated on read.
Sessions saved before April 2026 stored sku, descriptor, and customDescriptor as typed fields alongside the metadata bag. On restore, those legacy fields are lifted into the metadata bag with inline provenance and the typed shadow is dropped — your data rehydrates intact, just under the unified shape.
What is not persisted
- Generated ZIPs (they are streamed to the browser's download dialog, never written to IndexedDB).
- The AI alt text session counter (resets on reload because it's a fair-use guard, not a product feature).
- Any sensitive auth tokens (those live in our authentication cookie, not in IndexedDB).
Restoring a session
Reopen the same tab and the workspace rehydrates from IndexedDB automatically. On restore, every File handle is probed for readability — the browser revokes handles when a tab is suspended or after an OS-level file move. Unreadable files are dropped from the restored session with a warning toast telling you how many.
Session restore expires when you move files on disk.
A File handle is a pointer to a specific OS path. If you move or rename the source files on disk between sessions, the restore drops those images. Keep the source folder intact during a multi-day shoot.
Free-tier session semantics
The 20-image cap is per workspace session, not per account. Resetting the workspace (Start Over) gives you a fresh 20. This is intentional: the cap is about keeping the Free plan feel like "try it free" rather than "pay me every 21 images." For sustained work, Pro is the right tier.
Clearing storage
Click Start Over in the toolbar, or reset your browser's site data for renamerly.com. Both wipe the IndexedDB snapshot. Signing out does not clear the snapshot — the same tab retains the session so a re-login picks up where you left off.
Cross-device sync
Not supported. A session started on your laptop is not visible on your phone. Templates (account-level, Pro) do sync across devices because they live on your account, not in your browser's IndexedDB.
Sync of workspace sessions is deliberately not on the roadmap. Images are bulky, the current model is private-by-default, and the workflow we optimize for (sit down, load shoot, name, export, close tab) does not benefit from cross-device state.