Privacy policy
Effective 7 September 2026
Nines is operated by Riccardo Spagni in South Africa. Contact info@playnines.net about this policy or your personal data.
Nines stores solo practice and scorekeeping on your device. Online games and card scans use external services. This policy explains what each feature sends and keeps.
- There is no account registration, advertising or behavioural analytics.
- Online games store game history and random seat identifiers on Cloudflare. The service assigns player labels; it does not ask for online names.
- Card scans are available from age 18 and send an image to OpenRouter and the model provider.
- Turn notifications are optional, available from age 13, and use Apple or Google’s push service.
Data on your device
Saved player names, scorer groups, score history, unfinished scores, solo practice and settings stay in the app’s local storage. Nines does not upload these local games to the multiplayer service.
Before you enable turn notifications or use card scans, Nines asks you to choose an age group. It saves the group on your device to check whether those features are available. Nines does not request a date of birth or send the selected age group to a server. You can correct your choice in Settings.
Your device may include app data in backups managed by Apple, Google or another backup service you choose. Those backups follow that service’s settings and terms.
The website stores a theme preference in your browser when you change its theme. It does not use advertising cookies or analytics scripts.
Online games
When you create or join an online game, Nines sends game requests to a Cloudflare Worker. The service assigns a label such as Player 1 to each seat. It does not accept online names or freeform messages. No email address, password or contact list is required.
The game service stores the room code, random player identifiers, player labels, ready status, cards, moves, scores and timestamps. It also stores replay history, access credentials and request identifiers that prevent a repeated request from applying a move twice. Your device keeps the credentials that let you return to your seat.
Players in the same game can see each other’s labels, readiness, public moves and scores. The server stores each hand to enforce the rules; other players cannot see cards that remain private under those rules.
Anyone with a valid room code can join while the lobby is open. Share the code only with the people you want to play with.
Cloudflare processes network information, including IP addresses, to deliver and protect the service. Nines does not add behavioural analytics. Cloudflare may keep operational and security logs under its own policies.
Card scans
Card scans and personal API key setup are available only from age 18. The app checks the age group saved on your device before it opens the camera or photo picker for a scan. Manual score entry is available at every age.
When you use the camera or choose a photo for a scan, Nines sends the prepared image and a card-recognition prompt to OpenRouter. OpenRouter passes the request to the selected model provider. An internet connection is required.
Camera scans use the area inside the on-screen guide. A photo you choose from your library uses the selected image. Nines resizes and re-encodes the image without the original photo metadata before it sends the request. Anything visible in the image can still identify a person or place, so include only the cards you want to scan.
The image stays available during the scan review. Nines does not add it to saved games or retain a scan archive after you leave the review. The original photo in your library is not deleted. Confirmed ranks and scores can remain in your local score history.
OpenRouter records request metadata, including token counts and response times, for account reports and model statistics. A personal API key links those records to your OpenRouter account. See OpenRouter’s data collection guide.
OpenRouter and its model providers have their own retention, training and privacy practices. Nines does not promise that a provider deletes a request immediately. Read the OpenRouter privacy policy before you use a scan. You can enter scores manually without sending an image.
If you supply your own OpenRouter API key, Nines stores it using the device’s secure credential storage and sends it to OpenRouter to authorise scans. It is not sent to the multiplayer server. You can remove it in the app’s settings.
Turn notifications
Turn notifications are available from age 13. If you enable them, Nines registers a device token, a random installation identifier, the device platform and the relevant game with the game service. These details route a notification to your device.
Apple Push Notification service delivers notifications on iOS. Firebase Cloud Messaging delivers them on Android. These providers receive the token and notification payload. Alerts contain a room code, a game revision and fixed text about a turn or completed hand. They do not include player names or card images. The alert may appear on your lock screen according to your device settings.
You can turn notifications off in the app or your device settings. Turning them off in Nines removes its server registrations and requests removal of the native push token. Correcting your age group to below 13 has the same effect. The app retries server removal if a connection fails. Opening the app still lets you check the current turn and replay the moves you missed.
Retention and deletion
Local scorer games remain until you delete them or remove the app’s data. Device backups may keep separate copies.
An online room expires 90 days after its last game or lobby change. Expiry removes the room, its replay history, access credentials and push registrations from the active game service. Merely opening a room does not extend this period.
The host can delete an online game for everyone. Ending a game keeps its history until deletion or expiry. Removing a game from one device does not by itself delete the server copy.
Leaving a lobby removes that seat, its access and its push registrations. Earlier replay entries may still contain the automatic player label until the room is deleted or expires.
On Android, turning off notifications in Nines also requests deletion of the Firebase installation ID. Firebase states that it removes the ID from its live and backup systems within 180 days of that request. This provider retention is separate from the room’s expiry.
Provider security logs and scan requests follow the relevant provider’s retention rules. Support correspondence is kept as long as needed to handle the request and meet any legal obligations.
Your choices and rights
Solo practice and manual scorekeeping work without the online game or scan services. Camera access, photo selection and notifications are optional.
Depending on the law that applies to you, you may have rights to access, correct, delete or obtain a copy of personal data, object to its use, or complain to a privacy regulator. Nines uses game data to provide the features you request and network information to protect the service. In South Africa, you can also contact the Information Regulator about your rights under POPIA.
For a request about an online game, include the room code and your assigned player label in a private support message. Do not send your access token or API key. Because there are no accounts, some information may be needed to verify that the request concerns your data.
Cloudflare, OpenRouter, Apple, Google and model providers may process data outside your country. Their privacy terms describe their locations and transfer safeguards. Nines does not sell personal data or use it to target advertising.
Children
Children can use solo practice, manual scorekeeping and private online games. Online play uses the identifiers and game records described above to run the game, save progress and protect the service. It has no chat, public player directory or freeform online names. Nines does not use these records for advertising or behavioural profiles.
Turn notifications are unavailable below age 13, and card scans are unavailable below age 18. A parent or guardian can contact info@playnines.net to request access to or deletion of a child’s online game data. Include the room code and player label so that we can identify the relevant records.
Changes to this policy
This page will carry the current policy and its effective date. Changes to data use will appear here before they take effect.
Contact
Nines is operated by Riccardo Spagni, based in South Africa.
For app support, privacy requests or questions about these terms, email info@playnines.net.
For a technical problem, include your app version, device model and the steps that led to the problem. Send a room code only when it is needed for a private support request. Never send an API key or game access token.