Contradicto Play Contradicto

Privacy Policy

Last updated 5 October 2026This policy is published in English only. The English version governs.

The short version

  • We collect what the game needs: your email to sign you in, your name and match record, and what you say during a match as text.
  • Your voice is never stored. Each spoken phrase is sent to our AI provider to be turned into text, and the audio is discarded.
  • We use no advertising, no analytics trackers, and only the cookies needed to keep you signed in.
  • Your public profile is off until you turn it on.
  • You can export or delete your data at any time in Settings.

1. Who we are

Contradicto is a browser game in which players argue a motion out loud while an AI jury votes. Its operator (“Contradicto”, “we”, “us”) is the controller of the personal data described in this policy.

For any privacy question or request, write to support@contradicto.com.

2. What we collect

Your account

Your player profile

What happens in a match

Tokens and purchases

Technical data

Viewers

Watching a match through a viewer link needs no account. If viewers vote for The Chat seat, each browser casts one anonymous ballot. If a streamer connects a Twitch channel, the game reads the channel’s public chat anonymously to count !for and !against votes; it does not store chat messages or usernames.

When you contact us

Your email and whatever you write to us.

3. Why we use it, and on what legal basis

PurposeDataLegal basis (GDPR)
Signing you in and running your accountAccount dataPerformance of our contract with you, Art. 6(1)(b)
Running matches: transcription, the AI jury, Vera’s arguments and voice, results, rating, streaksVoice phrases (transient), match text, profileContract, Art. 6(1)(b)
Tokens, subscriptions, top-ups, legacy passes, purchases, and rewardsWallet, ledger, purchase records, referralsContract, Art. 6(1)(b)
Keeping purchase records for tax and accountingPurchase recordsLegal obligation, Art. 6(1)(c)
Friends, leaderboards, and your public profileProfile, results, friendsContract, Art. 6(1)(b). The public profile is on only if you switch it on.
Preventing abuse, fraud, and reward farming; rate limits and securityIP address and sign-up IP hash, logs, account and wallet data, reports, blocks, and post-deletion hashesOur legitimate interest in a safe, fair game, Art. 6(1)(f)
Watching costs and keeping the service runningPer-match cost records, logsLegitimate interest, Art. 6(1)(f)
Answering your messagesWhat you send usContract or legitimate interest, Art. 6(1)(b) or (f)

We do not sell your data, show ads, or build advertising profiles. We do not use your matches to train AI models, and our agreements with our AI providers do not let them train their models on the data we send through their APIs.

The AI jury decides who wins a match. That decision affects only the game (your rating, streak, and the leaderboards), so it has no legal or similarly significant effect on you.

4. Who processes your data for us

These companies process personal data on our behalf, under data processing agreements, and only for the purposes above:

CompanyWhat it doesWhere
WorkOS, Inc.Sign-in: Google and Apple sign-in and the six-digit email codes. Holds your email and sign-in identifiers.United States
OpenAI, L.L.C. / OpenAI Ireland LtdRuns the AI: transcribes your spoken phrases, voices Vera, writes Vera’s arguments, and runs the AI jury. Receives audio phrases and match text, either directly from us or through OpenRouter (below). Audio is not stored by Contradicto.United States
OpenRouter, Inc.When we route AI requests through it: an intermediary that receives the match text and audio phrases and forwards them to the model provider we configured, by default OpenAI’s models. Transcription through OpenRouter may use Google’s Gemini models, in which case Google LLC receives the audio phrases as a further processor.United States
Cloudflare, Inc.Relays encrypted voice between friends when a direct connection fails (TURN).Global network
[HOSTING PROVIDER]Hosts our servers and database.[HOSTING LOCATION]

Stripe. Purchases go through Stripe’s hosted checkout with Stripe as merchant of record (Stripe Managed Payments). Stripe sells the purchase to you and processes your payment details as an independent controller under Stripe’s privacy policy. Stripe tells us what you bought and whether the payment succeeded or was refunded.

Google and Apple. If you sign in with Google or Apple, they know you used their account to sign in to Contradicto, under their own privacy policies.

We may also disclose data where the law requires it, or to protect players or the service from fraud or abuse.

5. International transfers

Some of the companies above are based in the United States. When your data leaves the European Economic Area, the transfer is covered by the European Commission’s Standard Contractual Clauses and, where the recipient is certified, by the EU–US Data Privacy Framework. You can ask us for a copy of the safeguards.

6. How long we keep it

DataKept for
Voice audioNot stored. Held in memory only while a phrase is transcribed.
Live match (transcript, votes, reactions) and tournament roomAbout 1 day after its last activity, so its viewer link keeps working. Opening or reconnecting to the viewer link counts as activity, so a match people keep watching is kept longer. A game nobody plays is deleted after 30 minutes without activity, or about 3 hours after its last activity if a server restart interrupted it; one whose token refund is still being retried is kept until the refund goes through.
Match results and history, rating, streakUntil you delete your account. Deleting it removes your name, handle, bio, and public page, and your streak and friends. Your match results are kept in anonymized form, under the name “Deleted player”, so that your opponents’ histories and ratings stay intact.
Account, profile, friends, wallet, and ledgerUntil you delete your account.
After deletion: one-way hashes of your sign-in ID and email, with your token balance at deletion (a negative balance, or a positive balance you forfeited), any forfeited tokens carried over from an earlier deletion as an offset, your suspension, and the day you last got free tokens, and, under the same hash, invite rewards that a refund could still reverseKept, so that deleting and re-creating an account cannot be used to reset a suspension, a debt from a refunded purchase, free daily tokens, or an invite reward paid for a purchase that was refunded. A forfeited balance and its offset are kept to settle a later refund of an earlier purchase: the refund takes the forfeited tokens first, so it creates debt only for tokens you spent. The hashes cannot be turned back into your email.
Per-match cost records90 days.
Purchase recordsAs long as tax and accounting law requires, even after you delete your account. After deletion they are kept under a one-way hash of your sign-in ID instead of your account. If you sign in again with the same sign-in identity or email, they are linked to the new account again, so that a refund or chargeback of an earlier purchase can be processed.
Open checkouts, and refunds or cancellations we owe youAn open checkout until it is paid or expires (at most a day). A refund or subscription cancellation we start ourselves, such as for a payment that arrives after you deleted your account, until Stripe confirms it.
Reports you filed, or that others filed about you30 days from the report, then deleted. Deleting your account does not delete them sooner (they stay under your anonymized profile), so that we can review abuse.
Sign-in sessionUntil you sign out, or 60 days after its last use; expired sessions are deleted.
IP-based rate-limit countersUp to 3 days: the counters of the current UTC day and of the two days before it. Short-term rate limits are kept only in the server’s memory and end when it restarts.
Server logs[LOG RETENTION PERIOD].

7. Cookies and local storage

We use only two cookies, and both are strictly necessary:

Because these cookies are needed for the service you ask for, the law does not require a consent banner, and we do not show one. We use no analytics, advertising, or tracking cookies.

The game also saves some settings in your browser’s local storage, which never leaves your device unless noted: your language, sound and streamer-mode settings, the Twitch channel you entered, the name you last played under, your match notes, a referral code from an invite link (sent once when you sign up), and, when sign-in is off, your device profile key. Seat tokens for matches you are in are kept in session storage and deleted when you close the tab. You can clear all of it in your browser’s settings.

8. What other people can see

9. Your rights

Under the GDPR you have the right to:

Export and deletion are built in. In Settings, “Export data” downloads your account, profile, history, ledger, purchases, friends, and referrals as a file, and “Delete account” erases your account at once (if you have a subscription, cancel it in Manage billing first, so you are not charged again; see section 6 for what is kept). For anything else, email support@contradicto.com. We answer within one month.

You may also complain to a data protection authority. In Lithuania that is the State Data Protection Inspectorate (Valstybinė duomenų apsaugos inspekcija), vdai.lrv.lt. You may also complain in the EU country where you live or work.

10. Age

Contradicto is for people aged 14 and over. We do not knowingly collect data from children under 14. If you believe a child under 14 has an account, tell us and we will delete it.

11. Security

All traffic to Contradicto is encrypted with HTTPS. Sign-in codes expire after 10 minutes, sessions are random tokens we can revoke, and access to production data is limited to the people who run the service.

12. Changes to this policy

If we change this policy in a way that matters, we will say so in the game and, for significant changes, by email before the change takes effect. The date at the top shows the latest version.

13. Contact

Email: support@contradicto.com.