1. What Are Cookies?
Cookies are small text files that a website stores in your web browser when you visit. They allow the Site to recognise your browser across page loads and return visits, remember settings or preferences you have chosen, and gather aggregated statistics about how pages are used. Cookies are widely used across the internet and are essential to many basic website functions.
SaskatoonChoice uses cookies and a related browser technology called localStorage (explained in §4 below) to provide a functional and personalised experience on our free social game platform. Because we handle no real-money transactions and collect no personal identity data, the volume and sensitivity of cookies we set is very low compared to typical e-commerce or financial websites.
2. Cookie Categories We Use
We classify cookies into three categories. Only strictly necessary cookies are set by default. All other categories require your explicit consent via the cookie banner at the bottom of this page.
Strictly Necessary
These cookies are essential for the Platform to function correctly. They store your age-confirmation status and cookie-consent decision so that you are not asked to re-confirm on every page load. Without these cookies, core Platform mechanics — such as opening the game zone after age confirmation — cannot operate. You cannot opt out of strictly necessary cookies; they are set as part of the fundamental operation of the Site.
Analytics
Analytics cookies help us understand how visitors interact with our Site — which pages are most visited, how long users spend in the game zone, and where technical errors are occurring. All analytics data is aggregated and anonymised before we review it; we do not link analytics events to individual identities. We use Google Analytics 4 for this purpose. Analytics cookies are only set after you click "Accept" on the cookie banner.
Advertising
SaskatoonChoice does not run advertising campaigns and does not use advertising cookies for targeting or remarketing purposes. The advertising category exists in our GCM (Google Consent Mode) configuration as a required field, but the consent signals ad_storage, ad_user_data, and ad_personalization remain set to denied by default and are never upgraded, because we do not operate advertising networks. No advertising cookie is ever set on this Site.
3. Full Cookie Inventory
The table below lists every cookie that may be present in your browser while visiting SaskatoonChoice. The inventory is audited and updated whenever the Platform is updated.
| Cookie Name | Category | Set by | Purpose | Expiry |
|---|---|---|---|---|
jg_age_ok |
Necessary | SaskatoonChoice | Records that the user has confirmed they are 18 or older via the age-gate dialog. Prevents the age gate from appearing on subsequent page loads during the consent window. No personal data encoded. | 180 days from confirmation |
jg_consent_v2 |
Necessary | SaskatoonChoice | Records that the user has acknowledged the cookie banner and accepted the use of analytics cookies. The "v2" suffix enables detection of policy-version changes — if the policy is materially updated, the banner reappears automatically. | 180 days from acceptance |
_ga |
Analytics | Google Analytics 4 | Distinguishes unique users by assigning a randomly generated client identifier. Used to calculate metrics such as "new vs. returning users". Does not contain personally identifiable information. Set only after consent is given. | 2 years (reset on each visit) |
_gid |
Analytics | Google Analytics 4 | Distinguishes users within a single day. Works in tandem with _ga to provide daily session statistics. Set only after consent is given. |
24 hours |
_gat |
Analytics | Google Analytics 4 | Used to throttle the request rate to Google Analytics servers — limits the number of data packets sent per second to prevent overloading. Contains no user data. Set only after consent is given. | 1 minute |
_ga_[ID] |
Analytics | Google Analytics 4 | Google Analytics 4 session-level cookie. Stores and updates the current session state, including session start timestamp, page sequence, and engagement signals. The "[ID]" segment is the Site's unique GA4 measurement ID. Set only after consent is given. | 2 years (reset on each visit) |
4. localStorage Mirrors and the file:// Fallback
In addition to cookies, SaskatoonChoice uses the browser's localStorage API to store the same preference values as a reliable fallback mechanism. This means that the values of jg_age_ok and jg_consent_v2 (and their expiry siblings, described below) are written to both a cookie and a localStorage entry simultaneously.
The dual-write approach ensures that age and consent state is preserved even if a user's browser is configured to block or auto-clear cookies at session end (a common setting on some privacy-hardened browsers and mobile browsers in private/incognito mode). When our JavaScript reads either value, it checks localStorage first and falls back to the cookie if localStorage is unavailable.
| localStorage Key | Mirrors Cookie | Companion Expiry Key | Purpose |
|---|---|---|---|
jg_age_ok |
jg_age_ok cookie |
jg_age_ok_exp (Unix timestamp) |
Stores the age confirmation flag ("1") in localStorage so that the age gate does not reappear after the cookie is cleared. The companion _exp key stores the expiry timestamp; our JS checks it on load and clears both keys when expired. |
jg_consent_v2 |
jg_consent_v2 cookie |
jg_consent_v2_exp (Unix timestamp) |
Stores the consent confirmation flag ("1") in localStorage. Cleared automatically when jg_consent_v2_exp indicates the 180-day window has elapsed. |
file:// protocol note: If you save the Site's HTML locally and open it via a file:// URL (rather than a web server), cookies cannot be set due to browser security restrictions on the file: protocol. In this scenario the Platform falls back entirely to localStorage, ensuring the age gate and consent banner still behave correctly.
localStorage values have no built-in expiry mechanism (unlike cookies). SaskatoonChoice manages expiry by storing a companion _exp key containing a Unix timestamp. On each page load, our JS compares the current time to the stored timestamp; if the stored time has passed, both the value key and the _exp key are deleted. This ensures localStorage values do not persist indefinitely.
5. Reopen Cookie Controls
You can reopen the cookie consent banner at any time by clicking the button below. This will clear your jg_consent_v2 cookie and localStorage entry and display the banner, allowing you to either accept or decline analytics cookies again.
Note: Reopening the cookie controls does not affect your age-confirmation status. If you wish to reset your age gate, clear all site data for this domain in your browser settings (see §6 below).
6. Browser-Side Controls — How to Clear Cookies
You can delete cookies set by SaskatoonChoice at any time using your browser's built-in settings. Instructions for the three most common desktop browsers are provided below. On mobile, the settings menus are typically found under your browser's "Settings" or "Privacy" option.
Google Chrome
- Open Chrome menu (three dots, top right)
- Go to Settings → Privacy and security
- Click Delete browsing data
- Select Cookies and other site data
- Optionally enter this site's domain to delete only our cookies
- Click Delete data
Mozilla Firefox
- Open Firefox menu (three lines, top right)
- Go to Settings → Privacy & Security
- Under Cookies and Site Data, click Manage Data…
- Search for this site's domain in the list
- Select the entry and click Remove Selected
- Click Save Changes
Apple Safari
- Open Safari menu → Preferences (macOS) or Settings (iOS)
- Click the Privacy tab
- Click Manage Website Data…
- Search for this site's domain
- Select the entry and click Remove
- Click Done
Clearing cookies will reset your age-gate confirmation and consent choice. The age-gate dialog will reappear on your next visit and you will need to re-confirm that you are 18+.
7. Third-Party Cookies — Off by Default
Third-party cookies are cookies set by domains other than the domain you are visiting. SaskatoonChoice does not embed third-party advertising networks, social media widgets, or affiliate-tracking scripts. The only third-party cookies that may be set on our Site are Google Analytics cookies (_ga, _gid, _gat, _ga_[ID]), and these are only activated after you give your explicit consent via the cookie banner.
By default — before any consent is given — Google Consent Mode signals are set as follows:
security_storage: granted (essential for security functions)ad_storage: denied (no advertising — never upgraded)ad_user_data: denied (no advertising — never upgraded)ad_personalization: denied (no advertising — never upgraded)analytics_storage: denied until consent is givenfunctionality_storage: denied until consent is givenpersonalization_storage: denied until consent is given
When you click "Accept" on the cookie banner, analytics_storage, functionality_storage, and personalization_storage are upgraded to granted. Advertising signals remain permanently denied regardless of consent, as we have no advertising use case.
You can opt out of Google Analytics tracking globally across all websites by installing the Google Analytics Opt-out Browser Add-on.
8. Cookie Duration Summary
For quick reference, here is a summary of the maximum duration for which each category of cookie remains active:
- Strictly necessary (
jg_age_ok,jg_consent_v2): 180 days from the date set, then automatically expire and are cleared from both cookie storage and localStorage. - Analytics (
_ga,_ga_[ID]): Up to 2 years, but reset to a new 2-year window on each visit. These cookies are only set after consent. - Analytics (
_gid): 24 hours. Expires the day after it is set. - Analytics (
_gat): 1 minute. Used only for rate throttling.
9. Changes to This Cookie Policy
We may update this Cookie Policy to reflect changes in the cookies we use, updates to applicable law, or changes to our platform technology. When material changes are made, the "Last updated" date at the top of this page will be revised. We will also increment the version suffix of the jg_consent_v2 cookie key (e.g., to jg_consent_v3) whenever a policy update is significant enough to require re-consent. This ensures that the consent banner reappears automatically for all returning users, allowing them to review and accept the updated terms.
Minor changes (such as updating the description of an existing cookie) will not trigger a re-consent prompt.
10. Contact
For questions or concerns about our use of cookies or browser storage, please contact our privacy team:
- Email: [email protected]
- Postal address: SaskatoonChoice, Privacy Officer, 1247 Broadway Avenue, Saskatoon, SK S7K 1L4, Canada
- Phone: +1 (306) 487-3291 (business hours, Mountain Time)
You also have the right to lodge a complaint with the Office of the Privacy Commissioner of Canada at priv.gc.ca if you believe we are not handling cookie-related data in compliance with Canadian privacy law.