Last updated: 22 May 2026 — Version 2.1

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

  1. Open Chrome menu (three dots, top right)
  2. Go to SettingsPrivacy and security
  3. Click Delete browsing data
  4. Select Cookies and other site data
  5. Optionally enter this site's domain to delete only our cookies
  6. Click Delete data

Mozilla Firefox

  1. Open Firefox menu (three lines, top right)
  2. Go to SettingsPrivacy & Security
  3. Under Cookies and Site Data, click Manage Data…
  4. Search for this site's domain in the list
  5. Select the entry and click Remove Selected
  6. Click Save Changes

Apple Safari

  1. Open Safari menu → Preferences (macOS) or Settings (iOS)
  2. Click the Privacy tab
  3. Click Manage Website Data…
  4. Search for this site's domain
  5. Select the entry and click Remove
  6. 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:

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:

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:

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.