EnglishThe short version
In one paragraph
The game collects nothing about you. No analytics, no advertising, no tracking, no accounts, and no server of mine anywhere. Your scores and settings stay on your device and go nowhere else. One feature uses the internet — CONNECT PHONE, which turns a second device into a controller — and section 03 says exactly what that costs, including the part that is easy to leave out. That feature is in the web version only. The iOS app does not offer it and makes no network connections at all.
01What is collected: nothing
No name, no email address, no age, no location, no contacts, no photos, no device identifiers, no usage statistics, no crash reporting of my own. There is no account to create and nothing to sign in to. I cannot see your scores, when you play, or whether you play at all.
The app never requests the camera, the microphone, your location, your contacts, your photos or notifications, because it contains no code that uses any of them. The only permission prompt iOS can raise at all is the local-network one described in section 03, and it belongs to pairing.
02What the game keeps on your device
Four things, so that closing the game does not wipe them. All four are written to the app's own local storage, inside the app's sandbox on your device, and none of them ever leaves it:
- The top 10
- Three initials, a score and a level, so the table survives closing the app. The initials are whatever you type at the end of a run — nothing asks for or checks a real name.
- Sound on or off
- So that muting stays muted the next time you open the game.
- The screen tint
- The glass you picked belongs to the device, not to the run.
- A six-digit code
- On a screen, a random number the device draws once, so a phone that was paired before can find it again; on a phone used as a controller, the last code you typed, so you need not type it twice. Neither is derived from you or from your hardware, and the code names a screen during pairing, not a person.
Deleting the app deletes all four from the device. I keep no copy anywhere: no cloud of mine, no backup of mine, no export, and nothing to request, correct or erase on a server, because there is no server. The one copy that can exist off the device is the one you make: if you have iCloud Backup or an encrypted computer backup turned on, iOS includes this app's data along with every other app's, under your Apple account and Apple's privacy policy. I have no access to it.
03Connect phone: the web version’s only trip out to the internet
Web version only
Everything in this section is about the game in a browser. The iOS app does not have this feature and makes no network connections at all — not to the signalling server, not to a STUN server, not to a relay.
The game can use a second device as a controller. The screen shows a six-digit code, you open the game on a phone, type that code in, and the phone becomes a two-button pad. It is optional: the whole game is playable by touching the left and right halves of a single screen. The iOS app is built without it, because inside the app the pairing screen would show the bundle's own internal address, which cannot be opened in any browser. Nothing in the rest of this section happens in the app.
Making that work costs three third-party services. This is how WebRTC — the browser technology the link is built on — works, and there is no version of it that avoids them:
- Signalling — the public PeerJS server. To introduce two devices that do not know each other's address, the game registers its six-digit code there and waits. That server sees the code and, because the device connects to it, the device's IP address.
- Finding a route — public STUN servers, run by Google and by Cloudflare. A STUN server tells a device what its own public IP address looks like from the outside, which is what lets two home routers meet in the middle. Those servers see that address.
- Relaying when nothing else gets through — a public TURN relay (Open Relay, metered.ca). When a router refuses every direct route — mobile data, hotel wifi, company networks — the traffic goes through a relay instead. The relay sees the IP address of both devices and the encrypted stream passing between them.
Those services belong to other people and run under their own terms. I do not control them, I do not pay them, and nothing comes back from them to me.
One thing worth being precise about: on the web, the game registers its code with the signalling server when the page loads, not at the moment you open CONNECT PHONE, so that a phone paired earlier can reconnect on its own. That one connection therefore happens on load whenever there is internet, whether or not you ever pair anything. With no internet the game simply runs — the pairing screen says so, and everything else is unaffected. In the iOS app none of this happens: the pairing library is bundled but never runs, and the app contacts no signalling server, no STUN server and no relay, ever.
Once two devices are linked, what travels is which half of the pad your finger is on, and nothing else. No microphone, no camera, no screen contents, no text, no scores, no identifiers. The link is encrypted by WebRTC itself, runs between your two devices, and closes when the game closes.
None of this is recorded by this project. There are no logs, no pairing history and no accounts, because there is nowhere to keep them.
iOS may ask you once for permission to find devices on your local network. If it does, that is the pairing connection looking for a direct route between your two devices so the traffic does not have to bounce off a relay on the other side of the world. Nothing else uses it, and refusing leaves the rest of the game untouched.
04What this app does not do
- No IDFA and no advertising identifier of any kind. There are no ads.
- No tracking, and none across other apps or websites. The App Tracking Transparency prompt never appears, because there is nothing to ask permission for.
- No analytics SDK, no crash-reporting SDK, no social login, no third-party SDK at all. The app is the game — one HTML file plus the pairing library, both carried inside it — in a plain native shell.
- No cookies.
- No data sold, shared, rented or handed to anybody, which is an easy promise to keep when none is collected.
- No purchases, no subscriptions, no paywalls.
05Children
The game is suitable for everyone. It collects nothing from anyone, and children are anyone: no name, no age, no email address, no identifier. There are no ads, no chat, no user-generated content, no links out to social networks and no way to spend money.
Because no personal information is collected from any user, none is collected from children under 13 — or under 16, where that is the line. The one networked feature pairs a second device you already own, and it carries button presses.
06The web version
The same game runs in a browser at elpatopotato.github.io/myspacedrift. That page is hosted on GitHub Pages, and like every web host GitHub sees the request — IP address, browser, page fetched — in its own logs, under GitHub's privacy policy. That is a property of the web, not something the game adds: there is no analytics on the page and I have no access to those logs. The browser version also fetches the pairing library, PeerJS, from a public CDN (unpkg.com) when the page first loads. The iOS app carries the game and that library inside itself.
07Apple
Apple gives every developer aggregate figures about their own app — downloads, and crash reports if you agreed to share diagnostics with developers. They arrive already counted and anonymous. That is Apple's collection under Apple's privacy policy, and it tells me nothing about who anyone is.
08If this ever changes
Then this page changes, with a new date at the top. It is a static page in the same public repository as the game — github.com/ElPatOpoTatO/myspacedrift — so its history is public too. A version of the app that collected something would have to say so here first.
09Contact
Write to gaeluco2010@gmail.com. One person, reading their own mail. Anything about this page, or about what the game actually does, is fair to ask.
EspañolLa versión corta
En un párrafo
El juego no recolecta nada tuyo. No hay analítica, ni publicidad, ni rastreo, ni cuentas, ni ningún servidor mío en ninguna parte. Tus récords y tus preferencias se quedan en el aparato y no van a ningún lado. Una sola función usa internet —CONNECT PHONE, que convierte un segundo aparato en mando— y la sección 03 cuenta exactamente lo que eso cuesta, incluida la parte que es fácil no mencionar. Esa función es solo de la versión web. La app de iOS no la ofrece y no hace ninguna conexión de red.
01Qué se recolecta: nada
Ni nombre, ni correo, ni edad, ni ubicación, ni contactos, ni fotos, ni identificadores del aparato, ni estadísticas de uso, ni informes de fallos míos. No hay cuenta que crear ni nada donde iniciar sesión. No puedo ver tus puntajes, ni cuándo jugás, ni si jugás.
La app nunca pide la cámara, el micrófono, tu ubicación, tus contactos, tus fotos ni notificaciones, porque no tiene código que use ninguna de esas cosas. El único permiso que iOS puede llegar a pedir es el de red local que cuenta la sección 03, y es cosa del emparejamiento.
02Qué guarda el juego en tu aparato
Cuatro cosas, para que cerrar el juego no se las lleve. Las cuatro se escriben en el almacenamiento local de la propia app, dentro de su sandbox en tu aparato, y ninguna sale de ahí:
- El top 10
- Tres iniciales, un puntaje y un nivel, para que la tabla sobreviva a cerrar la app. Las iniciales son las que tecleás al terminar la partida: nada pide ni comprueba un nombre real.
- Sonido sí o no
- Para que si silenciaste siga silenciado la próxima vez que abras.
- El tinte de la pantalla
- El vidrio que elegiste es del aparato, no de la partida.
- Un código de seis dígitos
- En una pantalla, un número al azar que el aparato saca una vez para que un móvil ya emparejado vuelva a encontrarla; en un móvil usado como mando, el último código que tecleaste, para no teclearlo dos veces. Ninguno de los dos sale de vos ni de tu hardware, y el código nombra una pantalla durante el emparejamiento, no a una persona.
Borrar la app borra las cuatro del aparato. Yo no guardo copia en ningún sitio: ni nube mía, ni respaldo mío, ni exportación, y no hay nada que pedir, corregir ni borrar en un servidor, porque no hay servidor. La única copia que puede existir fuera del aparato es la que hacés vos: si tenés activada la copia de iCloud o un respaldo cifrado en la computadora, iOS incluye los datos de esta app junto con los de todas las demás, bajo tu cuenta de Apple y su política de privacidad. Yo no tengo acceso a eso.
03Connect phone: la única salida a internet de la versión web
Solo la versión web
Todo lo de esta sección es del juego en un navegador. La app de iOS no tiene esta función y no hace ninguna conexión de red: ni al servidor de señalización, ni a un STUN, ni a un relevo.
El juego puede usar un segundo aparato como mando. La pantalla muestra un código de seis dígitos, abrís el juego en un móvil, tecleás ese código y el móvil se convierte en un mando de dos botones. Es opcional: el juego entero se juega tocando las mitades izquierda y derecha de una sola pantalla. La app de iOS se arma sin esto, porque ahí dentro la pantalla de emparejamiento mostraría la dirección interna del propio paquete, que no se puede abrir en ningún navegador. Nada de lo que sigue en esta sección pasa en la app.
Que eso funcione cuesta tres servicios de terceros. Así funciona WebRTC —la tecnología del navegador sobre la que está hecho el enlace— y no hay versión de esto que los evite:
- Señalización — el servidor público de PeerJS. Para presentar a dos aparatos que no conocen la dirección del otro, el juego registra ahí su código de seis dígitos y espera. Ese servidor ve el código y, porque el aparato se conecta a él, su dirección IP.
- Encontrar la ruta — servidores STUN públicos, de Google y de Cloudflare. Un STUN le dice a un aparato cómo se ve su propia IP pública desde afuera, que es lo que permite que dos routers domésticos se encuentren en el medio. Esos servidores ven esa dirección.
- Relevo cuando no pasa nada directo — un TURN público (Open Relay, metered.ca). Cuando el router no deja pasar ninguna ruta directa —datos móviles, wifi de hotel, redes de empresa— el tráfico sale por un relevo. Ese relevo ve la IP de los dos aparatos y el flujo cifrado que pasa entre ellos.
Esos servicios son de otra gente y funcionan bajo sus propios términos. No los controlo, no les pago y no me vuelve nada de ellos.
Una cosa que conviene decir con precisión: en la web, el juego registra su código en el servidor de señalización al cargar la página, no en el momento en que abrís CONNECT PHONE, para que un móvil ya emparejado pueda reconectarse solo. Así que esa conexión se hace al abrir el juego siempre que haya internet, hayas emparejado algo o no. Sin internet el juego simplemente anda: la pantalla de emparejamiento lo dice y todo lo demás sigue igual. En la app de iOS nada de esto ocurre: la librería de emparejamiento viaja en el paquete pero no llega a correr, y la app no habla con ningún servidor de señalización, ni STUN, ni relevo, nunca.
Una vez enlazados los dos aparatos, lo único que viaja es en qué mitad del mando está tu dedo. Ni micrófono, ni cámara, ni contenido de la pantalla, ni texto, ni puntajes, ni identificadores. El enlace lo cifra el propio WebRTC, va entre tus dos aparatos y se cierra cuando se cierra el juego.
Nada de esto lo registra este proyecto. No hay logs, ni historial de emparejamientos, ni cuentas, porque no hay dónde guardarlos.
Puede que iOS te pida una vez permiso para encontrar aparatos en tu red local. Si lo hace, es la conexión del emparejamiento buscando una ruta directa entre tus dos aparatos, para que el tráfico no tenga que rebotar en un relevo del otro lado del mundo. Ninguna otra cosa lo usa, y decir que no deja el resto del juego intacto.
04Lo que esta app no hace
- No usa el IDFA ni ningún otro identificador de publicidad. No hay anuncios.
- No rastrea, y menos entre otras apps o sitios web. El aviso de App Tracking Transparency no aparece nunca, porque no hay nada que pedir.
- No hay SDK de analítica, ni de informes de fallos, ni inicio de sesión con redes sociales, ni ningún SDK de terceros. La app es el juego —un archivo HTML más la librería del emparejamiento, los dos dentro de la app— en una carcasa nativa pelada.
- No usa cookies.
- No vende, comparte, alquila ni entrega datos a nadie, que es una promesa fácil de cumplir cuando no se recolecta ninguno.
- No hay compras, ni suscripciones, ni muros de pago.
05Niños
El juego es apto para todo el mundo. No recolecta nada de nadie, y los niños son alguien: ni nombre, ni edad, ni correo, ni identificador. No hay anuncios, ni chat, ni contenido de otros usuarios, ni enlaces a redes sociales, ni forma de gastar dinero.
Como no se recoge información personal de ningún usuario, tampoco se recoge de menores de 13 años —ni de 16, donde ese sea el límite—. La única función en red empareja un segundo aparato que ya es tuyo, y por ahí sólo viajan pulsaciones de botones.
06La versión web
El mismo juego corre en el navegador en elpatopotato.github.io/myspacedrift. Esa página está alojada en GitHub Pages y, como cualquier alojamiento web, GitHub ve la petición —dirección IP, navegador, página pedida— en sus propios registros, bajo la política de privacidad de GitHub. Eso es una propiedad de la web, no algo que el juego agregue: la página no tiene analítica y yo no tengo acceso a esos registros. La versión de navegador además descarga la librería del emparejamiento, PeerJS, de un CDN público (unpkg.com) la primera vez que se carga la página. La app de iOS lleva el juego y esa librería dentro de sí misma.
07Apple
Apple le da a cada desarrollador cifras agregadas de su propia app: descargas, y los informes de fallos si aceptaste compartir diagnósticos con los desarrolladores. Llegan ya contados y anónimos. Eso lo recoge Apple bajo su propia política de privacidad, y a mí no me dice nada sobre quién es nadie.
08Si esto alguna vez cambia
Entonces cambia esta página, con una fecha nueva arriba. Es una página estática en el mismo repositorio público que el juego —github.com/ElPatOpoTatO/myspacedrift— así que su historial también es público. Una versión de la app que recolectara algo tendría que decirlo acá primero.
09Contacto
Escribí a gaeluco2010@gmail.com. Una persona, leyendo su propio correo. Cualquier cosa sobre esta página, o sobre lo que el juego hace de verdad, se puede preguntar.