Device Limit and Privacy Consent
RaceTagger limits how many accounts can be used from the same computer, to catch repeated free-credit farming with many accounts on one machine. Past a limit, login is still allowed by default — the extra account is just flagged for review and RaceTagger's administrator is notified with a one-time, non-blaming notice. A separate, unrelated first-launch notice asks every user to accept the Privacy Policy and Terms of Service before using the app, and records that acceptance so it is not asked again on every login.
How to use it
- 1Device limit: nothing to do — the check runs automatically right after you sign in. If your computer is over the limit, you either see nothing (if the account is grandfathered or the mode is "warn" and no dialog is configured to show) or, in warn mode, a dialog titled "Account limit reached" with the message "You're signed in." and the detail: "This computer has reached the limit of linked accounts, so it has been flagged for review and the administrator has been notified. If this is a shared or work computer, just reply to info@racetagger.cloud and we'll sort it out." Click OK to dismiss; login is not affected.
- 2Privacy/terms consent: on first launch (or after accepting a new policy version) you see the "Welcome to RaceTagger" dialog listing what data is collected (email, app usage analytics, anonymized device ID, error reports; image crops sent to Google AI for analysis) with links to the Privacy Policy and Terms of Service. Click "I Agree & Continue" to proceed — the app does not let you continue without agreeing (there is no decline/skip button). You will not see it again after that, unless the policy or terms text is updated to a new version.
Limits and known behaviour
- Who decides warn vs. block is the server, not the app. The desktop client sends a
hashed device id (and OS username) to the
check-device-limitSupabase Edge Function after login and gets back a verdict; it does not decide the limit or the mode itself. In block mode the over-limit, non-grandfathered account is signed back out immediately with the error "This computer has reached the maximum number of linked accounts. If it is a shared or work computer, contact info@racetagger.cloud." — in warn mode (the default) login always proceeds. - The check is fail-open: any network/infra error while calling the Edge Function is swallowed and login proceeds normally, with no notice shown.
- The device id is a privacy-preserving hash, not raw hardware info; it does not touch token/credit balances or the pre-authorization path used for actually consuming credits.
- The privacy/terms notice is gated on the database (
subscriberscolumnsaccepted_privacy_policy_at/privacy_policy_version/accepted_terms_of_service_at/terms_of_service_version), not only on a local flag — so accepting once is remembered across a logout→login and across devices for the same account. If the database is unreachable, the app falls back to a local, per-user, per-policy-version flag on that machine, which still keeps the notice from re-showing more than once per device. - Declining consent is not offered as a distinct action in the UI — the only button is to agree and continue.