data and privacy
temmet runs entirely in your browser. After the initial page load, the app makes no network requests that carry your data. There is no server-side component, no account, and no telemetry.
where the data lives
All persisted state goes into your browser's IndexedDB, under a database named temmet, in a single object store named kv. Four keys cover the entire surface:
sessions— the array of saved sessions in your history.settings— currency, theme, wakelock, default session name, and your custom roles.templates— saved Advanced-mode setups.activeSession— the in-flight session checkpoint used for crash recovery. Cleared when a session ends.
You can confirm any of this in DevTools → Application → IndexedDB → temmet.
what's transmitted
Nothing. The only network traffic from the app is the initial page load (HTML, CSS, JS, fonts, images) and the chunks for PDF and CSV exports, which load lazily on first use. Once those are cached, you can use temmet completely offline.
schema versions and migrations
Every value temmet writes carries a small { v, data } envelope. When the app updates and the shape changes, old values are migrated in place the first time they're read.
If a future temmet build saves data your current build doesn't know how to read, the value is ignored rather than corrupted — you'll see defaults instead. Downgrading to an older build is safe.
back up
Open the Data dialog on the history screen. Choose JSON. You'll get a single file containing every session, every template, and your settings. Re-import it any time, on the same device or a different one. The format is plain JSON — readable and editable by hand.
CSV round-tripping
CSV export is for spreadsheets, not for backup — it doesn't carry templates or settings. But the column shape is stable and CSV import accepts the same shape, so you can edit sessions in a spreadsheet and re-import, or bring in history from another tool by matching the column names. If the importer can't parse a row, it skips it and reports the count in the import-complete toast.
reset local data
The error screen has a Reset local data and reload button. It deletes the entire temmet IndexedDB database and clears localStorage, then reloads. To reset without an error: DevTools → Application → IndexedDB → temmet → Delete database, then reload.
what about another browser
Every browser has its own IndexedDB. Open temmet in Firefox after using it in Chrome and you'll see an empty history. The cure is the JSON backup: export from one browser, import in the other.
questions
- Does temmet send data to a server?
- No. There is no server-side component. Every session, template, and setting is stored on your device.
- Where exactly is the data stored?
- In your browser's IndexedDB, under a database named
temmet, in an object store namedkv. Keys includesessions,settings,templates, andactiveSession. - How do I back up my data?
- Open the Data dialog (the Data button on history) and choose JSON. The downloaded file contains every session, every template, and your settings. You can re-import it later or on a different device.
- How do I move my data to another browser?
- Export JSON on the source browser, import JSON on the target browser. There's no account flow, so this is the only path.
- What if my data gets corrupted?
- temmet validates data on read and rejects malformed entries. If something genuinely breaks, the error screen has a "Reset local data and reload" button that wipes IndexedDB and starts over.
- Does temmet track me?
- No analytics, no telemetry, no third-party scripts in the app shell.