Skip to browser storage information

Cookies and browser storage, in plain English

The core ChoiceSpin wheel does not use cookies to remember your wheel. Vercel Web Analytics is cookie-free. Google Analytics may use first-party analytics cookies: in the EEA, the UK and Switzerland only after you accept, and elsewhere unless you refuse. No ads are shown yet.

Last updated .

Optional analytics cookies

When Google Analytics runs, it may set _ga and _ga_<identifier>. Choosing Reject analytics deletes them. ChoiceSpin does not use those cookies for advertising or wheel content.

Local storage is active

It keeps entries, My Wheels, images, history, appearance, sound, timing, and preferences.

Hosted identity is session-only

Share and live-room authentication and owner controls are limited to the current tab session.

Asked first where it applies

In the EEA, the UK and Switzerland, ChoiceSpin asks before Google Analytics runs and keeps your answer in this browser for six months. Vercel's limited public page counts remain cookie-free.

What the current site stores

This inventory covers cookie-free Vercel measurement, Google Analytics and the choice that controls it, Google's privacy message service, and storage used by local or optional hosted features.

01

Status today

The core wheel uses browser storage for local features and does not use cookies to remember wheel content. When you choose Share or Spin With Friends, Firebase session authentication and reCAPTCHA Enterprise App Check protect the hosted request. Google says its reCAPTCHA script can issue security tokens as a cookie on the site domain.

The current site loads Vercel Web Analytics on the homepage and its language versions, the About pages, the published tool pages, /fairness, /for-teachers, /for-streamers, /obs-wheel, /randomness-audit, /faq, /contact and /changelog, when the address has no fragment and no query string other than campaign or click tags that links from other sites add (utm_source, utm_medium, utm_campaign, utm_term, utm_content, utm_id, and fbclid, which Facebook and Instagram add). Those tag values are removed: the page view records only the page's plain address. Vercel Web Analytics also loads on shared wheels opened through a /w/ or /p/ link. It does not load on legal pages (/privacy, /terms and this Cookies page), /gallery, /wheels, /embed, drafts, previews or any other page. That integration uses no analytics cookies or browser storage. Vercel may record an empty referrer, the origin of the website you came from, or the Google app's fixed Android identifier. Other app identifiers, and app referrers containing a path, query string or fragment, are refused.

The Google tag can load on eligible public pages with Google consent mode. It never loads on this page or the Privacy page, which keep only the Analytics choices control. In the EEA, the United Kingdom and Switzerland, it loads only after you choose Accept analytics in ChoiceSpin's own prompt, described under Consent and your choices. Outside those regions, analytics storage is granted by default. A denied choice stops measurement. When Google Analytics runs on eligible public pages, such as the tool pages and the wheel library, it sends one canonical page view per load, supplied campaign tags, an empty or origin-only referrer, and ordinary technical information. Google's tag also marks a first visit and the start of a session and sends a separate engagement-time event. When a spin of the main wheel that you started finishes, ChoiceSpin sends one fixed wheel_spin event, at most three per page load, but only outside the consent region and only while you have not saved a choice in ChoiceSpin's prompt, which asks about page views, not spins; it carries no wheel titles, entries or results. It does not load on the Gallery. Fixed events on wheel pages record public publishing attempts and outcomes and link copying only when Google explicitly reports Analytics granted or not applicable; an Accept in ChoiceSpin's own prompt does not count for them. They include no wheel content, search text, share identifiers, raw errors or caller-supplied data. Unknown or denied actions are dropped and never replayed. Automatic enhanced measurement is off. Google measurement stays excluded from shared-wheel viewers, rooms, imports, embeds, drafts and previews. Public production pages also load Vercel Speed Insights for performance metrics. No ads are shown yet; the advertising cookies Google may use once they run are listed in the storage inventory.

Google's privacy message service: this is the Google script that shows Google's privacy message and would also load ads, so this page also calls it Google's consent and advertising loader. Outside the region described under Consent and your choices, it loads on eligible public pages with ad requests paused. Where its message applies, ChoiceSpin reads only Google's Analytics-specific status. Advertising permission alone is not used as Analytics permission. In the region, and anywhere while a ChoiceSpin Analytics choice is saved in your browser, it does not load. It never loads on this Cookies page, the Privacy and Terms pages or the Gallery. Otherwise, to reach Google's message or its US opt-out controls, open another public ChoiceSpin page, such as the homepage.

02

Cookies, localStorage, and sessionStorage are different

Cookies

Small values a browser may send back with web requests. Google Analytics may set first-party identifiers when it runs. Outside the consent region, Google's privacy service may use cookies to remember your choices. Once ads run, Google and other ad companies may set advertising cookies. Hosting or reCAPTCHA may also use technical security cookies. Wheel content is kept separately in browser storage.

localStorage

Stays on the device without being attached to every request. ChoiceSpin uses it for wheel data and settings, with no programmed expiry, and for your Analytics choice, which lasts six months.

sessionStorage

Belongs to a tab session. ChoiceSpin uses it for limited recovery, one-use flow flags, anonymous hosted-feature authentication, same-tab Share owner controls, and two notes for the Analytics prompt.

Because these are different systems, choosing “clear cookies” may not remove a wheel stored in localStorage. Use the browser’s “site data” control when you want to clear everything for ChoiceSpin.

03

Human-readable storage inventory

Stored itemTypePurposeDurationHow to remove it
Theme choicelocalStorageKeep light or dark modeUntil replaced or site data is clearedChange theme or clear site data
Language choicelocalStorageKeep links in the language you last readUntil replaced or site data is clearedChange the language or clear site data
Entries and editor statelocalStorageRestore the current wheel and advanced entriesNo programmed expiryReset entries or clear site data
My Wheels projectslocalStorageKeep named wheel projects on this deviceUntil deleted or site data is clearedDelete in My Wheels or clear site data
Uploaded images and appearancelocalStorageRestore wheel, center, background, and option imagesNo programmed expiryRemove the image, reset appearance, or clear site data
Result historylocalStorageShow up to 250 recent winner recordsUntil cleared or older records are replacedUse Clear results or clear site data
Sound, duration, and after-spin choiceslocalStorageRemember wheel behaviorNo programmed expiryChange settings or clear site data
Multi-wheel runtime revisionslocalStorageRecover current and previous local runtime stateOlder revisions are cleaned during normal useClear site data
Your Analytics choicelocalStorageRemember whether you accepted or rejected Google Analytics, so you are not asked on every page. No identifier is storedSix months from the day you chose; visits do not extend itUse Analytics choices at the bottom of the page, or clear site data
Analytics prompt notes for this tabsessionStorageKeep the host's region answer, and keep a prompt you closed without choosing out of the wayCurrent tab sessionClose the tab or clear site data
Google privacy choices, outside the consent regionGoogle-managed cookies and browser storage, including the FCCDCF and FCNEC cookies of Google's privacy message serviceRemember applicable advertising and Analytics choices made in Google's message. Google classes FCCDCF as a functionality cookie and FCNEC as an analytics cookieGoogle lists FCCDCF at 13 months and FCNEC at 365 days. Other records last until Google expires or refreshes them, you change the choice, or you clear site dataUse Google's applicable controls when available, or clear site data
Google advertising cookies, once ads runCookies Google can set, including __gads, __gpi and __eoi on choicespin.com and IDE, id, DSID and test_cookie on its ad domain doubleclick.net. Google's full list names othersShow and limit ads, measure them, protect against ad fraud and, where allowed, personalize ads based on your visits to ChoiceSpin and other sites. Google decides which of these it sets. Other ad companies that Google allows to serve ads through AdSense may set their own cookiesGoogle lists __gads and __gpi at 13 months, __eoi at 6 months, IDE and id at 13 months in the EEA, the UK and Switzerland and 24 months elsewhere, DSID at 2 weeks and test_cookie at 15 minutes. An id cookie that records an opt-out from personalized ads lasts until 9 November 2030Opt out of personalized ads in Google's Ads Settings, at www.aboutads.info/choices or at www.youronlinechoices.eu, or clear cookies
Google Analytics identifiersFirst-party _ga and _ga_<identifier> cookiesDistinguish permitted public page views, finished-spin events and fixed publishing events without storing wheel content2 years from your most recent visit (Google's default, which ChoiceSpin does not change), or until you clear site dataChoose Reject analytics under Analytics choices, which stops new measurement and deletes them, or clear site data
Temporary recovery flagssessionStorageRestore a palette or complete a one-use flowUntil used, removed, or the tab session endsClose the tab or clear site data
Anonymous Firebase authenticationsession browser storage managed by FirebaseAuthenticate Share and live-room requests without a public accountCurrent tab sessionClose the tab or clear site data
Current Share owner handlesessionStorageLet this tab reuse its current private linkUntil the link expires, another link is saved, or the tab session endsClose the tab or clear site data
App Check and anti-abuse tokenGoogle reCAPTCHA Enterprise security storage or cookieVerify that a request came from the real site and limit automated abuseShort-lived security token; provider security records can follow provider retentionClose the tab, clear site data, or avoid the optional hosted feature
04

Technical storage keys

The names below help developers and privacy reviewers verify the inventory. Some keys add a route or page scope after the base name.

Show the main localStorage and sessionStorage keys

Theme, language and entries: spinchoice_theme, spinchoice_language_v1, spinchoice_entries_v1, spinchoice_entries_user_edited_v1, spinchoice_entries_advanced_v1__<scope>, and spinchoice_entries_visible_limit_v1.

Results and My Wheels: spinchoice_results_v1, spinchoice_mywheels_index_v1, and spinchoice_mywheel_state_<wheel-id>.

Appearance and images: keys beginning spinchoice_wheel_, spinchoice_option_image, spinchoice_page_bg_, and spinchoice_recent_colors_v1.

Spin behavior: keys beginning spinchoice_during_spin_, spinchoice_after_spin_, and spinchoice_spin_duration_seconds_v1.

Multi-wheel runtime: keys beginning spinchoice_runtime_v2__, choicespin_mw_wheel_colors_v1__, and choicespin_mw_results_v1__.

Analytics: localStorage choicespin.analytics-consent.v1 holds your choice (granted or denied), the day you chose, the expiry day six months later and the notice version, with no identifier. sessionStorage choicespin.analytics-consent.region keeps an "ask" answer from the host for the tab, choicespin.analytics-consent.dismissed records that you closed the prompt without choosing, and choicespin.analytics-consent.refused keeps a refusal for the tab when local storage would not save it. When Google Analytics runs, it may set first-party cookies named _ga and _ga_<identifier>.

Google consent and advertising cookies: outside the consent region, Google's privacy message service may set FCCDCF and FCNEC on choicespin.com. Once ads run, Google may set cookies including __gads, __gpi and __eoi on choicespin.com and IDE, id, DSID and test_cookie on doubleclick.net. These names and lifetimes come from Google's cookie information for its ad products.

Session-only: choicespin_mw_customize_backup_v1, choicespin_trigger_new_wheel_v1, the current private-link owner handle, and Firebase Authentication session records used only after Share or Spin With Friends is activated.

05

How long browser data lasts

Most ChoiceSpin localStorage has no programmed expiry date. It stays until the app replaces or deletes it, you use an in-app clear action, or the browser clears site data.

Result history is limited to 250 records, so older records are replaced as new ones are added. Multi-wheel runtime storage keeps the current and one prior revision during normal cleanup.

Your Analytics choice lasts six months from the day you made it; visits do not extend it. Its two tab notes end with the tab session. Outside the consent region, Google manages the lifetime of its own consent records; it lists FCCDCF at 13 months and FCNEC at 365 days. The advertising cookies Google may set once ads run last from 15 minutes to 24 months, or until 9 November 2030 for Google's opt-out cookie, as the inventory shows. Choosing Reject analytics deletes Google Analytics cookies on this site; otherwise they remain until they expire or you clear site data. ChoiceSpin does not override Google's default cookie settings, and Google lists _ga and _ga_<identifier> at 2 years. By default Google renews that expiry on each visit, so the 2 years count from your most recent visit.

Firebase authentication for Share and live rooms uses session persistence and should clear when the tab or window closes. The link or room data stored on the server has its separate 24-hour or 6-hour limit described on the Privacy page.

Private-browsing windows and some browser storage settings may clear data sooner. Do not rely on My Wheels as the only backup of something important; download a .wheel file.

06

Hosting, security, and third-party technology

Vercel delivers and protects the site. Its Web Analytics service records anonymous aggregate page views on the limited public routes described above. Vercel derives a visitor hash from request data and resets it daily; ChoiceSpin does not add a cookie for that integration. When Google Analytics runs, the browser loads Google's tag and sends the limited page view, the wheel_spin event and the permitted publishing events described above to Google. Google Firebase provides optional hosted-feature authentication and App Check; reCAPTCHA Enterprise may issue a site-domain security cookie or use related browser signals to assess abuse. Public publishing also uses Cloudflare Turnstile to check for abuse using browser and request signals.

ChoiceSpin has applied to show ads through Google AdSense. No ads are shown yet. When ads run, Google and other ad companies that Google allows to serve ads through AdSense may place and read cookies in your browser, or use web beacons or IP addresses to collect information, as the Privacy page explains; it also lists the opt-outs. Outside the consent region, Google's privacy message service loads on eligible public pages with ad requests paused and may read existing Google-domain cookies. The service uses cookies or similar browser storage to remember applicable choices. Google Analytics may use first-party identifiers when it runs. Security providers may use technical storage when the relevant protected feature is requested. Google explains its cookie purposes and lifetimes.

Clicking a social-share link or sending an email connects you to the service you chose. That service may use its own cookies and storage under its own policy.

08

How to clear ChoiceSpin data

Use the narrowest control that solves your need:

  1. Use Clear results to remove only recent winner history.
  2. Delete a project in My Wheels to remove that local saved wheel.
  3. Reset appearance or settings if you only want the defaults back.
  4. Use your browser’s site-data settings for choicespin.com to remove all ChoiceSpin localStorage, sessionStorage, and any cookies together.
Back up first: clearing all site data can permanently remove local wheels and uploaded images. Download any wheel you want to keep.
09

If the storage model changes

This page must be updated before ChoiceSpin enables public accounts, cloud sync, ads that use cookies in the consent region, another ad network chosen by ChoiceSpin, additional analytics events, broader measurement, a different consent system, or materially different Share or live-room storage.

A meaningful change should update the date, the inventory, the purpose, the duration, the provider, and the control available to the visitor.

10

Questions about browser storage

ChoiceSpin is personally operated by Γεωργιος Συκιωτης / GEORGIOS SYKIOTIS, based in Greece.

Send a question to choicespin@gmail.com or use the contact page. Include your browser and the name of the setting or saved item you are asking about.

For broader data-handling details, read the Privacy page.