RustyNES privacy policy

Effective 2026-10-16 (v3.4.0). Published at https://doublegate.github.io/RustyNES/privacy/; the source is PRIVACY.md in the RustyNES repository, and its history there is the record of every change.

The short version

Who runs the services

The hosted services are run by the RustyNES maintainer (DoubleGate), the controller for the purposes of this policy. They run on Cloudflare Workers, Durable Objects and Cloudflare Realtime TURN. Cloudflare, Inc. processes the traffic on the maintainer's behalf as a processor: it terminates the encrypted connection, protects the service from attack, and runs the code. Cloudflare's own handling of that traffic is described in Cloudflare's privacy policy.

RustyNES is free software (GPL-3.0-or-later); the services' code is in services/hosted/, so every statement below can be checked against what actually runs.

What each service receives and keeps

Netplay lobby (signalling)

Used when you host or join an online room (the web version's lobby, or the Android and iOS room codes, in builds that point at the hosted lobby).

TURN relay credentials and the relay itself

Used when your device asks the hosted service for relay credentials, which happens at the start of an online session in builds that point at the hosted service. If a direct connection between the players cannot be made (some home and mobile networks prevent it), the game traffic then flows through Cloudflare's TURN relay.

RetroAchievements proxy (web version only)

Browsers do not let a web page identify itself to RetroAchievements the way the desktop and mobile apps do, so the web version sends its RetroAchievements requests through this proxy, which adds RustyNES's identification and forwards them to retroachievements.org.

The desktop and mobile apps do not use this proxy; when you enable RetroAchievements there, they talk to retroachievements.org directly.

Logs

Workers request logging is switched off for these services, so there is no log of requests, addresses or headers kept by the maintainer. It may be switched on for a short period to diagnose a fault, after which it is switched off again; any such logs are kept by Cloudflare for its standard short retention period and are not used for anything else. Cloudflare's own security systems may process connection metadata as described in its privacy policy.

Other services the apps can contact

Only when you use the feature in question:

On your device

Settings, save states, battery saves and, if you log in, your RetroAchievements token are stored on your device so that you stay logged in. They are not sent anywhere except, for the token, to RetroAchievements (through the proxy in the web version).

Children

RustyNES is not directed at children and the hosted services do not knowingly collect any information about anyone, of any age, beyond what is described above.

Your choices and rights

You can use RustyNES entirely offline. Online netplay and RetroAchievements are off until you use them, and you can point netplay at a lobby and relay you run yourself (the reference lobby is in the repository). Because the hosted services keep no data that identifies you after the periods stated above, there is normally nothing to access, correct or delete; if you believe otherwise, or have any question about this policy, contact the maintainer as below.

Contact

Open an issue at https://github.com/doublegate/RustyNES/issues, or, for anything you would rather not post publicly, use the contact address in SECURITY.md.

Changes

Changes to this policy are made in the repository and take effect when published at the address above. A change that would collect or keep more data will be stated in the release notes of the version that makes it.