THE SHIT LIST
Privacy Policy
Effective September 2, 2026
The short version
Google sign-in is handled by Supabase Auth. Our voting database does not store your Google email, name, profile photo, or Supabase user UUID. It stores a keyed, pseudonymous 32-byte code so the same account cannot contribute twice.
Item names, item images, and total vote counts are public. The site does not publicly reveal which account contributed to which item. We do not sell personal information, run behavioral advertising, or use advertising trackers.
Information processed when you sign in
Google supplies basic sign-in information to Supabase, which may include your Google account identifier, email address, name, and profile image. Supabase stores and manages the authentication account and session. The site requests only the standard OpenID, email, and profile information needed to sign you in; it does not request access to Gmail, Google Drive, Calendar, contacts, or other Google services.
The Cloudflare Worker verifies the signed Supabase access token and checks that its Supabase session is active. It briefly uses the Supabase user UUID to calculate an application-scoped HMAC identity key, then uses only that key for the voting ledger. The raw UUID and Google profile fields are not written to application tables.
Contribution and technical information
For a contribution, we process the item you select, a request identifier, the contribution time, and a technical fingerprint of the request used to make retries safe. If you create an item, its name and submitted image are also processed and published.
Cloudflare and Supabase necessarily process ordinary network and request information to deliver and secure the service. Our application logs are designed to contain route names, response status, timing, and broad failure categories—not access tokens, emails, Supabase user UUIDs, profile data, or uploaded image bytes.
Your browser stores the Supabase sign-in session. If you begin a contribution, the pending item and any selected image may be held temporarily in IndexedDB so the contribution can survive the Google redirect. Short-lived OAuth attempt and tab-coordination values may be held in local or session storage.
How we use information
- Authenticate you and confirm that your session is active.
- Enforce one permanent contribution per signed-in account.
- Publish and rank the items submitted to the list.
- Prevent abuse, safely retry interrupted submissions, and operate the service.
What is public
Item names and images are public, as are aggregate vote totals and rankings. The private vote ledger connects an item only to the pseudonymous voter key; that association is not returned by the public API.
Service providers
We use Google for sign-in, Supabase for authentication and PostgreSQL hosting, and Cloudflare for the website, Worker backend, rate limiting, and image storage. Each provider processes information under its own terms and privacy commitments. We do not give these providers permission to use your information for our advertising because the service has no advertising program.
Retention and your choices
The pseudonymous voter key, selected item, safe-retry fields, and contribution time are retained as part of the permanent voting ledger. This is necessary to preserve the result and prevent the same account from contributing again. Deleting or disconnecting the Google or Supabase account does not automatically delete that historical ledger entry or restore voting eligibility.
Published items and images are kept while they remain part of the service, unless removed for safety, legal, or moderation reasons. Authentication records and infrastructure logs are retained according to Supabase and Cloudflare settings and operational needs. Browser-held pending contribution data is removed after completion, cancellation, or expiry.
You can log out using the Account menu and can revoke the app's Google access from your Google Account. The service does not currently provide a way to change or withdraw a completed contribution.
Security
We use access controls, signed-token verification, an isolated private database schema, encrypted connections, restricted runtime credentials, and a secret-keyed voter identifier. No online service can guarantee absolute security.
Children
The service is not directed to children under 13, and you must be at least 13 to use it. If you believe a child has provided personal information through the service, contact us using the support email shown on the Google sign-in consent screen.
Changes and contact
We may update this policy as the service changes. The effective date at the top will be revised when we do. Privacy questions can be sent to the user-support email displayed on the Google sign-in consent screen.