1.The short version#Link to section: The short version
FluxStudy stores what it needs to keep you signed in, remember settings you change and let parts of the app keep working when your connection drops. That storage is strictly necessary and always on.
Two further categories, Preferences and Analytics, are optional and off by default. We only use them if you allow them in our cookie banner or Cookie settings, and you can change your mind at any time. Rejecting them is as easy as accepting, and never limits what you can do in FluxStudy. We don’t use advertising cookies or social media pixels.
“Cookies” here also covers similar technologies on your device: localStorage, sessionStorage, IndexedDB and the service worker cache. Data in these stays in your browser — the app reads it there and doesn’t send it to us, except where noted (the sign-in cookies are sent with each request, and offline flashcard grades are uploaded when you’re back online).
2.Cookie categories and legal basis#Link to section: Cookie categories and legal basis
| Category | What it’s for | Legal basis | Default | Your control |
|---|---|---|---|---|
| Strictly necessary | Signing in, security, saving study progress and offline review, remembering settings you change yourself (such as language or sound), and remembering your cookie choice. | Exempt from consent because it is strictly necessary for the service you asked for (ePrivacy Directive art. 5(3); Swedish Electronic Communications Act, LEK, ch. 9 § 28). Any personal data involved is processed to provide the service (contract, Art. 6(1)(b) GDPR) or for our legitimate interest in security (Art. 6(1)(f)). | Always on | Can’t be switched off in FluxStudy; you can clear or block it in your browser (see below). |
| Preferences | Remembering optional conveniences between visits beyond the settings you change yourself. | Your consent (ePrivacy/LEK; Art. 6(1)(a) GDPR). | Off | Turn on or off at any time in Cookie settings. |
| Analytics | Understanding which features are used and where people get stuck, so we can improve FluxStudy. Never for advertising. | Your consent (ePrivacy/LEK; Art. 6(1)(a) GDPR). | Off (and kept off while your browser sends Global Privacy Control, unless you turn it on yourself) | Turn on or off at any time in Cookie settings. |
3.Giving, changing and withdrawing consent#Link to section: Giving, changing and withdrawing consent
On your first visit, the cookie banner lets you Accept all, Reject all or Customize each optional category. Nothing optional is switched on until you choose, and closing the settings without saving changes nothing.
You can change or withdraw your choice at any time, as easily as you gave it:
- with the button above;
- with Cookie settings in the footer of every public page;
- in Settings → Privacy & data → Cookie preferences, when you’re signed in.
What happens when you decide
- Your choice is saved in the
flux-consentcookie on this browser for 6 months. After that, or if we add or change a category, we ask again. - If you’re signed in, we also keep a record of the decision in your account (category, choice, version, where you made it and when) so we can show we asked properly. It contains no IP address or device details and is included in your data export.
- When you withdraw consent for Analytics, the analytics tool is stopped and the analytics cookies we can identify are deleted. Withdrawal doesn’t affect anything that happened before it.
- Your choice applies to this browser. On another device or browser you’ll be asked again.
4.Global Privacy Control and Do Not Track#Link to section: Global Privacy Control and Do Not Track
We honour Global Privacy Control (GPC). If your browser sends a GPC signal, we treat it as a refusal of analytics: it stays off by default, and an earlier “accept” made without GPC is not used while the signal is on. You can still switch analytics on yourself in Cookie settings, which then applies to FluxStudy only.
“Do Not Track” is an older signal with no agreed standard; we don’t rely on it, but analytics is off by default for everyone anyway.
5.Strictly necessary storage#Link to section: Strictly necessary storage
This table lists every cookie and storage item FluxStudy itself sets. Names shown with <…> contain an ID or date.
| Name | Set by | Purpose | Category | Type | Duration |
|---|---|---|---|---|---|
__Secure-better-auth.session_token | FluxStudy (first party) | Keeps you signed in. A signed token only; marked HttpOnly (page scripts can’t read it), Secure (HTTPS only) and SameSite=Lax, shared between fluxstudy.com and www.fluxstudy.com. | Strictly necessary | Cookie | 30 days, renewed at most once a day while you use FluxStudy. Removed when you sign out. |
__Secure-better-auth.session_data | FluxStudy (first party) | A short-lived, signed copy of your session so pages load without checking the database every time. Same security flags as above. | Strictly necessary | Cookie | 5 minutes |
flux-consent | FluxStudy (first party) | Remembers your cookie choice (consent version, one on/off flag per optional category, whether GPC was on, and when you chose) so we don’t ask on every page. SameSite=Lax; Secure on HTTPS. | Strictly necessary | Cookie | 6 months, then we ask again |
flux-locale | FluxStudy (first party) | Remembers the app language you picked. | Strictly necessary (a setting you chose) | Cookie | 1 year. Only set when you choose a language. |
flux-quiet | FluxStudy (first party) | Remembers whether quiet mode (fewer animations and sounds) is on. | Strictly necessary (a setting you chose) | Cookie | 1 year. Only set when you change it. |
flux-sound | FluxStudy (first party) | Remembers whether sound effects are on. Sound is off until you turn it on. | Strictly necessary (a setting you chose) | localStorage | Until you clear it |
flux-reader-theme | FluxStudy (first party) | Remembers the light or dark theme you picked for shared notes (links like fluxstudy.com/s/n/…). Only set when you switch it. | Strictly necessary (a setting you chose) | localStorage | Until you clear it |
flux-sidebar | FluxStudy (first party) | Remembers whether you collapsed the sidebar. | Strictly necessary | Cookie | 1 year |
flux-reminder-prompt-answered | FluxStudy (first party) | Remembers that you already answered the study-reminder question after your first plan, so it isn’t asked again. | Strictly necessary (a setting you chose) | localStorage | Until you clear it |
nova-welcome-played | FluxStudy (first party) | Makes Nova’s welcome animation play only once per visit. | Strictly necessary | sessionStorage | Until you close the tab |
fluxstudy.studySession.<date> | FluxStudy (first party) | Saves today’s focus session in progress so you can pick it up after a reload. | Strictly necessary | localStorage | Removed when you finish or discard the session; earlier days are removed automatically. |
flux-mock-draft:<mock>:<question> | FluxStudy (first party) | Keeps answers you type in a mock exam safe if your connection drops. | Strictly necessary | localStorage | Removed once the answer is saved to your account or the mock is submitted. |
flux-note-draft:<note> | FluxStudy (first party) | Keeps what you type in a note (text and block content) safe until it has been saved to your account, so nothing is lost if your connection drops or the tab closes. | Strictly necessary | localStorage | Removed as soon as the note is saved to your account; removed on sign-out or account deletion from this device. |
flux-note-device | FluxStudy (first party) | A random id for this browser, used only while a note is open with live sync to tell your own other tabs apart from your other devices (“Also open on your phone”). Never sent to our servers except inside that live connection. | Strictly necessary | localStorage | Until you clear it; removed on sign-out from this device. |
flux-print-paper | FluxStudy (first party) | The paper size (A4 or Letter) you picked when printing or saving a note as PDF. | Strictly necessary (a setting you chose) | localStorage | Until you clear it. |
flux-pack-due | FluxStudy (first party) | An offline copy of the flashcards due for review (question and answer text) so Cards works without a connection. | Strictly necessary | localStorage | Replaced on each refresh; removed if you delete your account from this device, or when you clear it. |
flux-pending-grades | FluxStudy (first party) | Flashcard grades you made while offline (up to 200), waiting to be sent to your account. | Strictly necessary | localStorage | Until they sync |
flux-weekly-hours, flux-target-grade | FluxStudy (first party) | Your answers from onboarding (weekly study hours and target grade), used to size your plan. | Strictly necessary | localStorage | Removed if you delete your account from this device, or when you clear it. |
flux-nova-voice | FluxStudy (first party) | Your Nova voice settings on this device: read replies aloud, send voice messages automatically, speaking speed, and cloud or device voice. Recordings are never stored. | Strictly necessary (a setting you chose) | localStorage | Until you clear it; removed on sign-out from this device. |
flux-nova-scope | FluxStudy (first party) | Where Nova searches on this device (this course or your whole library) and which course you picked. Only the choice is stored, never your notes or questions. | Strictly necessary (a setting you chose) | localStorage | Until you clear it; removed on sign-out or account switch from this device. |
flux-plan | FluxStudy (first party) | An offline copy of your committed study plan, this week’s calendar and your goals, plus sessions you ticked off while offline (up to 100) waiting to sync, so Plan works without a connection. | Strictly necessary | IndexedDB | Replaced on each refresh; queued ticks removed once synced; removed on sign-out or account switch from this device. |
flux-notes | FluxStudy (first party) | An offline list of your notes (titles, short previews, tags, when they were edited, and notes shared with you) so you can browse Notes without a connection. | Strictly necessary | IndexedDB | Replaced each time the list loads; removed on sign-out or account switch from this device. |
flux-note:<note> | FluxStudy (first party) | A local copy of each note you open with live sync (its content, plus your display name and colour for presence), so it opens and can be edited offline and merges with other devices when you’re back online. | Strictly necessary | IndexedDB | Kept for up to 300 recently opened notes; removed on sign-out or account switch from this device. |
flux-packs | FluxStudy service worker (first party) | Review packs you save for offline study (up to 200 cards per pack). | Strictly necessary | IndexedDB | Until you clear site data |
flux-v8 (version name changes with updates) | FluxStudy service worker (first party) | App files, icons and pages you’ve opened (including the Plan, Today and Notes pages and the app files they need, so they open offline), so FluxStudy loads fast and shows an offline page. Sign-in and API data are never cached. | Strictly necessary | Service worker cache | Replaced when a new app version is released, or when you clear site data. |
6.Preferences (optional)#Link to section: Preferences (optional)
FluxStudy currently sets no storage that relies on the Preferences category: everything it remembers about your settings is listed above and happens only when you change a setting yourself. If we add optional conveniences (for example remembering dismissed tips across visits), they will only be stored when Preferences is on, and we’ll list them here first.
7.Analytics (optional)#Link to section: Analytics (optional)
With your permission, we plan to use product analytics to learn how FluxStudy is used — for example which pages are visited and where people drop off — so we can make it better. Analytics never includes your documents, answers or conversations and is never used for advertising. Analytics is not enabled yet; no analytics script is loaded today, whatever you choose.
| Name | Set by | Purpose | Category | Type | Duration |
|---|---|---|---|---|---|
| AppHelm (product analytics) — only after you accept Analytics Cookie names: to be confirmed when enabled | AppHelm, a product analytics service operated by our own group (Sansavision, Sansa Group AB). Events are sent to apphelm.dev, which runs on Cloudflare. | Recognising your browser between visits with a pseudonymous ID and recording product usage events so we can understand and improve FluxStudy. | Analytics | Cookies and/or local storage — to be confirmed when enabled | Analytics data kept for up to 13 months under AppHelm’s published policy; exact setting for FluxStudy: to be confirmed when enabled |
Because AppHelm belongs to the same corporate group as FluxStudy, analytics data is processed within Sansa Group AB rather than by an unrelated company.
8.Third-party services you may meet#Link to section: Third-party services you may meet
Two trusted services can store data in your browser, and only at specific moments. They do this on their own websites, under their own policies.
| Service | Set by | Purpose | Category | Type | Duration |
|---|---|---|---|---|---|
| Cloudflare Turnstile | Cloudflare (third party), on challenges.cloudflare.com | A privacy-friendly human check on the sign-in page that stops bots from abusing sign-in emails. It runs only on the sign-in page. | Strictly necessary | Script and challenge; Cloudflare may set its own cookies or storage on its domain | Set by Cloudflare |
| Stripe Checkout and billing portal | Stripe (third party), on stripe.com | Secure payment, fraud prevention and managing your subscription. Only used if you choose to upgrade or manage billing. | Strictly necessary | Cookies and storage on Stripe’s domains | Set by Stripe |
Learn more in Cloudflare’s privacy policy (opens in a new tab) and Stripe’s cookie policy (opens in a new tab).
9.What we don’t use#Link to section: What we don’t use
- No advertising cookies or ad networks.
- No social media pixels or “like” buttons that track you.
- No analytics, tag managers, heatmaps or session recordings unless you allow Analytics — and today none are loaded at all.
- No fonts or scripts loaded from Google. Our font is served from our own site. The only outside scripts are Cloudflare Turnstile on the sign-in page and Stripe’s own pages when you pay.
10.How to control or clear storage#Link to section: How to control or clear storage
- Change your cookie choice with Cookie settings (see above).
- Sign out from the account menu to end your session and remove the session cookie.
- Change preferences (language, quiet mode, sound) in Settings at any time.
- Clear everything using your browser’s “clear site data” option for fluxstudy.com. This removes cookies (including your cookie choice), localStorage, IndexedDB and the service worker cache. You’ll be signed out and lose any offline packs or unsynced grades on that device.
- Block cookies in your browser settings if you like. FluxStudy can’t keep you signed in without its session cookie.
On a shared device
The offline cache and offline flashcards can hold study content from pages you opened. On a shared or public computer, sign out and clear site data when you’re done.
11.Changes and contact#Link to section: Changes and contact
We update this page whenever what we store changes, and change the “last updated” date at the top. If we add or change an optional category, we ask for your consent again. For how we handle personal data more broadly, see our Privacy Policy and your GDPR rights.
Questions?