1. Exact storage inventory
- IndexedDB: sessions, reduced pose series, optional video blobs, internal metadata, bike profiles and bike journal records.
- localStorage: current-session pointer, unit preference, calculator shortcut, legal acceptance receipt, offline-mode choice, install-hint state and explicitly saved workflow drafts.
- sessionStorage: temporary calculator-to-camera handoff and, only after you select the new action, a calculator-to-bike draft with the current saddle height and/or crank length you entered plus bike discipline. Calculated targets and body measurements are not copied to that bike draft.
- URL fragment: calculator measurements and some opaque local record identifiers may appear after #. Fragments are not sent in an HTTP request, but your browser may keep them in local history.
- Cache Storage and Service Worker: absent by default. After explicit opt-in, only the public shell, static assets and same-origin pose runtime/model may be cached. Query-bearing URLs, API responses and protected workflow documents are excluded.
The application does not intentionally place symptoms or other health inputs in these stores. A migration removes retired health-intake fields and their derived outputs.
2. Why choices are separated
Storage needed for the particular interactive service you request is activated after the pre-contract terms and local-processing choices. Offline caching is a separate optional feature and stays off until you press Enable offline mode in Settings. The classification follows the necessary-service exception in Article 399(3) of Poland's Electronic Communications Law; it is not a claim that all first-party technology is automatically exempt.
3. Controls and expiry
Settings & privacy shows counts for every IndexedDB store, exports all known local data and performs verified deletion across stores, keys, drafts, OpenBikeFit caches and registrations. Disabling offline mode unregisters the Service Worker and deletes its caches. Browser settings can also block or clear site storage.
Saved workflow transfer drafts normally expire after 30 days. The calculator-to-bike draft contains only the two current settings you chose to carry and the bike discipline. It can be read again after a reload for up to 30 minutes; other unsaved bike-form edits are not stored in it. It is removed after a successful bike save or when you cancel or start a different bike form. An expired or invalid draft is removed on the next read. Otherwise it remains in this tab's sessionStorage until the tab session ends or you clear site data. See the privacy notice for purposes, legal bases, recipients, retention and rights.