Cookie Policy
Last updated: 2026-09-16
This page lists every cookie HockeyOS sets or causes to be set, and every key it writes to your browser’s storage. It is drawn from the code, not from a template. We do not use analytics, advertising or tracking cookies, and nothing here is shared with an ad network or used to follow you across other sites.
1. Cookies
Strictly necessary cookies are required for sign-in or payment to work. Preference cookies remember a choice you made; the site works without them (you would see the defaults).
| Name | Set by | Purpose | How long | Category |
|---|---|---|---|---|
__session | Clerk | Your sign-in session token. Every dashboard request checks it to know who you are. Without it you cannot be signed in. | While you are signed in; refreshed by Clerk as you use the site and removed at sign-out or when the session expires. | Strictly necessary |
__client_uat | Clerk | Records when your sign-in state last changed so pages know whether to check for a session before rendering. | Same lifetime as the session. | Strictly necessary |
__clerk_db_jwt | Clerk | Development instances only (never on hockeyos.ca): carries the session between Clerk's hosted pages and the app. | Session. | Strictly necessary |
hos-theme | HockeyOS | Your colour theme choice (system, light or dark) so the first paint is the right colour. | 1 year from when you last changed it. Only set once you pick a theme. | Preference |
hos-density | HockeyOS | Your dashboard density choice (comfortable or compact). | 1 year from when you last changed it. Only set once you pick a density. | Preference |
hos-season-<organization id> | HockeyOS | The season you last selected in a club's dashboard, one cookie per club, so schedule and stats pages open on that season. | 1 year from when you last picked a season. Removed when you switch back to the current season. | Preference |
__stripe_mid, __stripe_sid | Stripe | Set by Stripe's payment form on a club's registration payment page, for fraud prevention. Card details go straight to Stripe and never touch HockeyOS. | __stripe_mid: 1 year. __stripe_sid: 30 minutes. Only on pages that load the payment form. | Strictly necessary |
Clerk may set other short-lived cookies during the sign-in redirect itself (for example while handing off from its hosted sign-in page); they are all strictly necessary and are described in Clerk’s own documentation. The preference cookies are set with SameSite=Lax and are never read by anyone but HockeyOS.
2. Third-party content
Public player pages can embed a video from YouTube, Vimeo or LiveBarn when a club adds one. Those players set their own cookies when you press play, under those companies’ policies. Nothing is loaded until you play the video.
3. Browser storage (not cookies)
These keys stay in your browser and are never sent to our servers as such. They exist for the app to work offline or to save you re-typing something.
| Key | Where | Purpose | How long |
|---|---|---|---|
hos:reg-group:<form id> | localStorage | On a public registration form, a token for the family group you just registered, so a second child can be added to the same group (for sibling pricing) without re-entering the household. | Until you clear site data for hockeyos.ca. Only set after you submit a registration. |
hockeyos-install-dismissed-at | localStorage | When you dismissed the "install HockeyOS as an app" prompt, so it does not reappear for a while. | Until you clear site data. |
hockeyos-gameday | IndexedDB | The offline scoring queue: goals, penalties and shot counts recorded at the rink without a connection, held until they sync. | Each entry is removed once it has synced. Only created if you use live scoring. |
hockeyos-shell-v1, hockeyos-static-v1 | Service worker cache | Copies of the dashboard shell and static files so the app opens when you are offline. | Replaced when a new version of the app is deployed; removed if you uninstall the app or clear site data. |
4. Error reporting
If something breaks in your browser, an error report goes to Sentry through our own domain. It carries the error, the page and your browser version; it sets no cookie and does not build a profile of you.
5. Turning cookies off
You can block or delete cookies in your browser. Block the Clerk cookies and you cannot sign in; block the Stripe cookies and the payment form may refuse the card. Delete the preference cookies and you simply get the defaults again. Clearing site data also removes the browser-storage keys above, including any unsynced offline scoring.
6. Changes
If we add a cookie category (for example analytics), we will update this page, list the change on the legal changelog, and — where the law requires — ask for consent before setting it. See also the Privacy Policy.