Privacy Policy
Version: 2026-09-05
1. What this page is
A plain-language description of the personal data Onze handles: what we store, what it is used for, who processes it, and the tools you have. If anything here is unclear, ask us through the Support page.
2. Who operates Onze
Operated by: Onze Fantasy, an independent project. The operating entity and its postal address are published here before the service leaves beta; reach us through the Support page in the meantime.
Data protection law asks us to publish the operator's legal name and postal address here. We have not done that yet, and we are naming the gap rather than leaving you to find it: it is published before Onze leaves beta.
That operator is the data controller for everything described on this page: it decides what is collected and why. For privacy requests, write to privacy@onzefantasy.com or use the Support page.
We have not yet designated a representative in the European Union. One is owed before Onze is generally available there, and it is named here when it is appointed.
We have no Data Protection Officer. Onze does not monitor people on a large scale or handle sensitive categories of data, so the law does not require one; write to the address above with any privacy question.
3. Data we store
Account data: your email address, an optional username, an optional password (stored only as a hash), your language preference, the sport you last visited, and the timestamp of your Terms consent.
Gameplay data: the leagues you own or joined, your teams, rosters, and per-round lineup history.
Technical data: signed session and login tokens, and, for abuse protection, request counters keyed by IP address and email address, kept in server memory for at most one hour. IP addresses can also appear briefly in server security logs, for example when a rate limit trips.
Email preferences: which of the four Onze emails you agreed to receive, when you answered, and when each of those answers last changed.
League conversation: the messages you post in a league chat or a draft room, with the time you posted them. A league admin can take a message down, which hides it from other members and keeps the row, so a message you posted still appears in your own data export marked as removed.
League votes: the votes you open (the rule change, trade objection, or question they put, and when the window closes) and the choice you cast on any vote, stored against your account. Other members see the counts, never who voted which way.
Push notifications: if you switch on "Push to this browser", we store the subscription your browser gives us. That is an address at your browser vendor's push service (Google, Mozilla, Apple, or Microsoft, whichever made your browser) plus the two keys needed to encrypt a message to it, and the browser description you sent. Turning push off in Settings, or blocking notifications in the browser, deletes it.
If you file a moderation report, we store what you submitted.
4. What we use it for
Running the game, sending the login and invitation emails you request, remembering your preferences, and protecting the service against abuse. Nothing else: there is no advertising and no sale of data.
5. Why we are allowed to
Running your account and your leagues is what you asked us for when you signed up, so that processing is done to perform our agreement with you: your email address, your teams, your lineups, and the emails those leagues generate.
Keeping the service standing up is our own legitimate interest: the rate-limit counters, the security logs, and the error reports exist to stop abuse and to fix faults, and we weighed them against your privacy by keeping them short-lived and stripped of content.
Two emails come with the game rather than on top of it, so they are part of that same agreement: the deadline reminder for a league that is about to lock, and league activity (someone joins, a trade is offered, a draft starts, the rules change). They start on, we say so when you create your account, and you can switch either of them off at any time.
Everything else runs on your consent, which you can withdraw at any time without losing your account: the round recap and the occasional reminder when you have been away, both of which start off and are asked for when you create your account, and, when ads are enabled, the advertising consent choice. Settings and the link at the bottom of any of these emails change your mind for you.
6. What other users see
Members of your leagues see your display name (your username, or the part of your email before the @) and your in-league activity: teams, lineups, and standings. Public leagues are listed in Discover with their names.
7. Service providers and international transfers
The app runs on cloud hosting (Fly.io) with its database hosted by Neon, sends email through a delivery provider (Resend), monitors server errors with Sentry (error reports are scrubbed of cookies, tokens, and email addresses before they are sent), and licenses sports data from API-Sports. These providers process data solely to run the service for us.
When club crests and player photos are shown, your browser loads them from three image hosts (media.api-sports.io, a.espncdn.com, sleepercdn.com) and is instructed to send no referrer information with those requests.
When ads are enabled, content pages show one advertising placement served by Google AdSense. Google receives the technical data any ad request carries (your IP address, browser type, the page address, and your consent state) and never your account details. We request non-personalized ads only, so Google selects them from the page content, not from a profile of you. Google's ad privacy notice is at https://policies.google.com/technologies/ads.
If you switch push notifications on, each notification is handed to the push service run by your browser's vendor for delivery to your device. That service receives the encrypted notification and the subscription address it is going to; the text is encrypted for your browser, so the service cannot read it.
Every provider named above is based in the United States, so your data is transferred outside Brazil and outside the European Economic Area. Those transfers rely on the providers' Standard Contractual Clauses, and on the EU-US Data Privacy Framework where the provider is certified under it. You can ask us for a copy of the safeguards that apply to a specific provider.
8. Cookies
The app sets a signed, encrypted session cookie, an optional "stay logged in" cookie (14 days), and a cookie that remembers your time zone (1 year, refreshed automatically if your browser reports a different one). Your theme choice and a small offline cache of the app also live in your browser. We set no analytics or advertising cookies ourselves. When ads are enabled, Google may set its own cookies and use storage inside the ad frames for frequency capping, fraud prevention, and remembering your consent choice; because we request non-personalized ads only, none of that builds an interest profile. Visitors in the European Economic Area, the United Kingdom, Switzerland, and US states with privacy laws see Google's consent message before any ad loads and can change their choice from it at any time.
9. Your tools and rights
Settings gives you a copy of your data ("Download my data", a JSON file) and account deletion. The export covers your account details, the leagues you own and joined, your teams, rosters and lineup history, your league chat messages, the votes you opened and the ballots you cast, the browsers registered for push, your email preferences, your open sessions, and any sign-in link still waiting to be used. A sign-in link is deleted the moment you use it, so used links appear nowhere: there is nothing left of them to export. Deleting your account permanently deletes the leagues you own and removes your teams and memberships from leagues you don't own.
These tools cover access, portability, and erasure. For corrections to your account data, or any other privacy request, contact us through the Support page.
You can also object to processing we run on legitimate interests, ask us to restrict processing while a dispute is open, and withdraw consent for optional emails at any time from Settings or the unsubscribe link in any of them.
If you think we have handled your data badly, tell us first and we will try to put it right. You also have the right to complain to a data protection authority: in Brazil the ANPD (gov.br/anpd), and in the European Economic Area or the United Kingdom the authority for the country you live in.
10. Retention
Account and gameplay data is kept while your account exists and is deleted as described above when you delete it.
Everything else has a fixed life. Session tokens last 14 days from your last use; sign-in and email-change links last 15 minutes; the abuse-protection counters keyed by IP address and email address last at most one hour; unredeemed league invitations expire with their token and are cleared when the league is deleted; server logs are kept for 30 days; database backups taken by the hosting provider are kept for 7 days and are then overwritten.
Chat messages and ballots go with your account: deleting it deletes every message you posted and every choice you cast. A vote you opened stays as part of that league's own record with your name removed from it, and is deleted with the league. A message a league admin takes down is hidden from other members and kept on the row until the league or your account is deleted. Push subscriptions are kept until you switch push off, until your browser tells us the subscription is dead, or until your account is deleted, whichever comes first.
After you delete your account, the only thing that outlives it is a backup, until the 7 days run out.
11. Minimum age
Onze is for people aged 16 and over. You confirm your age when you create an account, and we do not knowingly collect data from anyone younger.
If you are a parent or guardian and believe a child has an account here, tell us through the Support page and we will delete it and its data.
12. Changes and contact
When this page changes in substance, the version identifier at the top changes with it.
Questions about this page or your data? Reach us through the Support page.