Aviso de privacidad
Nota. Este documento es un borrador preparado por el equipo de ingeniería como base de la versión que firmará la entidad legal responsable. Antes de su publicación en la aplicación o en las tiendas (App Store, Google Play) debe ser revisado por una persona con cédula profesional en México con experiencia en la Ley Federal de Protección de Datos Personales en Posesión de los Particulares (LFPDPPP) y su Reglamento. Los corchetes (
[ … ]) señalan los campos que la entidad debe completar.Este texto en español es el texto rector para usuarios en México bajo el artículo 17 de la LFPDPPP. La versión en inglés (
docs/legal/PRIVACY.md) es una traducción ofrecida por cortesía a audiencias internacionales y a las tiendas de aplicaciones; en caso de discrepancia, prevalece este documento.
1. Identidad y domicilio del responsable
[Razón social del responsable] (en adelante "XDnd" o "el
responsable"), con domicilio en [domicilio fiscal completo, Oaxaca, México], es el responsable del tratamiento de los datos personales
que se procesan a través de esta aplicación, conforme a la Ley
Federal de Protección de Datos Personales en Posesión de los
Particulares y su Reglamento.
Para cualquier asunto relacionado con sus datos personales, puede
contactarnos en privacidad@xdnd.app.
2. Datos personales que tratamos
Para que la aplicación XDnd (en adelante "la App") funcione, tratamos los siguientes datos:
2.1 Datos generados al instalar y abrir la App
- Identificador de instalación. Un UUID aleatorio generado en su dispositivo. No contiene su nombre ni sus datos de contacto. Se reinicia si borra los datos de la App o la reinstala.
- Datos del dispositivo. Sistema operativo, versión del sistema
operativo, versión de la App, idioma del dispositivo (por ejemplo
es-MX). - Última ruta consultada. El identificador de la última ruta de minibús que abrió en la App, así como eventos de apertura de la App.
2.2 Datos de ubicación (sólo si usted lo permite)
- Ubicación mientras tiene la App abierta. Se usa para colocarlo en el mapa, ordenar las paradas por distancia caminando y abrir las indicaciones para caminar hasta su parada elegida. Esta información permanece en su dispositivo — salvo lo descrito en la sección 2.3, no se transmite a nuestros servidores.
- Apertura de indicaciones para caminar. Si toca "Caminar a tu parada", la App abre Google Maps con su ubicación y la coordenada de la parada como parámetros de URL. En ese momento Google recibe el par de coordenadas bajo sus propios términos de privacidad.
2.3 Datos de seguimiento en vivo (sólo con consentimiento expreso)
Cuando usted otorga su consentimiento expreso en la pantalla de bienvenida y mantiene activo el permiso de ubicación, la App comparte — de forma anónima, y únicamente mientras usted se desplaza sobre una ruta de minibús publicada — la siguiente información:
- Un identificador de sesión rotatorio que no contiene su nombre ni su identificador de instalación. Se regenera al inicio de cada viaje nuevo —y al menos una vez por hora— y cada vez que usted reactiva el seguimiento en vivo, de modo que dos viajes distintos de la misma persona no puedan vincularse en la red. Durante un mismo viaje continuo se mantiene igual, para no dividir un trayecto en autobuses fantasma.
- Coordenadas GPS (latitud, longitud) redondeadas a cinco decimales (~1.1 m), precisión estimada y velocidad sobre el suelo.
- Una marca de tiempo para cada lectura.
- (Opcional) El número de unidad que usted escribe al abordar
(por ejemplo
F-26), sólo cuando usted decide ingresarlo. Sirve para que otros pasajeros del mismo minibús reconozcan la unidad en el mapa. El detector sólo muestra esta etiqueta cuando varios pasajeros coinciden en el mismo número.
Cómo se controla la transmisión. Dos compuertas automáticas deciden si una lectura se comparte siquiera:
- Movimiento. Su teléfono debe estar moviéndose por encima de un umbral de velocidad vehicular (≈ 5 km/h sostenidos). Las lecturas a paso de caminata y las estacionarias se descartan en el dispositivo, antes de su transmisión.
- Corredor de ruta. Sus coordenadas deben estar dentro de una franja configurada alrededor del trazado de una ruta de minibús publicada (las mismas rutas que la App trae integradas y muestra en el mapa). Las ubicaciones fuera de cualquier ruta conocida — en su casa, en un mercado, en un parque — se descartan en el dispositivo, antes de su transmisión.
Cuando ambas compuertas se satisfacen, la App emite una lectura anónima aproximadamente cada cinco segundos mientras las compuertas sigan satisfechas. En el momento en que cualquiera de las dos se incumple — usted se baja del minibús, se aleja del corredor, el minibús se detiene por un período prolongado — la transmisión cesa.
Por qué seguimiento en segundo plano. Los pasajeros frecuentes abren la App para consultar arribos y luego guardan el teléfono al abordar. Si sólo compartiéramos mientras la App está visible en la pantalla, las rutas que más necesitamos detectar tendrían casi cero lecturas. Para que la capa en vivo sea precisa, la App debe poder compartir lecturas mientras está en su bolsillo — pero únicamente cuando las compuertas de movimiento y corredor coincidan en que usted está efectivamente a bordo de un minibús.
Cuándo no se transmite nada: cuando su teléfono está por debajo del umbral de velocidad vehicular; cuando su ubicación está fuera de la franja configurada alrededor de cualquier ruta publicada; cuando la precisión reportada por el GPS es peor que 50 m; cuando la última lectura tiene más de 15 segundos de antigüedad; cuando usted apaga el seguimiento en vivo desde el aviso de privacidad; y en cualquier momento en que revoque el permiso de ubicación desde la configuración de su sistema operativo.
Notificación persistente de Android. Debido a que la App puede compartir lecturas mientras está en segundo plano, Android requiere una pequeña notificación persistente mientras el seguimiento en vivo esté activo ("XDnd está activo · Toca para detener"). Al tocar la notificación se abre una pantalla que apaga el envío con un solo toque.
Estos datos se usan únicamente para que el detector de aglomeraciones infiera la posición de un minibús y la muestre a otros pasajeros. No transmitimos su identificador de instalación junto con estas coordenadas; la sesión rotatoria no está vinculada a su instalación.
2.4 Señales de buses provenientes de fuentes públicas y comunitarias
Para mostrar minibuses en el mapa antes de que haya suficientes pasajeros usando el seguimiento en vivo, la App ingiere tres tipos de señales:
- Salidas anunciadas por operadores. Anuncios de salida publicados
por los operadores de las rutas en sus propios canales públicos de
difusión. De cada publicación extraemos únicamente la ruta, el
identificador del minibús (por ejemplo
F-26) y la marca de tiempo. Se muestran en la App como marcadores "Salida". - Avistamientos comunitarios desde grupos de mensajería. Reportes de paso de minibuses publicados por pasajeros en grupos comunitarios específicos por ruta. De cada publicación extraemos únicamente la ruta, el identificador del minibús cuando se menciona, el punto de referencia o parada referido y la marca de tiempo.
- Avistamientos comunitarios desde la App. Los pasajeros también pueden reportar avistamientos directamente desde la App ("Reportar avistamiento"). Cuando usted envía uno, almacenamos la ruta, el identificador del minibús (opcional — puede dejarlo en blanco), la parada desde donde reportó, la marca de tiempo y los primeros ocho caracteres de su identificador de instalación anónimo para fines de mitigación de abuso. No almacenamos su nombre, su número telefónico, su coordenada GPS precisa, ni nada que lo identifique fuera de esta App.
Los avistamientos provenientes de los grupos de mensajería y los provenientes de la App se muestran juntos como marcadores "Reporte de la comunidad" — el usuario que ve el mapa no puede saber de qué canal proviene un reporte en particular, y tampoco lo puede saber un lector ocasional de nuestra base de datos.
Para cualquiera de las tres fuentes, la App almacena únicamente los hechos estructurados enumerados arriba. No almacenamos el texto original del mensaje, ni el nombre del remitente, ni su número telefónico, ni su foto de perfil, ni la lista de miembros del canal. No contactamos al remitente. No re-publicamos el mensaje original.
2.5 Datos del personal administrador
El equipo de operaciones utiliza una consola web con inicio de sesión por enlace mágico. Para ese flujo tratamos:
- La dirección de correo electrónico del administrador (previamente inscrita en una lista blanca autorizada).
- Una cookie de sesión emitida por nuestro proveedor de autenticación.
- El registro de cambios al catálogo (cada edición queda asociada al correo que la realizó).
3. Datos personales sensibles
No tratamos datos personales sensibles: ningún dato de salud, biométrico, financiero, origen étnico ni categorías similares.
4. Finalidades del tratamiento
4.1 Finalidades primarias (necesarias para que la App funcione)
a. Mostrar el mapa de rutas, paradas y minibuses en vivo. b. Calcular la información de paradas y los tiempos estimados de arribo. c. Cuando usted lo autorice, compartir su ubicación de manera anónima mientras la App está abierta, para que el minibús en el que viaja aparezca en los mapas de otros pasajeros y los suyos aparezcan en el suyo (sección 2.3). d. Operar y monitorear la App: estadísticas anónimas de uso por ruta, plataforma e idioma para detectar fallas y priorizar mejoras. e. Atender las solicitudes para el ejercicio de sus derechos ARCO (sección 8).
4.2 Finalidades secundarias
No tratamos sus datos para finalidades secundarias (publicidad, mercadotecnia, perfilamiento, prospección comercial). Si en el futuro añadiéramos alguna, se lo notificaríamos y le daríamos la oportunidad de oponerse antes de que aplique.
5. Transferencias de datos
Los datos se almacenan y procesan a través de los siguientes encargados, quienes actúan bajo contrato con las mismas obligaciones de protección de datos que el responsable:
| Encargado | Función | Ubicación |
|---|---|---|
| Supabase (Supabase, Inc.) | Base de datos y mensajería en tiempo real | Estados Unidos |
| Expo / EAS (650 Industries, Inc.) | Compilación y distribución de la App | Estados Unidos |
| PostHog (PostHog, Inc.) | Analítica de uso anónima (sin datos personales) | Estados Unidos |
Al activar indicaciones para caminar se abre Google Maps; en ese momento Google Inc. recibe sus coordenadas y la coordenada de la parada bajo sus propios términos.
No realizamos ninguna otra transferencia ni venta de sus datos personales. Las transferencias internacionales aquí descritas no requieren su consentimiento expreso conforme al artículo 37, fracción V de la LFPDPPP (transferencias necesarias para el mantenimiento de la relación jurídica con el titular). Las declaramos para que usted cuente con los elementos para decidir si continúa utilizando la App.
6. Plazos de conservación
| Categoría | Plazo |
|---|---|
| Identificador de instalación y eventos de apertura / consulta | 18 meses desde su última actividad |
Eventos detallados de sesión (open, route_view) | 90 días |
| Coordenadas en bruto del canal de seguimiento en vivo | No se almacenan; el detector de aglomeraciones las procesa en memoria y las descarta |
| Correo del administrador y bitácora de auditoría | Durante la relación administrativa + 5 años para fines de auditoría |
Al término del plazo aplicable, los datos son irreversiblemente eliminados o anonimizados.
7. Controles y opciones de privacidad
- Puede desactivar el seguimiento en vivo con un solo toque desde el botón "Aviso de privacidad" dentro de la App, o tocando la notificación persistente "XDnd está activo" mientras el envío está encendido. Cualquiera de las dos rutas cierra el canal de transmisión de inmediato, detiene la tarea en segundo plano y retira la notificación. No es necesario que revoque el permiso de ubicación.
- Puede negar o revocar el permiso de ubicación desde la configuración de su sistema operativo en cualquier momento, incluyendo el interruptor "Permitir todo el tiempo" que controla el acceso en segundo plano en Android. La App seguirá funcionando, pero no podrá ordenar las paradas por cercanía ni ofrecer seguimiento en vivo.
- Puede eliminar sus datos con el botón "Borrar mis datos" dentro de la App, o reinstalándola (lo que genera un nuevo identificador de instalación; el registro anterior se elimina por la política de conservación).
- Las compuertas de movimiento y corredor de ruta se ejecutan en su dispositivo. Aun con el seguimiento en vivo encendido, ninguna lectura se transmite a menos que su teléfono se esté moviendo por encima de un umbral de velocidad vehicular Y se encuentre dentro de la franja alrededor de una ruta de minibús publicada. Caminar, estar sentado en casa o encontrarse en cualquier lugar fuera de un corredor de ruta conocido significa que nada se transmite, sin importar el estado del consentimiento.
8. Derechos ARCO y cómo ejercerlos
Usted tiene derecho a Acceder a sus datos personales, Rectificarlos si son inexactos, Cancelarlos cuando considere que ya no son necesarios para las finalidades de este aviso, y a Oponerse a su tratamiento para finalidades específicas.
Para ejercer cualquiera de estos derechos, envíe una solicitud a
privacidad@xdnd.app indicando:
- Su nombre y un medio para contactarlo (correo electrónico).
- Una descripción clara del derecho que desea ejercer.
- Su identificador de instalación (lo encuentra en la pantalla "Aviso de privacidad" de la App, en la sección "Tu identificador").
- Cualquier otro detalle que ayude a localizar la información.
Le responderemos en un plazo no mayor a 20 días hábiles. Si la solicitud resulta procedente, la ejecutaremos dentro de los 15 días hábiles siguientes. No cobramos por estas solicitudes, salvo gastos justificados de envío.
Si considera que su derecho a la protección de datos personales ha
sido vulnerado, puede acudir al Instituto Nacional de
Transparencia, Acceso a la Información y Protección de Datos
Personales (INAI) — inai.org.mx.
9. Cookies y tecnologías similares
La App no utiliza cookies, redes publicitarias ni identificadores de seguimiento entre aplicaciones (IDFA / GAID). Únicamente utilizamos almacenamiento local del dispositivo para guardar:
- El identificador de instalación.
- Su elección sobre el seguimiento en vivo.
- La marca de tiempo del consentimiento que usted otorgó (qué versión de este aviso y cuándo).
La consola de administración utiliza cookies estrictamente necesarias para mantener la sesión iniciada y recordar la preferencia de idioma.
10. Designación del responsable de datos personales
El responsable ha designado a [nombre / cargo] como persona
encargada de atender las solicitudes ARCO y las consultas del INAI.
Contacto: privacidad@xdnd.app.
11. Cambios al presente aviso
La versión vigente de este aviso estará siempre disponible bajo
"Aviso de privacidad" dentro de la App y en
https://xdnd.app/privacidad. Si realizamos cambios
sustanciales — por ejemplo, añadir una finalidad secundaria o un
nuevo encargado — los comunicaremos a través de la propia App y,
en su caso, solicitaremos nuevamente su consentimiento.
Última actualización: 7 de junio de 2026 Versión: 0.4 (borrador — refleja el modelo de seguimiento pasivo en segundo plano supeditado a movimiento + corredor de ruta)
La v0.4 refleja la rotación de sesión alineada al viaje (D-78): el identificador de sesión ahora rota en los límites de cada viaje y al menos una vez por hora, en lugar de hacerlo con un temporizador fijo de 20 minutos.