Cookie Policy

Last updated: August 11, 2026 · Version 2026-08-11.2

The short version

We set cookies for authentication, consent and region handling, a short-lived dashboard transition flag, and (where enabled) analytics. Equivalent browser storage is listed below as well. You can switch off optional measurement at any time via Legal & Privacy in the footer.

We use no advertising cookies today. If we ever add them, they will be off by default and will stay off unless you turn them on.

1. What cookies are

A cookie is a small file a site stores in your browser so it can recognise your browser on a later request. This policy also covers equivalent technologies such as local storage, which we use for your theme preference and for keeping an in-progress drill from being lost if you reload the page.

2. The three categories

CategoryCan you refuse?What it covers
Strictly necessaryNo — limited to a feature you request, security, or remembering your choicesLogin session, security, daily-attempt controls, and remembering your cookie choices
AnalyticsYesUnderstanding which pages and features get used, and how the product performs
MarketingYes — and off by default for everyoneAdvertising and remarketing. None currently in use

3. Every cookie we set

3.1 Strictly necessary

NameProviderDurationPurpose
sb-*-auth-tokenSupabase (first party)Session / refresh cycleKeeps you logged in. Sent to Supabase with authenticated requests; not used for advertising
wsm_consentWall St Math6 monthsStores the cookie choices you made here, so we do not ask again on every visit; sent only as a request cookie to Wall St Math
wsm_regionWall St Math / edge6 months, refreshed on visitsStores coarse region classification for consent defaults; sent to Wall St Math, not a precise location
dashboardSkipInitialLoadingOnceWall St MathUp to 30 seconds / one dashboard transitionAvoids a duplicate loading state after auth navigation; sent to Wall St Math and then cleared
wsm_daily_idWall St Math31 daysPseudonymous identifier for best-effort daily-attempt limiting and abuse prevention; sent to Wall St Math daily endpoints
wsm_recent_authWall St Math10 minutesSigned, HttpOnly proof that you recently re-entered your password before exporting or deleting account data; sent only to Wall St Math

These are used only where necessary to provide a feature you request, protect the service, or remember your privacy choice. The consent cookie is itself necessary — we cannot remember that you refused analytics without storing the fact that you refused.

3.2 Analytics

NameProviderDurationPurpose
wsm_anon_idWall St Math (first party)12 monthsA random identifier for first-party analytics measurement; sent to Wall St Math analytics endpoints when analytics is enabled and cleared when analytics is withdrawn. It is not required for account functionality
_gaGoogle Analytics2 yearsDistinguishes users for Google Analytics where analytics is enabled; sent to Google
_ga_*Google Analytics2 yearsMaintains Google Analytics session state where analytics is enabled; sent to Google
_gidGoogle Analytics24 hoursDistinguishes users for Google Analytics where analytics is enabled; sent to Google

3.3 Marketing

None. We currently run no advertising, remarketing, or conversion-tracking pixels. The category exists in our consent tool so that if we introduce them, they arrive switched off and can only be enabled by you. We will update this page before any such cookie is set for the first time.

3.4 Browser storage (local and session)

KeyPurposeTransmissionDuration
wall-st-math-themeLight/dark theme preferenceStays in this browserUntil cleared
currentSessionIn-progress drill state (sessionStorage)Stays in this browser; submitted drill data is sent to Wall St MathUp to 15 minutes inactivity / completion
guestSessionGuest drill state (sessionStorage)Stays in this browser; result sent when submittedUntil completion, sign-in, or clear
submittedSessionIdsPrevents duplicate submissions (sessionStorage)Stays in this browserSession lifetime
hasBootedSkips terminal intro after first view (sessionStorage)Stays in this browserSession lifetime
__wsm_prefetch_authPrefetched auth seed (sessionStorage)Stays in this browser and is consumed by the auth hookUp to 60 seconds
__wsm_prefetch_progressPrefetched dashboard data (sessionStorage)Stays in this browser and is consumed by the dashboardUp to 60 seconds
basicsSession:<userId>In-progress Basics run (sessionStorage)Stays in this browser; explicit save may sync resultsUntil completion or clear
wsm:sprint:history:v2 / v1Local sprint history and legacy migrationStays in browser; selected runs sync only when savedUp to 25 runs / until cleared
wsm:sprint:conversion-intent:v1Short-lived sign-in intentStays in browser; ID may appear in Wall St Math auth redirect24 hours
wsm-daily-attempt:<date>Daily result display cacheStays in browser; attempt sent on submissionUntil replaced or cleared
feature-requestsFeature request draftsStays in browser until explicitly submittedUntil cleared
wallstmath-sound-enabledSound preferenceStays in browserUntil cleared
basicsHistory:<userId>Basics practice historyStays in browser; may sync when explicitly savedUp to 30 entries / until cleared
sessionHistoryLegacy local session-history cleanup keyStays in this browser; not used by current syncUntil cleared
wsm:drill:completions:v1Pending authenticated drill completions and recent receiptsUnsynced attempt payloads are sent to Wall St Math until confirmedUnsynced until confirmed; newest 25 synced receipts for up to 30 days; until cleared

Browser storage is origin-scoped. We do not sell it or use it for cross-context advertising; transmission occurs only where the purpose above calls for a request or explicit sync.

4. How your choices work

What you are asked depends on where you are, because the law genuinely differs rather than because we treat you differently:

If you are inWhat happens
Strict-consent regions (EU/EEA, UK, Brazil, Canada, China, Switzerland, Türkiye, and unknown locations)Nothing beyond strictly necessary cookies is set until you opt in. Rejecting is exactly as easy and as prominent as accepting
Standard regionsAnalytics may run under the applicable permitted basis; marketing is off. You can switch analytics off immediately and persistently

Either way, Your Privacy Choices in the footer leads to privacy settings on any page, and changing your mind takes effect immediately. We ask again after 6 months, or sooner if we materially change what we collect.

Consent and analytics behavior follows the region resolver and current consent implementation. In strict-consent regions, analytics is blocked until opt-in; in standard regions it may run under the applicable permitted basis, with an immediate persistent opt-out in Privacy Choices.

5. Controlling cookies in your browser

You can block or delete cookies through your browser settings — every major browser documents this under Privacy or Settings. Blocking strictly necessary cookies will stop you being able to log in.

Browser-level clearing removes our record of your consent choices too, so you will be asked again on your next visit. Where the consent implementation detects a Global Privacy Control signal, it applies the corresponding non-necessary opt-out; see the in-product Privacy Choices control for current behavior.

6. Related policies

What we do with the data these cookies generate is described in our Privacy Policy. The third parties that receive any of it are listed at /subprocessors.

Questions: hello@wallstmath.com