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:

  1. 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.
  2. 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:

EncargadoFunciónUbicación
Supabase (Supabase, Inc.)Base de datos y mensajería en tiempo realEstados Unidos
Expo / EAS (650 Industries, Inc.)Compilación y distribución de la AppEstados 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íaPlazo
Identificador de instalación y eventos de apertura / consulta18 meses desde su última actividad
Eventos detallados de sesión (open, route_view)90 días
Coordenadas en bruto del canal de seguimiento en vivoNo se almacenan; el detector de aglomeraciones las procesa en memoria y las descarta
Correo del administrador y bitácora de auditoríaDurante 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:

  1. Su nombre y un medio para contactarlo (correo electrónico).
  2. Una descripción clara del derecho que desea ejercer.
  3. Su identificador de instalación (lo encuentra en la pantalla "Aviso de privacidad" de la App, en la sección "Tu identificador").
  4. 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.

Aviso de privacidad · XDnd admin