← psybertechno:geo

Privacidad

Esta página es una traducción automática del original en japonés. En caso de discrepancia, prevalece la versión japonesa.

Qué se envía, qué permanece en el dispositivo y a quién llega. No son generalidades: solo describimos lo que realmente hay en el código.

Versión de referencia: v0.1.3 / Última actualización: 2026-07-30

Resumen

ID de dispositivo

La primera vez, se genera un UUID (v4) aleatorio y se guarda en el localStorage del dispositivo con la clave ptg:device-id. No es una autenticación: es un ID anónimo que solo sirve para atribuir el contenido publicado y para la limitación de tasa y la prevención de abusos en el servidor. No está vinculado a tu nombre, correo electrónico, ID publicitario ni nada similar.

Si borras el almacenamiento del navegador, o usas otro navegador o dispositivo, obtendrás un ID distinto (en entornos donde el almacenamiento no está disponible, como el modo privado, se genera un ID de usar y tirar cada vez que abres la página). Al exportar o importar una copia de seguridad, este ID también se transfiere.

Lo que se envía al servidor

El envío solo ocurre en los siguientes casos. A continuación se detalla qué se envía y qué se guarda en cada uno.

1. Publicar (PUBLISH)

Solo se envía cuando haces PUBLISH de forma explícita desde EDIT MENU. Qué se envía:

  • La capa (AREA / SPOT) y el ID/coordenadas de la casilla
  • El patrón editado (el propio contenido: pasos, notas, resolución, etc.)
  • La tribu (RED / GREEN / BLUE)
  • La versión del generador
  • Una clave para evitar reenvíos duplicados (clave de idempotencia)
  • El ID de dispositivo
  • El token de Cloudflare Turnstile (para la detección de bots)
  • Si hay ubicación disponible, la posición en ese momento (latitud, longitud, precisión y hora de obtención)

Lo que se guarda en el servidor (Cloudflare D1): el conjunto completo de la revisión mencionada arriba (capa, ID de casilla, coordenadas, número de secuencia, ID de dispositivo, patrón, versión del generador, clave de idempotencia, hora de creación, tribu), la posición (latitud, longitud, precisión), un indicador de si se pudo confirmar que esa posición estaba dentro de la casilla, y el código de país que Cloudflare determina a partir de la IP de origen. El código de país solo se registra; nunca se usa como motivo para rechazar una publicación.

La posición se usa para confirmar que estás dentro de la casilla, y una vez usada para esa confirmación se guardan la latitud y la longitud. Si no hay ubicación disponible, no se envía ninguna posición y queda registrado como «no confirmado».

2. Baliza de huellas

Si permaneces reproduciendo en la misma casilla durante cierto tiempo, se envía una pequeña señal que indica que «esa casilla se ha escuchado realmente». Sirve para reiniciar el reloj del desgaste (decay) y para construir el mapa de calor de huellas.

Qué se envía: la capa y el ID de la casilla escuchada, y el ID de dispositivo.

Qué se guarda: solo un agregado por casilla (capa, ID de casilla, coordenadas, recuento acumulado, última hora). El ID de dispositivo no se guarda en la base de datos: solo se usa en memoria para la limitación de tasa mientras se procesa la petición, y desaparece cuando esta termina. No queda ningún registro de quién escuchó dónde.

Qué se muestra en el mapa: el mapa de calor de huellas nunca se dibuja con más detalle que AREA (unos 250 m). Las huellas a escala SPOT (unos 70 m) solo llegan al mapa sumadas en el AREA que las contiene, y la API se niega a servirlas con granularidad SPOT (ampliar el mapa no cambia nada). Los agregados por SPOT siguen registrándose para el reloj del desgaste, pero no se muestran con un detalle que pudiera leerse como «alguien estuvo en esa dirección».

Con la hora aplicamos el mismo criterio: la hora de «última escucha» que sale del servidor se redondea al día (las 00:00 UTC de ese día). Con precisión de milisegundos sería el registro de que «alguien estuvo en esta casilla a las 14:32». El desgaste se calcula por días de todos modos, así que redondearla no cambia nada de lo que se oye. (Las horas de PUBLISH no se redondean: publicar es un acto deliberado y atribuido.)

3. Endpoint de denuncias

No hay un botón de denuncia dentro de la aplicación (una casilla publicada no contiene texto libre, imágenes ni audio, así que había poco daño real que un sistema de denuncias tuviera que proteger, y se retiró). El endpoint en sí se mantiene para denuncias gestionadas por la operación o por contacto, y para una futura denuncia de journeys. Si llega a usarse, lo que se envía es: la capa y el ID de la casilla en cuestión, el ID de dispositivo y, si la hay, una descripción del motivo. Lo que se guarda: el mismo contenido, la hora de recepción y el estado de la gestión. Más detalles en la Ayuda.

4. Compartir un journey

Un journey contiene toda tu trayectoria de GPS. Quien reciba el enlace compartido puede reproducir tal cual el recorrido que hiciste. Se pueden deducir tu casa, tu trabajo y tu ruta habitual.

Compartir siempre requiere una acción explícita por tu parte, y antes siempre se muestra un diálogo de confirmación de privacidad. Con solo grabar o solo guardar, no se envía nada.

Qué se envía: la secuencia de eventos del journey (la trayectoria de GPS y de escucha, una instantánea del patrón y el timbre de cada casilla, los saltos por toque en el mapa, las ediciones durante la grabación y los PLAY / STOP) comprimida en gzip. Además, el título, la hora de inicio, la duración, el número de eventos, el ID de dispositivo y el token de Turnstile.

Qué se guarda: el propio journey se guarda en Cloudflare R2, y los metadatos (ID, título, hora de inicio, duración, número de eventos, tamaño, ID de dispositivo, hora de creación y estado de retirada) se guardan en D1. Aquí el ID de dispositivo se guarda de forma deliberada, para poder moderar en caso de uso indebido.

El ID de compartición son 12 caracteres aleatorios. Cualquiera que conozca el enlace puede reproducirlo.

5. Cargar el mundo

Son peticiones para cargar la hora de referencia de la sincronización de reproducción y los datos publicados del área que se está mostrando en ese momento. No se envía el ID de dispositivo. Solo se envían las coordenadas del sector que se necesita. Aun así, al tratarse de una comunicación, Cloudflare recibe la dirección IP de origen y la hora de la petición.

Periodo de conservación y eliminación

Lo que permanece en el dispositivo (no se envía a menos que lo compartas)

Si borras los datos del sitio en el navegador, todo esto desaparece (el contenido ya publicado y los journeys ya compartidos permanecen en el servidor).

Sobre la ubicación

Terceros con los que se comunica solo con abrir la página

Con estos servicios se establece una conexión al cargar la página, aunque tú no hagas nada. A cada uno de ellos le llega tu dirección IP y la información básica del navegador (User-Agent, etc.).

Cloudflare (hosting, API y almacenamiento de datos)
Se encarga de servir el sitio, la API y del almacenamiento en D1 y R2. Recibe la dirección IP, el país de origen y el registro de la petición.
Política de privacidad de Cloudflare
Cloudflare Turnstile (detección de bots)
Protección contra bots que solo actúa al hacer PUBLISH o al compartir un journey. El script solo se carga la primera vez que entras en modo EDIT — si solo estás escuchando, no se carga.
Política de privacidad de Cloudflare
CARTO (teselas del mapa) / OpenStreetMap (datos del mapa)
La imagen de fondo del mapa se carga desde los servidores de distribución de CARTO. Qué zona del mapa estás viendo (las coordenadas de la tesela y el zoom) se transmite junto con tu dirección IP. Los datos del mapa en sí proceden de OpenStreetMap.
Política de privacidad de CARTOPolítica de privacidad de OSM Foundation
Google Fonts
La propia aplicación carga la tipografía de píxeles de la interfaz. Las páginas de explicación como Ayuda, Privacidad y Donaciones (incluida esta página) también cargan la tipografía del cuerpo de texto (LINE Seed JP). En ambos casos la carga es desde fonts.googleapis.com / fonts.gstatic.com, y Google recibe la dirección IP y la información del navegador.
Política de privacidad de Google
unpkg (CDN)
La hoja de estilos de la librería de mapas Leaflet se carga desde unpkg.com. Se transmite la dirección IP y la información del navegador.
Cloudflare Zaraz / Google Analytics (análisis de uso)
Se cargan, cuando se obtiene el consentimiento, para medir el uso del sitio. Los detalles, y dónde se traza la línea para no enviar la ubicación y otros datos, están en la sección Análisis de uso.

Aparte de estos, no hemos integrado nada que se comunique con el exterior. No hay redes publicitarias, píxeles de seguimiento de redes sociales ni herramientas de pruebas A/B.

Análisis de uso (Google Analytics)

Usamos Google Analytics 4 (GA4) para entender cómo se usa el sitio en su conjunto. Se implementa a través de Cloudflare Zaraz; no incrustamos la etiqueta de análisis directamente en el código de la aplicación.

La ubicación (GPS), el sonido editado y el contenido de los journeys nunca se envían a la analítica.

El análisis solo llega hasta el nivel de «se vio una página». Nunca enviamos como parámetro de evento o dimensión personalizada el ID de la casilla (celda), la latitud/longitud, el contenido de un journey, ni el ID de dispositivo (ptg:device-id) mencionado arriba. Estos datos solo llegan a nuestras propias API enumeradas más arriba.

Qué recopila el análisis

Lo que va en estos eventos es solo lo que se ve en los paréntesis de arriba: opciones predefinidas y pequeños números. Está implementado de forma que no se puede transmitir texto libre ni identificadores.

El tratamiento de la URL: distinto entre las páginas de información y la aplicación

Registramos la URL para saber «qué página se leyó», pero este sitio tiene dos tipos de páginas con naturalezas distintas, así que las tratamos de forma diferente.

Páginas de información (esta página de Privacidad, Ayuda, Donaciones)

Se registra la URL tal cual (/help/, /privacy/, /support/), para saber qué página de explicación se está leyendo. Estas URL no contienen ninguna ubicación; solo permiten saber qué página se abrió.

La aplicación en sí

La URL de la aplicación incluye la casilla de tu posición actual (/{zone}/{area}/{spot}), así que la propia URL es una coordenada. Por eso, la vista de página de la aplicación se envía al análisis después de sustituirla por un valor constante, / (la raíz del sitio), que elimina la parte de la casilla. Lo único que queda registrado es que «se abrió la aplicación», y esta coordenada nunca llega al análisis.

Cada vez que caminas y cambias de casilla, la URL de la barra de direcciones se reescribe, pero esa reescritura tampoco se envía nunca al análisis.

En resumen, lo que queda registrado llega hasta «cuál de las páginas de información se leyó», pero «dónde estuviste» en la aplicación no se puede reconstruir a partir de ningún registro. La promesa inicial (que la ubicación, el sonido editado y el contenido de los journeys nunca se envían a la analítica) se mantiene gracias a este tratamiento.

Sobre el consentimiento

La gestión del consentimiento del análisis está a cargo de la herramienta de consentimiento de Cloudflare Zaraz. A las personas visitantes de las regiones correspondientes se les pide su consentimiento antes de que el análisis empiece a funcionar. Puedes cambiar o retirar tu consentimiento en cualquier momento desde el mismo banner de consentimiento (puedes volver a abrirlo desde el enlace de ajustes que aparece en pantalla). Si lo retiras, el análisis se detiene a partir de ese momento.

Cookies e identificadores que usa el análisis

Google Analytics usa cookies (como _ga) o un identificador local equivalente para contar en conjunto las visitas del mismo navegador. Esto es completamente distinto del ID de dispositivo propio de esta aplicación (ptg:device-id), y no están vinculados entre sí. El ID de dispositivo nunca llega al análisis, ni el identificador del análisis se vincula jamás a los datos del mundo de esta aplicación.

Enlaces de referencia: Política de privacidad de GoogleSobre el uso de datos de Google AnalyticsPolítica de privacidad de Cloudflare (Zaraz)

Cookies

El estado de la propia aplicación (borradores, ajustes, journeys, etc.) no se guarda en cookies, sino en localStorage / sessionStorage / IndexedDB. Las cookies se usan para el análisis de uso mencionado arriba y para la gestión de su consentimiento. Otros terceros también pueden establecer sus propias cookies.

Sobre el uso por parte de menores

No hay cuentas ni pagos, y no recopilamos nombres ni datos de contacto. Sin embargo, como se maneja información de ubicación, si un/a menor va a usar la aplicación, debe hacerlo bajo la supervisión de sus madres, padres o tutores. En particular, al compartir un journey, la ruta recorrida llega tal cual a la otra persona.

Solicitudes de eliminación o corrección

Sobre los cambios

Si se modifica el contenido, se actualizará la fecha de «Última actualización» de esta página.