Local by default
Entries, local images, saved wheels, settings, and history stay in this browser unless you deliberately share or collaborate.
ChoiceSpin keeps wheel work in your browser by default. Wheel data reaches hosted services only when you choose a feature such as Share or Spin With Friends.
Last updated .
Entries, local images, saved wheels, settings, and history stay in this browser unless you deliberately share or collaborate.
Loading the website sends ordinary network request data to the hosting and delivery service.
The contact form sends the email and description you enter, fixed delivery metadata, and ordinary request data needed to process it. Direct email remains available as a fallback.
Vercel Web Analytics provides cookie-free page counts. In the EEA, the UK and Switzerland, Google Analytics runs only after you accept it. Elsewhere it runs until you refuse it.
The short version is above. The sections below give the full current behavior, limits, retention facts, and controls.
ChoiceSpin is personally operated by Γεωργιος Συκιωτης / GEORGIOS SYKIOTIS, based in Greece. He is the data controller for personal data processed by ChoiceSpin, responsible for deciding why and how it is used. Contact details are in the privacy contact section.
This policy covers the public ChoiceSpin website, the wheel running in your browser, locally saved wheels, private Share links, Spin With Friends rooms, result exports, optional journal comments, and contact through the form or email fallback.
Private Share, public Gallery publishing and live rooms are optional hosted features. Their controls depend on the matching service being available. There are no accounts and no cloud sync. ChoiceSpin has applied to show ads through Google AdSense, and no ads are shown yet; the Advertising section explains what changes when they run. Vercel Web Analytics provides limited cookie-free page counts; Vercel Speed Insights measures page performance. Google Analytics can run on published public pages, such as the tool pages and the wheel library, under the consent rules below. It never runs on this page or the Cookies page, which keep only the Analytics choices control, or on the Gallery. Google measurement is excluded from individual shared-wheel viewers, imports, rooms, embeds, drafts and previews.
The current wheel uses browser storage so it can remember your work without an account.
This data is not automatically uploaded to a ChoiceSpin account because the current site does not provide accounts or cloud sync.
Using any website creates ordinary network requests. ChoiceSpin is no exception.
user_engagement) while the page is open; none of these carries wheel content. When a spin of the main wheel that you started on a wheel page finishes, ChoiceSpin sends one fixed event named wheel_spin, at most three per page load. It is sent only where Google Analytics runs without ChoiceSpin's own prompt: outside the EEA, the United Kingdom, Switzerland and the other areas listed under your Analytics choice, and only while you have not saved a choice in that prompt. The prompt asks about page views and how you arrived, not about spins, so after an Accept in it Google Analytics measures page views but not spins. Spins of extra wheels on their own are not counted. The event contains the public page address, the static page title and the same empty or origin-only referrer, not wheel titles, entries, results or the number of entries, and a spin that started before Google Analytics was allowed is not sent later. Fixed events for public publishing attempts and outcomes and for copying a public link follow a stricter rule: ChoiceSpin sends them on wheel pages only when Google explicitly reports Analytics granted or not applicable. The Gallery page no longer loads Google Analytics, so it sends no Gallery loading, search or Use wheel events. An Accept in ChoiceSpin's own prompt does not count for these events. These events contain the public page address and static page title, not wheel titles, entries, descriptions, results, search text, Share or room identifiers, or raw errors. Unknown consent is not enough for these events; actions are not saved for later replay. Automatic enhanced measurement is off. ChoiceSpin disables Google Signals and ads-personalization signals in its tag configuration. Public campaign and section links are eligible; individual wheel viewers, rooms, imports, pages kept out of search results and previews are excluded. Google explains how Google uses information from sites that use its services.Opening or saving a local .wheel file uses the browser’s file tools. The file is not uploaded to ChoiceSpin by that action.
Private Share, public Gallery publishing and Spin With Friends are optional hosted features. Opening the Gallery requests intentionally published public summaries. Private wheels are never added automatically. Public publishing requires an explicit choice and a successful server response.
Vercel Speed Insights measures performance on public production pages, including Core Web Vitals, a page path without query strings or fragments, and technical browser/device information. Its loader excludes shared-wheel viewers, embeds, rooms and imports. Performance attribution includes element selectors, which may contain public Gallery card identifiers. This URL filtering applies to performance metrics; ordinary hosting request logs are separate. Vercel describes these measurements as anonymous and not tied to a visitor; see its Speed Insights privacy information. Vercel Web Analytics keeps the separate page-count boundary described above, including path-only shared-wheel views. Google Analytics follows the consent and event limits above and below. Outside the region described below, Google's privacy message service may load with ad requests paused; see Advertising. The separate /api/track endpoint stores nothing.
Your Analytics choice in the EEA, the UK and Switzerland: Google is not showing its own European privacy message on ChoiceSpin at the moment, so ChoiceSpin asks you itself. This region covers the EEA, the United Kingdom and Switzerland, plus Réunion, Guadeloupe, Martinique, French Guiana, Mayotte, Saint Martin and the Åland Islands, which have their own country codes. There, consent is the legal basis for Google Analytics, and ChoiceSpin chooses to ask before it runs.
_ga and _ga_*) on this site. If your browser will not save the refusal, it still holds until you close the tab, and ChoiceSpin tells you so.choicespin.analytics-consent.v1 in local storage: accepted or rejected, the day you chose, an expiry day six months later, and the notice version. It holds no identifier and is not sent to ChoiceSpin. Visits do not extend it. After six months, or after a material change to the prompt's wording, it no longer counts and you are asked again.Outside the region: ChoiceSpin does not ask. Google Analytics runs with analytics storage granted by default, and you can refuse it with Analytics choices. Google's privacy message service loads with ad requests paused. Google may display a message based on your region and saved choices, and it provides its applicable US opt-out controls. Where Google's message applies, ChoiceSpin reads only Google's Analytics-specific status; advertising permission alone is not used as Analytics permission. If Google's own location check places you in the European region when the host did not, Google starts analytics storage denied and may show its own Privacy choices button. Google's tag can then still send the page view and the wheel_spin event without reading or writing Analytics cookies, which Google calls cookieless pings. Google's privacy message service does not load on the Privacy, Cookies and Terms pages or on the Gallery, so Google's Privacy choices button is not offered there. It also does not load on any page while your browser holds a ChoiceSpin Analytics choice. Otherwise, to reach Google's message or its US opt-out controls, open another public ChoiceSpin page, such as the homepage.
Loading Google's privacy message service contacts Google and may read existing Google-domain cookies. Google uses cookies or similar browser storage to remember applicable privacy choices. No ads are shown yet, even if you consent to Google. See Google's privacy policy and the Cookies page for more information.
Accounts, cloud sync and any measurement beyond the disclosures on this page need an update to this page before they start.
On eligible public production pages, ChoiceSpin loads Sentry's error-reporting code only after a qualifying browser error. A report contains an allowed JavaScript error type, the fixed message Unhandled browser error
, a static script URL and line and column numbers, the canonical public page route, and an event identifier. At most five distinct error signatures are reported per document, grouped by error type and script location; each signature is reported once.
Reports omit the original error message, function names, wheel entries, titles and winners, chat, saved data, page contents, request context and account identifiers. This integration uses no session replay, breadcrumbs, console capture, sessions, performance tracing or logs. Sentry still receives the network connection information described above.
Browser error reporting stays off on shared-wheel viewers, rooms, imports, embeds, drafts and previews, and on visits whose original or current address contains any query string or fragment, including campaign links. It also stays off when the browser reports Do Not Track or Global Privacy Control. A content blocker can prevent Sentry from loading; failure to load it does not stop the wheel.
ChoiceSpin has applied to show ads through Google AdSense, Google's advertising service. No ads are shown yet. When ads run, the following applies:
Google explains how it uses this information in How Google uses information from sites or apps that use our services. The Cookies page lists the main advertising cookies Google may set and how long Google says they last.
Opting out of personalized ads: use Google's Ads Settings. You can also opt out of some third-party vendors' use of cookies for personalized advertising at www.aboutads.info/choices in the United States, or at www.youronlinechoices.eu in Europe.
In the EEA, the UK and Switzerland, and the other areas listed under your Analytics choice, ChoiceSpin will not show ads that rely on cookies without the consent required there. Today Google's consent and advertising loader does not load for visitors there, when ChoiceSpin cannot tell where you are, or when your browser holds a saved ChoiceSpin Analytics choice. ChoiceSpin's own prompt asks only about Google Analytics, so accepting analytics does not allow advertising. Before ads that use cookies are shown there, ChoiceSpin will ask for that consent separately, through a consent message certified by Google, and will update this page first.
Elsewhere, Google's consent and advertising loader already runs on eligible public pages with ad requests paused, as described under Hosted choices, measurement and consent, so it requests no ads. Loading it lets Google receive the information described under What third parties collect above, such as your IP address and browser and device details.
This table groups the information by what a person actually experiences.
| Information | Why it exists | Where it is handled | How long | Your control |
|---|---|---|---|---|
| Entries and wheel settings | Run and restore the wheel | Local browser storage | No programmed expiry | Edit, reset, export, or clear site data |
| Saved wheels and local images | Keep projects in My Wheels | Local browser storage | Until deleted or browser data is cleared | Delete the wheel, export a backup, or clear site data |
| Winner labels and timestamps | Show recent result history | Local browser storage, capped at 250 records | Until cleared or replaced | Use Clear results or clear site data |
| Theme and preferences | Remember the interface you chose | Local browser storage | No programmed expiry | Change settings or clear site data |
| Your ChoiceSpin Analytics choice: accepted or rejected, the day you chose, its expiry day and the notice version, with no identifier | Remember whether Google Analytics may run, so you are not asked on every page | Local browser storage only | Six months from the day you chose; visits do not extend it | Use Analytics choices, or clear site data |
| Region answer and a closed prompt, for the Analytics choice | Skip repeated region checks in a tab, and keep a prompt you closed out of the way | Session browser storage | Current tab session | Close the tab or clear site data |
| Google privacy choices, outside the region described above | Remember and communicate applicable advertising and Analytics choices made in Google's message | Browser storage and Google's privacy message service | Until Google expires or refreshes the record, you change the choice, or you clear site data | Use Google's applicable controls when available, or clear site data |
| Private Share project and access mode | Create an unlisted wheel link | ChoiceSpin server and Google Firebase | Logically inaccessible after 24 hours; physical TTL deletion can follow later | Wait for expiry, or contact ChoiceSpin |
| Published wheel, title, description and publication records | Let anyone discover, spin and copy an intentionally public wheel | ChoiceSpin and Google Firebase | Approved public wheels have no automatic 24-hour expiry; pending submissions expire after seven days. Removal and security records can remain separately | Use the report link or contact ChoiceSpin; recipients may retain copies |
| Live-room state, spins, optional chat, and presence | Synchronize invited participants | ChoiceSpin server and Google Firebase | Logically inaccessible after at most 6 hours; cleanup can follow later | Leave or delete the room, wait for expiry, or contact ChoiceSpin |
| Anonymous session identity, App Check, and bounded retry or quota metadata | Authenticate requests and limit abuse | Browser session, ChoiceSpin server, Vercel, and Google Firebase | Session identity ends with the tab; most retry and quota records remain only for their bounded security windows | Close the tab, clear site data, or contact ChoiceSpin |
| Public Gallery removal quota owner digest and timing state | Rate-limit repeated removal requests | Google Firebase | Persistent while this protection is retained; the fixed-size record is overwritten in place and has no automatic TTL | Contact ChoiceSpin about a specific privacy request |
| Anonymous page view of a canonical public route or a shared-wheel route, an empty referrer, website origin or the Google app's fixed Android identifier, approximate location, device type, operating system, and browser | Understand aggregate public-site visits and traffic sources | Vercel Web Analytics | The visitor hash resets daily; aggregate reporting follows Vercel's current service retention | Use browser tracking protection or a content blocker, or contact ChoiceSpin about a privacy request |
Canonical page view with Google's first-visit, session and engagement-time markers, a fixed wheel_spin event after a finished spin of the main wheel (at most three per page load, and never after an Accept in ChoiceSpin's prompt or in the region it covers), fixed publishing and link-copy events, first-party analytics identifiers, campaign tags, empty or origin-only referrer, and ordinary browser, device, network, and approximate-location information | Understand use of eligible public pages: in the EEA, the UK and Switzerland only after you accept, elsewhere unless you refuse | Browser and Google Analytics | ChoiceSpin's Google Analytics retention settings are 2 months for event data and 14 months for user data, and new activity restarts the 14 months. The _ga cookies keep Google's default lifetime of 2 years from your most recent visit | Use Analytics choices, clear site data, or contact ChoiceSpin about a privacy request. Withdrawal stops new measurement but cannot recall data already sent |
| Request and security data | Deliver and protect the website | Hosting and delivery infrastructure | Kept by the hosting provider under its own policy. Vercel Pro includes one day of available runtime logs; optional add-ons can extend this period | Contact ChoiceSpin for a specific request |
| Filtered browser error type, fixed message, static script location, public page route and event identifier; network connection information | Find and fix website faults | Sentry | Error events: 90 days during the initial trial; 30 days for new events on the free Developer plan. Backups have a separate deletion period, explained below | Enable Do Not Track or Global Privacy Control, use a content blocker, or contact ChoiceSpin |
| Contact email address and description, fixed delivery metadata, and ordinary request and security data | Deliver and answer a question you chose to send, and protect the form from abuse | FormSubmit, ChoiceSpin's email provider, and ChoiceSpin; your own email provider also participates when you use the fallback | FormSubmit states that it retains form submissions for 30 days. A delivered support email has no automatic expiry: it is kept while the enquiry, a dispute or a legal duty needs it, and you can ask for it to be deleted | Do not submit sensitive data; ask for deletion when applicable |
Local browser data is used to provide the wheel features you request: restoring entries, keeping saved wheels, showing result history, and remembering settings.
Limited browser error reporting through Sentry supports the troubleshooting purpose and legitimate interests described below: finding and fixing website faults. You may object to this processing through the contact page.
Ordinary request data is handled to deliver, secure, troubleshoot, and maintain the website. Anonymous Vercel Web Analytics data is handled to understand aggregate visits, page popularity, and traffic sources without creating a cross-site profile. If enabled and allowed, the limited Google Analytics page view, the fixed wheel_spin event and the fixed publishing and link-copy events are handled to understand use of eligible public pages, including how often a visit leads to a spin. Private Share and live-room data are handled to provide the hosted action you asked for and to prevent abuse. Contact-form or email data is handled to deliver and respond to the message you chose to send.
When journal comments are enabled, submitting sends your text and optional display name to ChoiceSpin through Vercel for storage in Google Firestore. No signup or email address is required. Comments are reviewed before they appear publicly. Pending comments expire after 30 days; approval starts a 365-day public lifetime, and rejection hides a comment immediately and sets a 30-day retention period. Physical deletion follows the database cleanup schedule. Retry records expire after 7 days, moderation records after 365 days, and abuse-limit records after their daily window plus a one-day cleanup buffer. We use a keyed hash of the network address for these limits; the comments database does not store the raw address. Hosting providers still process connection information. Avoid personal or student details. To request removal, contact ChoiceSpin with the article and enough information to identify the comment.
Local storage has no timer that automatically deletes it. It remains until ChoiceSpin replaces it, you use an in-app delete or clear action, or the browser clears site data. Session storage normally ends with the tab session.
A private Share link stops returning its wheel after 24 hours. Approved public wheels have no automatic 24-hour expiry; contact ChoiceSpin to request removal. A live room stops working after at most 6 hours. Google Firestore TTL deletion is not immediate and normally removes an expired document within about 24 hours after expiry. ChoiceSpin continues to enforce the shorter logical expiry while physical cleanup is pending. Share quota and retry records can remain for up to about 72 hours where a daily limit window and its cleanup buffer overlap. Public Gallery removal protection uses one separate persistent, fixed-size record per hashed Firebase owner identity. It stores no raw Firebase UID, is overwritten in place, and has no automatic TTL while that protection is retained.
Vercel: provides hosting, server functions, and the limited Web Analytics service described above. The analytics visitor hash resets daily. ChoiceSpin uses Vercel Pro. Vercel documents a 12-month analytics reporting window and one day of available runtime logs under its standard Pro limits; optional add-ons can extend these periods. Reporting availability is not a promise that every backup or security record is erased at the same time. See Vercel's analytics reporting periods, log retention, and privacy notice for its other retention criteria.
Sentry: error events received during ChoiceSpin's initial trial have a 90-day retention period. New events received on the free Developer plan have a 30-day retention period; an earlier event keeps the period assigned when it arrived. These are event-retention periods, not a deadline for every provider connection or security record. Sentry deletes backups separately, 90 days after each backup is created. See Sentry's data retention periods and security and privacy information.
Google Firebase: provides authentication, App Check, Firestore, and Realtime Database for optional hosted features. The current Firestore databases use Google's eur3 Europe multi-region. Google documents authentication IP logs lasting a few weeks and other authentication information lasting until the associated user is deleted, followed by deletion from live and backup systems within 180 days. Closing a tab clears the local session; it does not itself request deletion of the server-side authentication record. Firebase's privacy and retention information describes these records and App Check's token handling.
Contact messages: FormSubmit states that it retains form submissions for 30 days in its submission archive. A message delivered to the contact inbox is a separate copy with no automatic expiry set by this website. Its continued retention depends on the enquiry, any unresolved dispute, or an applicable legal duty. Contact the operator to request deletion or ask how long a particular message needs to be kept.
Optional Google Analytics: when Google Analytics runs, Google receives the limited page view, the wheel_spin event and the permitted publishing events described above. ChoiceSpin's Google Analytics retention settings are 2 months for event data and 14 months for user data, and new activity restarts the 14 months. ChoiceSpin does not override Google's default cookie settings, so Google's default lifetime applies: Google lists the _ga and _ga_<identifier> cookies at 2 years. By default Google renews that expiry on each visit, so the 2 years count from your most recent visit.
International processing: hosting, security, optional analytics, and email providers may process information outside Greece or the EEA. Vercel's data processing addendum includes Standard Contractual Clauses for applicable transfers. For Firebase, Google publishes its Firebase data processing terms. For Google Analytics, Google publishes the Google Ads Data Processing Terms, which list Google Analytics among the services they can cover. Google also publishes its privacy policy. FormSubmit may process contact-form messages outside the EEA, and its privacy terms do not name a transfer safeguard. If you prefer, email choicespin@gmail.com directly instead of using the form. For Vercel and Google, the documents above name the safeguards; contact the operator with any question about transfers.
You control the local wheel data directly. You can edit entries, clear results, delete saved wheels, export a wheel file, reset preferences, or clear ChoiceSpin site data in your browser.
Use Analytics choices at the bottom of this page or of most other ChoiceSpin pages to review or change your Google Analytics choice. Choosing Reject analytics stops new measurement, deletes Google Analytics cookies on this site, and is remembered for six months. Where Google's own message applies, ChoiceSpin also pauses new Google Analytics measurement while that message is open and keeps it off when Google reports denial; cookies set before such a refusal may remain until they expire or you clear site data. Withdrawal cannot recall data already sent to Google. Browser tracking protection or a content blocker can also prevent Analytics from loading. ChoiceSpin's Analytics choice does not automatically treat Do Not Track or Global Privacy Control signals as Reject analytics; use Analytics choices to refuse Google Analytics.
Depending on the law that applies to you, you may also have rights to ask for access, correction, deletion, restriction, portability, or an objection to certain processing. You may withdraw consent where consent is the basis.
Send a request through the contact page. We may need enough information to understand and verify the request, but do not send passwords, identity documents, or unrelated sensitive data unless they are genuinely required.
You may complain to the Hellenic Data Protection Authority in Greece. You may also complain to the data-protection authority in the country or region where you live if that right applies.
ChoiceSpin is a general-audience wheel, not a student account platform. The current site does not ask students to create accounts.
A teacher can type student names into a local wheel and keep them on that device by using only local features. Choosing Share or Spin With Friends uploads the supported wheel content for the stated limited period. Adults should use placeholders where practical, follow school or organization policy, and never put confidential or sensitive student details in a hosted link or room.
A child who is not legally able to make privacy choices should use the service only with a responsible adult’s guidance.
Keeping wheel data local reduces the amount sent to ChoiceSpin, but it does not make the device itself private. Anyone with access to the browser profile may be able to see saved wheels or history.
ChoiceSpin may update this page when the product, providers, or legal requirements change. A meaningful change should update the date at the top and explain the new behavior plainly.
Enabling accounts, ads that use cookies in the EEA, the UK, Switzerland and the other areas listed above, another ad network chosen by ChoiceSpin, additional analytics events, broader measurement, or materially different Share or live-room behavior requires an update to these disclosures. So does handing the European Analytics choice back to Google's own message.
Send privacy questions or rights requests to the operator, Γεωργιος Συκιωτης / GEORGIOS SYKIOTIS, at choicespin@gmail.com or use the contact page.
ChoiceSpin is run by one person in Greece and has no public postal address.