Privacy Policy
Effective 29 September 2026
This policy explains what personal information Ninecade collects when you visit ninecade.com, play or publish games, or use “Sign in with Ninecade” on other websites; why we collect it; and the choices you have. It describes how the service actually works today.
Ninecade is in beta. The service and this policy will change as we build it; see “Changes to this policy”.
1. Who we are and how to reach us
Ninecade (“we”, “us”) runs the website ninecade.com, the game domain 9cade.com and the API at api.ninecade.com, and is responsible for the personal information described in this policy.
To contact us about privacy, including to exercise your rights, use the Feedback form on the site (in the side menu and the footer). If you’d like a reply, include a way to reach you, such as your account’s email address. For copyright complaints, use the “Copyright complaint” form at the bottom of each game page.
2. Your account
You can create an account with an email address, a password and a nickname of up to 30 characters. We use them to sign you in, keep your favorites and recently played games across devices, show your nickname where you choose to appear (such as public reviews and games you sign in to) and send account emails.
- Held by Supabase, our sign-in provider: your email address, your password and the nickname you gave when signing up. Supabase checks your password and sends verification codes and password-reset emails. When you sign in or change your password, it passes through our server to Supabase over an encrypted connection; we don’t store it.
- Held by us: an account ID, your email address and nickname, when the account was created, when you last signed in and were last active, and whether the account is enabled. Sign-in sessions are stored only as one-way hashes, and the Supabase tokens behind each session are stored encrypted.
- Activity days: while you’re signed in and haven’t turned off usage statistics, the site tells us about every five minutes that you’re active. We record the days on which your account was active, to count daily, weekly and monthly active accounts, and keep them for 90 days.
- Invites: if you open publishing with an invite code, we record the code, when you used it and the account that invited you. The person who invited you sees your nickname in a notification and in their list of invites; our admins can see who invited whom and how many games each invited creator has. Codes you issue are stored readably until they are used or expire, so you can copy them again; after that only a one-way hash is kept. Invite records are kept with the account; unused codes are deleted a year after they expire.
In “My account” you can change your nickname and password and sign out your other devices. Changing your password signs you out everywhere.
3. Playing as a guest
When you play, open a room, save a favorite or report a game, the site asks our server for a guest pass: a random player ID and the player name you use, in a token our server signs. The pass is valid for 30 days, is renewed while you keep playing and is kept in your browser’s local storage. Signed-in players get one too, because rooms use it.
For guests, we store favorites (up to 100) and recently played games (up to 30) under that random ID. When you sign in, you can merge them into your account. If you clear your browser data, the guest pass is gone and we can no longer link those records to you.
5. Usage statistics
To understand how Ninecade is used, the site counts visits, foreground play time and return visits:
- Your browser creates a random ID (
nc:visitor) and another random ID for each page session. When you open the site it sends one ping, then one every five minutes while the tab is visible. While you play in a room, it sends a heartbeat about once a minute with the room ticket (which tells us the game), a sequence number, your total foreground play time and whether the tab is visible. These requests carry no cookies. - Our server stores only a keyed hash of the browser ID, not the ID itself. For each hashed ID, we keep when it was first and last seen, the seconds of foreground play per day, and, per game and day, the seconds played and whether a play of at least 30 seconds happened.
- Statistics never include your name, email address, account or IP address. Your IP address is used only as a keyed hash to limit excessive requests, and that hash is deleted within a day.
- Requests from bots, crawlers and automated browsers are ignored.
Session records are deleted after 1 day and daily records after 90 days. A hashed ID that hasn’t been seen for a year is deleted.
Ninecade’s administrators see totals and trends. Creators see aggregate numbers for their own games: plays and, on the Pro plan, players, average play time and rooms created. The statistics don’t show what any particular person played.
To turn statistics off, open “About the beta” at the bottom of the site and tick “Opt out of anonymous usage statistics”. The choice is saved in that browser, so repeat it on each browser or device. It also stops the account activity pings described above.
6. IP address and device information
Like any website, our servers receive your IP address and your browser’s user agent with each request. Logging is turned off on our servers, so we don’t keep request logs; our hosting provider Cloudflare processes this information to deliver and protect the service.
We use IP addresses to limit how often sensitive actions can be repeated: creating guest passes, signing in or up, resetting passwords, entering beta codes, redeeming invite codes, redeeming publishing codes, other websites requesting sign-in tokens, sending copyright complaints, and sending feedback without a guest pass or account. These counters expire at the end of their time window (at most one hour) and are then deleted during regular cleanup, normally within a day. Sign-in, sign-up and password-reset requests are also limited per email address, using a hash of the address.
We use the user agent to leave bots out of the statistics. If you send feedback, it is saved with your message to help us reproduce problems.
Some multiplayer games connect players’ browsers directly (WebRTC). In that case, other players in the room may see your IP address. When a direct connection isn’t possible, the connection is relayed through Cloudflare’s servers.
7. Games that creators publish
If you publish games, we store what you upload and enter: the game files, title, description, category, author name, optional GitHub source link, maximum number of players, version notes and cover image. If you don’t upload a cover, our system takes screenshots of your game to make one. We also keep upload times, file sizes, the results of our automated compatibility and startup checks, each game’s daily room and play-time usage, the notifications we send you, and your publishing tokens and codes (stored only as one-way hashes).
A published game’s title, description, author name, source link and cover are public. Your email address is never shown on game pages.
Before a version can be published, our systems open it in an automated browser to check that it starts and to make covers.
Games hosted on Ninecade run in a sandbox on a separate domain (9cade.com). The platform stops them from using your camera, microphone or location and from loading content from or sending data to other websites. A game can still see what you do inside it. In a room, the game receives your player name and a player ID; if you’re signed in, a game can also ask for your nickname and a player ID for that game (the same one described under “Sign in with Ninecade on other websites”).
8. Game saves
Game progress is saved in your own browser, on ninecade.com, separately for each game and, when you’re signed in, for each account. Saves aren’t uploaded to our servers, so we can’t see, restore or move them. Use the save tools on the game page to export a backup file or restore one. Clearing site data in your browser deletes your saves.
9. Reviews and messages to creators
- Signed in: your review is public. Your nickname, rating, text and dates appear on the game page. The game’s creator can reply publicly or hide it from the page.
- As a guest: your message and optional rating go only to the game’s creator (and our administrators), shown with your guest player name. It isn’t public and doesn’t count toward the rating.
- You can edit or delete your own review at any time. Creators are notified of new reviews and messages, with a short excerpt and the author’s name.
- Anyone can report a review. We store the reason and who reported it, and our administrators may remove the review.
10. Reports, feedback and copyright complaints
- Game reports: when you report a game, we store your reason, the game and your guest player ID. Only our administrators see reports.
- Feedback: the Feedback form sends us the type of feedback, your message, any contact details you add, the page you were on, your language and your browser’s user agent, plus your account or guest ID and name if you have one. Only our administrators see it.
- Copyright complaints: the complaint form collects your name, email address, whether you own the rights or act for the owner, details of the original work and of the alleged infringement, your statements and your typed signature. We use them to assess and act on the complaint and to contact you about it. We don’t show your name or contact details to the game’s creator: the creator is told that a complaint was received about their game, the title of the work it concerns and the outcome. We may share a complaint with authorities or courts where the law requires it.
11. Sign in with Ninecade on other websites
Creators can let players sign in with their Ninecade account on the creator’s own website. The creator must first prove they control the website: our server fetches a verification file from it.
When you allow a website, it receives your nickname and a player ID that is unique to that game. Different games get different IDs, so they can’t match you across games. The website never receives your email address or password. It gets short-lived access tokens (15 minutes) and a refresh token (valid for up to 60 days).
We store which games you’ve allowed, when, and when they last signed you in. You can see and revoke them in “My account”; revoking signs you out of that website. The option “Let all verified Ninecade games recognize me” lets new websites sign you in without asking, and you can turn it off there too.
In browsers that support it (FedCM), your browser shows the sign-in prompt itself. To draw it, the browser receives your nickname and email address from Ninecade and shows them only to you; the website receives only what is described above.
These websites are run by their creators, not by Ninecade. Their own privacy policies govern what they do with your information.
12. Creator plans
Some creator features, such as detailed statistics, are part of the Pro plan. During the beta, the Ninecade team turns Pro on or off; there’s no online payment and we don’t collect payment details. We record each creator’s plan, when and by whom it was changed, and an internal note.
13. Why we use information
We use personal information to run Ninecade and keep it safe. Where the law (such as the EU GDPR) requires a legal basis, we rely on:
- Providing the service you ask for: accounts, sign-in, guest passes, favorites, hosting and running games, rooms, reviews, notifications and Sign in with Ninecade.
- Legitimate interests: keeping the service secure and preventing abuse (rate limits, moderation and reports), understanding how Ninecade is used through statistics you can turn off, and improving the service.
- Consent: when you allow a website to use Sign in with Ninecade or add optional contact details to feedback. You can withdraw consent at any time.
- Legal obligations: for example, handling copyright complaints and answering lawful requests.
We don’t sell personal information, use it for advertising, or make decisions about you with legal or similarly significant effects based solely on automated processing.
15. International transfers
Ninecade is used around the world. Cloudflare handles requests in data centers in many countries, usually close to you, and Supabase stores data in the region where our project is hosted. Your information may therefore be processed outside your country. Where the law requires safeguards for such transfers, we rely on those offered by our providers, such as standard contractual clauses.
16. How long we keep information
- Account: until you ask us to delete it. Sign-in sessions end after 30 days (password-reset sessions after 15 minutes) and are then deleted; we keep at most 20 per account.
- Account activity days: 90 days.
- Usage statistics: 1 day for session records, 90 days for daily records, and 1 year after last use for hashed browser IDs.
- Rate-limit counters: they expire within an hour and are deleted during regular cleanup, normally within a day.
- Guest passes expire after 30 days unless renewed. Guest favorites and recently played lists are kept until you ask us to delete them.
- Games: until the creator deletes a version or the game is removed. Deleting a version deletes its files and covers. Each game keeps at most 10 versions.
- Sign in with Ninecade: sign-in codes expire after 1 minute and are deleted a day later; refresh tokens expire after 60 days, and used ones are deleted after 7 days. The list of websites you allowed stays with your account; revoking one deletes its tokens.
- Reviews: until you delete them; reviews an administrator removes are kept hidden as a record of the moderation. Creator notifications: 1 year, at most 500 per creator.
- Game reports, feedback and copyright complaints: as long as needed to handle them and to keep a record of how they were handled.
- Administrator action log: 180 days.
- Game saves and other browser storage: on your device until you delete them.
Our providers may keep backup copies for a limited time after deletion.
17. Your rights and choices
Depending on where you live, you may have the right to access, correct or delete your personal information or receive a copy of it, to object to or restrict certain uses, and to withdraw consent. You can also complain to your local data protection authority.
What you can do yourself:
- change your nickname or password and sign out your other devices in “My account”;
- see and revoke websites that use Sign in with Ninecade in “My account”;
- turn off usage statistics in “About the beta”;
- export or restore game saves on the game page, and clear cookies and site data in your browser;
- edit or delete your reviews and, as a creator, unpublish games and delete old versions.
For anything else, including deleting your account (there’s no self-service deletion yet), send a request through the Feedback form. Tell us what you’d like us to do, which account or guest name it concerns and how to reach you. To protect your account, we may ask you to send the request while signed in to it. We aim to reply within one month.
When we delete an account, we delete the account record, its sessions and the personal information linked to it, except what we must keep by law or need to finish handling an open report or complaint.
18. Children
You need to be at least 13 to use Ninecade, or older where the law of your country sets a higher age for using online services without a parent’s consent (for example 16 in some EU countries). If you are younger, you may use Ninecade only with the consent and supervision of a parent or legal guardian.
We don’t knowingly collect personal information from children below that age without such consent. If you believe we have, tell us through the Feedback form and we will delete it.
Reviews and player names can be seen by others, so younger players shouldn’t put personal information in them.
19. Security
We use encrypted connections (HTTPS), store session tokens and publishing codes only as one-way hashes, encrypt our sign-in provider’s tokens, run games in a sandbox on a separate domain, limit request rates and protect our admin console with Cloudflare Access. No online service is completely secure. If a breach affects your personal information, we will inform you and the authorities where the law requires.
20. Changes to this policy
We’ll update this policy as Ninecade changes. The date at the top shows when the current version took effect. If a change significantly affects how we handle your information, we’ll announce it on the site before it takes effect.
This policy is published in Simplified Chinese and English, and both versions are equally authoritative. Versions in other languages, including Traditional Chinese, are translations provided for convenience.