Privacidad · Dish para Android

Política de privacidad de Dish para Android

Efectiva el 2026-05-21. Esta política se aplica a la aplicación Dish para Android publicada por TinkerNorth ("nosotros", "TinkerNorth", "Dish") y distribuida a través de GitHub Releases. Si lees esto desde dentro de la app, también puedes encontrar la última versión en https://dish.tinkernorth.com/privacy/dish-android/.

La versión corta

Dish para Android no recopila ninguna información personal, identificadores de dispositivo, analíticas de uso o datos publicitarios. No tiene sistema de cuentas. El único procesador operado por TinkerNorth con el que contacta es Firebase Crashlytics, y solo cuando la app crashea, nunca durante el uso normal.

Los informes de crash llevan un stack trace, el modelo de dispositivo, la versión de Android y un UUID de instalación autogenerado. No llevan tus entradas de mando, los nombres o direcciones IP de los Satellites con los que te emparejas, tu SSID de Wi-Fi ni ninguna información de contacto. El alcance completo de Crashlytics está en la sección 5 más abajo. Puedes optar por no participar en cualquier momento desde el icono de engranaje en la pantalla principal → AjustesDiagnósticosCompartir informes de crash; la elección persiste entre arranques y se respeta antes de que cualquier crash se pueda subir en el siguiente arranque.

Todo lo demás que hace la app ocurre en tu dispositivo o entre tu dispositivo y los servidores Satellite con los que te has emparejado explícitamente en tu propia LAN. El stream UDP cifrado del mando es tráfico local únicamente; no lo vemos ni lo procesamos.

La versión larga de abajo explica exactamente qué hace la app en el dispositivo, qué permisos solicita y por qué, qué datos viven dónde y cuáles son tus derechos bajo GDPR (UE), UK GDPR, CCPA / CPRA (California) y LGPD (Brasil).

Quiénes somos

TinkerNorth es un proyecto de un solo desarrollador que publica Dish y la suite Satellite como software libre y de código abierto. No operamos un servicio comercial ligado a Dish para Android. Para preguntas de privacidad, contacta privacy@tinkernorth.com.

1. Información que no recopilamos

Para mayor claridad, aquí está lo que Dish para Android no recopila, aunque muchas apps de esta categoría sí:

2. Información procesada localmente en tu dispositivo

La siguiente información se procesa localmente en tu dispositivo. No sale de tu dispositivo, excepto donde se note explícitamente que va a un servidor Satellite con el que te has emparejado en tu propia LAN:

3. Permisos que solicita la app y por qué

Los permisos que Dish para Android declara en su AndroidManifest.xml se listan abajo con la razón exacta de cada uno.

La app no solicita ninguno de estos permisos: ubicación (fina o aproximada), cámara, micrófono, contactos, calendario, SMS, registro de llamadas, sensores corporales, archivos / multimedia. Si una versión futura necesita alguno, esta política se actualizará antes del release.

4. Comportamiento de red

Dish para Android inicia tráfico de red en cuatro lugares:

Todo el tráfico HTTPS saliente está además controlado por un network_security_config.xml explícito que deniega texto plano a cualquier host, así una regresión futura no puede bajar silenciosamente una conexión a HTTP plano.

5. Informes de crash (Firebase Crashlytics)

Dish para Android usa Firebase Crashlytics (proporcionado por Google LLC) para recopilar informes de crash y ANR y poder diagnosticar bugs que escapan a las pruebas. Crashlytics es el único flujo de datos desde tu dispositivo a un procesador operado por TinkerNorth.

Cuando la app crashea (una excepción Kotlin sin gestionar, una señal fatal en la capa nativa JNI o un evento Application Not Responding), Crashlytics sube:

Crashlytics no recibe:

Crashlytics retiene los datos de crash durante 90 días y luego los elimina. Mira la política de Privacidad y Seguridad de Firebase de Google para el rol de Google como procesador. TinkerNorth es el responsable del tratamiento; Google es el procesador.

Opt-out. Toca el icono de engranaje en la pantalla principal, luego en Ajustes bajo Diagnósticos desactiva Compartir informes de crash. El interruptor está activado por defecto. Desactivarlo llama a FirebaseCrashlytics.setCrashlyticsCollectionEnabled(false) y persiste la elección en almacenamiento privado de la app. El siguiente arranque aplica la preferencia guardada antes de cualquier ruta de código que pueda producir un informe de crash, y el controlador observa la preferencia durante el resto de la sesión para que un opt-out a mitad de sesión surta efecto inmediatamente. La preferencia se incluye en la copia de seguridad en la nube de Android para que sobreviva a transferencias de dispositivo. Los informes de crash ya recopilados antes de tu opt-out permanecen en Firebase hasta que expire su retención estándar de 90 días, y luego se eliminan.

Las variantes de build que se publican sin un google-services.json (por ejemplo, cualquiera que compile desde el código fuente) no tienen el SDK de Crashlytics inicializado en absoluto, aunque el interruptor esté activado. El controlador detecta esto vía FirebaseApp.getApps y no hace nada.

No ejecutamos Firebase Analytics. Crashlytics y Analytics son productos Firebase separados y esta app enlaza solo Crashlytics. Hemos mantenido deliberadamente la dependencia firebase-analytics fuera del build: incluirla auto-recopilaría eventos (first_open, session_start, screen_view, app_remove, etc.) y arrastraría com.google.android.gms.permission.AD_ID al manifest de producción. Ninguno es cierto hoy. Si alguna vez se añade Analytics, esta política se actualizará antes del cambio.

6. Servicios y SDKs de terceros

Dependencias que viajan dentro del APK:

Firebase Analytics está deliberadamente fuera del build. Incluirlo auto-recopilaría eventos y arrastraría el permiso AD_ID al manifest, ambos en conflicto con esta política. El fichero app/build.gradle.kts tiene un comentario explicando la decisión para que un futuro contribuyente vea la restricción antes de volver a añadir la dependencia.

La lista completa de dependencias está en app/build.gradle.kts en el repo dish-android y en el software bill of materials (SPDX + CycloneDX) que se publica con cada release etiquetado.

Si obtuviste Dish para Android a través de Google Play, la propia Play Store se rige por la política de privacidad de Google. Es independiente de esta política y está fuera de nuestro control.

7. Datos que compartimos

No vendemos, alquilamos ni compartimos información personal con fines publicitarios, de marketing ni con ningún propósito comercial. No tenemos relaciones con redes publicitarias, proveedores de analíticas, proveedores de detección de fraude o partners de marketing. El único tercero que recibe datos de esta app es Google LLC, actuando como procesador para Firebase Crashlytics bajo el alcance descrito en la sección 5.

8. Retención de datos

Los datos en el dispositivo viven hasta que desinstales la app o uses la opción "Borrar almacenamiento" de Android en Ajustes > Apps > Dish.

Dos piezas de datos privados de la app interactúan con la copia de seguridad en la nube de Android de forma diferente:

Crashlytics retiene los informes de crash durante 90 días en la infraestructura de Google y luego los elimina.

9. Privacidad de los menores

Dish para Android no está dirigido a niños menores de 13 (o menores de la edad equivalente en tu jurisdicción: 14 en Corea del Sur, 16 en la mayor parte de la UE). El alcance de Crashlytics descrito en la sección 5 no contiene información que pueda identificar a un menor como menor (sin nombre, sin fecha de nacimiento, sin email). Si crees que los datos de un menor se han recopilado a través de esta app, escribe a privacy@tinkernorth.com con el Firebase Installation ID o un timestamp reciente de crash y purgaremos los informes asociados.

10. Transferencias internacionales

Los datos en el dispositivo no salen de tu dispositivo. La carga del informe de crash de Crashlytics se envía a Google LLC y puede procesarse en cualquier país donde Google opere infraestructura, incluidos los Estados Unidos. Las transferencias desde el EEE / Reino Unido a EE. UU. dependen de las Cláusulas Contractuales Estándar; mira los Términos de Procesamiento de Datos y Seguridad de Google para la documentación completa del mecanismo de transferencia.

11. Tus derechos

11.1 GDPR (Espacio Económico Europeo)

Si estás en el EEE, el Reglamento General de Protección de Datos (GDPR) te otorga los derechos de acceso, rectificación, supresión, limitación del tratamiento, portabilidad de datos y oposición. Los únicos datos personales que procesamos para usuarios en el EEE son el Firebase Installation ID y la carga del informe de crash descrita en la sección 5. Para ejercer cualquiera de esos derechos:

Bases legales. El procesamiento local en el dispositivo (entrada del mando, claves de emparejamiento, hosts recordados) se basa en tu consentimiento, expresado al instalar la app y conceder permisos, y en la ejecución de un contrato cuando pides a la app que se empareje y transmita a tu Satellite. El procesamiento de Crashlytics se basa en nuestro interés legítimo (Art. 6(1)(f) del GDPR) en mantener una app funcional, equilibrado contra el alcance estricto sin PII descrito en la sección 5.

Transferencias internacionales. Los datos de Crashlytics los procesa Google LLC, que puede transferir datos fuera del EEE bajo Cláusulas Contractuales Estándar. Mira los Términos de Procesamiento de Datos y Seguridad de Google.

Tienes derecho a presentar una reclamación ante tu autoridad nacional de protección de datos. El Comité Europeo de Protección de Datos mantiene una lista.

11.2 UK GDPR (Reino Unido)

Si estás en el Reino Unido, el UK GDPR refleja los derechos de la sección 11.1 anterior. Tu autoridad supervisora es la Information Commissioner's Office (ICO). Se aplican el mismo alcance de Crashlytics y la misma mecánica de opt-out.

11.3 CCPA / CPRA (California)

Si eres residente de California, la California Consumer Privacy Act (modificada por la CPRA) te otorga los derechos de saber, eliminar, corregir, optar por no participar en la venta o compartición y limitar el uso de información personal sensible. No vendemos ni compartimos información personal (según se define bajo CCPA / CPRA), y no lo hemos hecho en los 12 meses anteriores. No se requiere un enlace de "No vender o compartir mi información personal" porque no hay venta ni compartición a la que oponerse.

Para ejercer un "derecho a saber" o "derecho a eliminar" sobre el alcance del informe de crash de la sección 5, escribe a privacy@tinkernorth.com con tu Firebase Installation ID (o un timestamp reciente de crash y modelo de dispositivo). También puedes designar un agente autorizado para hacer una solicitud en tu nombre.

11.4 Otros estados de EE. UU.

Los residentes de Virginia (VCDPA), Colorado (CPA), Connecticut (CTDPA), Utah (UCPA), Texas (TDPSA) y otros estados con leyes de privacidad integrales tienen derechos equivalentes. Se aplican el mismo alcance de Crashlytics y la misma mecánica de opt-out.

11.5 LGPD (Brasil)

Si estás en Brasil, la Lei Geral de Proteção de Dados (LGPD) te otorga los derechos de confirmación, acceso, corrección, anonimización, portabilidad y eliminación. Se aplican el mismo alcance de Crashlytics y la misma mecánica de opt-out. Para ejercer cualquier derecho, escribe a privacy@tinkernorth.com. El contacto de nuestro DPO es la misma dirección.

12. Seguridad

Cada paquete intercambiado entre Dish y Satellite se sella con ChaCha20-Poly1305 IETF usando una clave simétrica de 256 bits derivada de un intercambio de claves X25519 sembrado por un PIN de emparejamiento de cuatro dígitos. La clave nunca sale de tu dispositivo o del Satellite emparejado, y el PIN se destruye tras el emparejamiento. Para el modelo de amenazas completo mira /security/ en este sitio.

Para reportar una vulnerabilidad, mira SECURITY.md en el repo de Satellite.

13. Cambios en esta política

Actualizaremos esta política si el comportamiento de la app cambia de una forma que afecte a lo descrito aquí. Los cambios materiales se anunciarán en las notas de release de la app y la fecha "Efectiva" en la parte superior de esta página se actualizará. La versión anterior de cada política se preserva en el historial git de este sitio.

14. Contacto

Privacidad: privacy@tinkernorth.com
Seguridad: mira SECURITY.md en el repo de Satellite
General: abre una incidencia en GitHub en el repo dish-android

← Volver al índice de privacidad