Browser storage

Cookie Settings

Liftlytics uses necessary first-party cookies and browser storage for sign-in, account security, workout draft recovery, rest timer continuity, onboarding state, and remembering these choices. Optional storage is off by default and not used in the current release.

The current free release does not use optional analytics, marketing, or personalization storage. These categories stay off unless a later feature makes them available and you choose them.

No optional-storage preference has been saved on this device yet.

Necessary Storage

These items are required for authenticated product use or local workout continuity. They are not optional toggles because disabling them would break core Liftlytics behavior.

liftlytics_session
HTTP cookie
Necessary

Maintains the authenticated web session after login or email verification.

  • First-party, HttpOnly session cookie.
  • SameSite=Lax; Secure in production.
  • Required for authenticated product pages and cleared on logout.
liftlytics_cookie_preferences
HTTP cookie
Necessary

Remembers optional cookie and browser-storage choices on this device.

  • First-party preference cookie readable by the app.
  • Stores only compact category flags, not user IDs, raw cookie values, session tokens, IP addresses, or user agents.
  • Required so optional storage stays off after a user rejects it.
liftlytics.session-draft.<owner>.free
localStorage
Necessary

Keeps an in-progress custom workout draft on this device so logging survives navigation or refresh.

  • Contains the draft session form entered by the current browser user.
liftlytics.session-draft.<owner>.plan.<dayId>
localStorage
Necessary

Keeps an in-progress planned workout draft on this device.

  • Used only for workout draft recovery and plan-following continuity.
liftlytics.session-draft.active
localStorage
Necessary

Points navigation surfaces to the active local workout draft.

  • Contains draft route metadata and owner scope, not auth secrets.
liftlytics.rest-timer.<owner|anonymous>
localStorage
Necessary

Keeps rest timer duration, target end time, paused state, and draft/set ownership while moving through the web app.

  • Required for timer continuity during a workout and scoped to the current local session draft.
liftlytics.onboarding.pending / liftlytics.onboarding.seen.<userId> / liftlytics.body-metrics-onboarding.seen.<userId>
localStorage
Necessary

Shows or dismisses the first-run welcome and optional body-metrics setup flows without repeating them every page load.

  • Functional UI state; not analytics or tracking storage.

Not Used In This Release

The current web release has no optional tracking, advertising, tag manager, heatmap, third-party embed, IndexedDB, sessionStorage, or service-worker cache usage.

IndexedDB
Browser API
Not used

No web IndexedDB database is used in the current release.

  • Native mobile local storage is separate from this browser cookie surface.
sessionStorage
Browser API
Not used

No sessionStorage keys are used in the current web release.

  • Workout drafts use necessary localStorage so they can survive navigation.
Service worker and CacheStorage
Browser API
Not used

No service worker cache is registered by the current web app.

  • The app has a PWA manifest, but no browser cache worker is active.
Analytics, marketing, heatmaps, tag managers, and embeds
Third-party scripts
Not used

No optional tracking or advertising scripts are loaded in the current release.

  • Future optional scripts must be gated by explicit category consent before loading.

Consent Boundaries

Cookie settings do not replace registration consent records for the Privacy Policy, Terms of Service, or training/body-metrics data processing. Those records stay server-side, versioned, and minimized.