Politique de confidentialité de Dish pour Android
En vigueur le 2026-09-06. Cette politique s'applique à l'application Dish pour Android publiée par TinkerNorth (« nous », « TinkerNorth », « Dish ») et distribuée via Google Play et les Releases GitHub. Si vous lisez ceci depuis l'application, vous pouvez également trouver la dernière version sur https://dish.tinkernorth.com/privacy/dish-android/.
La version courte
Dish pour Android ne collecte aucune information personnelle, identifiant d'appareil, analyse d'usage ou donnée publicitaire. Il n'a pas de système de compte. Le seul processeur exploité par TinkerNorth qu'il contacte jamais est Firebase Crashlytics, et uniquement quand l'application plante. Jamais durant l'usage normal.
Les rapports de plantage transportent une stack trace, le modèle d'appareil, la version d'Android, et un UUID d'installation auto-généré. Ils ne transportent pas vos entrées de manette, les noms ou adresses IP des Satellites avec lesquels vous appairez, votre SSID Wi-Fi, ni aucune information de contact. La portée complète de Crashlytics est détaillée à la section 5 ci-dessous. Vous pouvez désactiver à tout moment depuis l'icône d'engrenage sur l'écran principal → Paramètres → Diagnostics → Partager les rapports de plantage ; le choix persiste entre les lancements et est respecté avant qu'un plantage ne puisse être envoyé au prochain démarrage.
Tout le reste de ce que fait l'appli se passe sur votre appareil ou entre votre appareil et les serveurs Satellite, hôtes Moonlight ou hôtes Bluetooth avec lesquels vous vous êtes explicitement appairé sur votre propre réseau local. Le flux chiffré de la manette, et l'audio du micro et du haut-parleur de la manette quand vous les activez, ne sont que du trafic local ; nous ne le voyons ni ne le traitons.
La version plus longue ci-dessous explique exactement ce que fait l'application sur l'appareil, quelles permissions elle demande et pourquoi, quelles données vivent où, et quels sont vos droits sous le GDPR (UE), UK GDPR, CCPA / CPRA (Californie) et LGPD (Brésil).
Qui nous sommes
TinkerNorth est un projet de développeur unique qui publie Dish et la suite Satellite comme logiciels libres et open source. Nous n'exploitons pas de service commercial lié à Dish pour Android. Pour les questions de confidentialité, contactez privacy@tinkernorth.com.
1. Informations que nous ne collectons pas
Pour clarifier, voici ce que Dish pour Android ne collecte pas, même si beaucoup d'applis de cette catégorie le font :
- Pas de nom, d'adresse e-mail, de numéro de téléphone ni d'identifiants de compte.
- Pas d'identifiant publicitaire (AAID), Android ID, IMEI ni autres IDs d'appareil de tracking publicitaire.
- Pas de localisation précise ou approximative.
- Pas de contacts, de calendrier, de photos ni de fichiers. L'audio du micro n'est capturé que pendant que le micro d'une manette est activé, ne va qu'au PC avec lequel vous êtes appairé, et n'est jamais stocké ni envoyé chez nous (section 2).
- Pas d'analyse d'usage générale. Nous n'utilisons pas Firebase Analytics, Google Analytics ni aucun autre pipeline de suivi d'événements. La seule donnée hors appareil est la portée Crashlytics, limitée aux plantages, décrite à la section 5.
- Pas de données publicitaires ni de publicité in-app.
- Pas de métadonnées sur les jeux auxquels vous jouez, les manettes que vous utilisez ou les moments où vous les utilisez.
2. Informations traitées localement sur votre appareil
Les informations suivantes sont traitées localement sur votre appareil. Elles ne quittent pas votre appareil, sauf lorsqu'il est explicitement précisé qu'elles vont vers un serveur Satellite que vous avez appairé sur votre propre LAN :
- Entrées de manette. Pressions de boutons, positions des sticks analogiques et pressions des gâchettes depuis l'overlay tactile à l'écran ou une manette physique attachée à votre téléphone. Elles sont chiffrées de bout en bout (ChaCha20-Poly1305) et envoyées uniquement aux serveurs Satellite avec lesquels vous avez appairé, en UDP sur votre LAN.
- Lectures des capteurs de mouvement. Si vous activez le transfert du gyroscope / accéléromètre, la sortie de l'IMU du téléphone est échantillonnée jusqu'à 250 Hz, chiffrée et envoyée au Satellite appairé. C'est désactivé par défaut et basculé dans l'activité d'overlay de l'application.
- État de la batterie. L'application lit le niveau de batterie et l'état de charge de votre téléphone depuis le
BatteryManagerd'Android afin de transférer une capacité de batterie à votre Satellite toutes les 30 secondes et à chaque transition d'état. Ceci est envoyé chiffré uniquement au Satellite appairé. - Liste des Satellites appairés. Quand vous vous appairez avec un Satellite, l'application stocke l'adresse IP du satellite, le port, le nom d'affichage, l'identifiant d'appareil, et la clé symétrique de 256 bits propre à ce satellite dérivée pendant la poignée de main X25519. Ceci est conservé dans les
SharedPreferencespar appli d'Android et est isolé à l'application. - Hôtes Bluetooth mémorisés. Si vous utilisez la fonctionnalité de passthrough HID Bluetooth, l'application stocke l'adresse MAC et le nom de chaque hôte mémorisé dans
SharedPreferencespour que vous puissiez vous reconnecter sans réappairer. - Hôtes Moonlight mémorisés. Si vous vous appairez à un hôte Sunshine, Apollo ou Wolf, l'appli enregistre son nom, son adresse, ses ports, l'identifiant de l'hôte, la dernière application lancée là-bas et le type de manette choisi dans
SharedPreferences, pour vous reconnecter sans réappairer. - Identité de client Moonlight. Une paire de clés RSA avec un certificat auto-signé, plus un identifiant de client aléatoire, générés une seule fois. La clé privée vit dans l'Android Keystore, d'où elle ne peut pas être exportée ; le certificat et l'identifiant sont dans le stockage privé de l'appli. Ils prouvent à un hôte Moonlight que c'est bien le téléphone avec lequel il s'est appairé, et ne sont envoyés qu'aux hôtes Moonlight avec lesquels vous vous appairez, jamais chez nous.
- Micro et haut-parleur de la manette. Tant que l'interrupteur Micro d'une manette est activé, que la permission est accordée, que la manette diffuse vers un Satellite et qu'elle n'est pas en sourdine, l'appli capture le micro du téléphone par fenêtres de 20 ms, encode chacune avec Opus et l'envoie par la même session UDP chiffrée que les entrées de votre manette, de sorte qu'elle arrive sur le PC comme le micro de la manette elle-même. Son de la manette est le chemin inverse : ce que le jeu joue par le haut-parleur de la manette est décodé et joué sur votre téléphone. Rien n'est mis en tampon sur le disque et rien n'est conservé après l'envoi ou la lecture d'une fenêtre. La sourdine arrête la capture ; une manette en sourdine n'envoie aucun paquet audio.
- Serveurs LAN découverts. L'adresse IP, le port et le nom de tout Satellite annoncé sur votre réseau local via mDNS ou diffusion UDP, conservés en mémoire pendant la durée du cycle de découverte. Non persistés entre les lancements à moins que vous ne choisissiez d'appairer.
- Préférences de l'appli. Type de manette par emplacement (Xbox / PlayStation / Switch Pro), les interrupteurs Micro et Son de la manette de chaque manette (le micro est désactivé par défaut), dispositions de la surcouche tactile par jeu, choix de la langue. Stockées dans
SharedPreferencessur votre appareil. - Logs Android. Comme toute appli Android, Dish écrit des messages de diagnostic dans le log système Android (
logcat). Ils ne quittent jamais votre appareil ; ils sont visibles pour vous (et pour quiconque a un accès USB debugging à votre téléphone) mais ne sont transmis nulle part.
3. Permissions demandées par l'application, et pourquoi
Les permissions que Dish pour Android déclare dans son AndroidManifest.xml sont listées ci-dessous avec la raison exacte pour laquelle chacune existe.
INTERNET. Requise pour envoyer des paquets UDP chiffrés de manette à un Satellite sur votre LAN et pour effectuer la poignée de main d'appairage HTTPS. Nous ne contactons aucun serveur que nous exploitons.ACCESS_NETWORK_STATE. Permet à l'appli de remarquer quand vous n'avez pas de Wi-Fi et d'afficher une bannière utile au lieu d'échouer en silence.ACCESS_WIFI_STATE. Utilisée pour détecter si vous êtes du tout en Wi-Fi, pour que l'appli puisse vous avertir que Satellite est injoignable en données mobiles.CHANGE_WIFI_MULTICAST_STATE. Requise pour la découverte mDNS / Bonjour de serveurs Satellite sur votre LAN. Sans elle, le seul chemin de découverte est la diffusion UDP héritée.ACCESS_LOCAL_NETWORK. Les versions récentes d'Android placent derrière cette permission la découverte des appareils de votre réseau local et la connexion à ceux-ci. Les versions plus anciennes la déduisent d'INTERNET.WAKE_LOCK. Maintient l'écran / le CPU éveillé pendant une session de streaming active pour qu'une pression de bouton ne soit pas retardée par Doze.FOREGROUND_SERVICEetFOREGROUND_SERVICE_CONNECTED_DEVICE. Android exige un service de premier plan pour maintenir vivante une longue session connected-device quand l'appli est en arrière-plan. Le type de service connected-device correspond au cas d'usage manette vers hôte.POST_NOTIFICATIONS(Android 13+). Affiche la notification de session continue requise par le service de premier plan, plus des bannières optionnelles pour les changements d'état de connexion. Vous pouvez refuser et l'appli fonctionnera quand même ; simplement la notification ne sera pas visible.VIBRATE. Route les événements de vibrations transférés depuis votre jeu vers le(s) vibreur(s) du téléphone pour que vous les sentiez dans votre main.RECORD_AUDIOetFOREGROUND_SERVICE_MICROPHONE. Pour jouer le rôle du micro de la manette émulée, afin que le chat vocal de votre PC vous entende à travers la manette. Demandée à l'exécution, seulement quand vous activez Micro pour une manette ; la refuser laisse tout le reste fonctionner. Le type de service au premier plan micro n'est revendiqué que pendant qu'une manette au Micro activé diffuse, pour que la session continue avec l'appli en arrière-plan.BLUETOOTH/BLUETOOTH_ADMIN(Android 11 et antérieur),BLUETOOTH_CONNECTetBLUETOOTH_SCAN(Android 12+). Nécessaires seulement si vous appairez une manette Bluetooth à votre téléphone ou si vous utilisez le passthrough Bluetooth HID pour présenter votre téléphone comme manette Bluetooth virtuelle à un autre appareil.BLUETOOTH_SCANest déclarée avecneverForLocation: nous ne déduisons pas votre position des résultats de scan et ne collectons aucune donnée de scan.
L'appli ne demande aucune de ces permissions : position (précise ou approximative), appareil photo, contacts, calendrier, SMS, journal d'appels, capteurs corporels, fichiers / médias. Le micro est la seule permission sensible qu'elle demande, uniquement quand vous activez le micro d'une manette, et il ne sert à rien d'autre. Si une version future a besoin d'une autre permission, cette politique sera mise à jour avant la sortie.
4. Comportement réseau
Dish pour Android génère du trafic réseau à cinq endroits :
- Découverte LAN. L'appli envoie et écoute des requêtes mDNS / Bonjour sur l'adresse multicast
224.0.0.251:5353, et écoute les balises de diffusion UDP héritées sur le port 9879. Ce trafic reste sur votre réseau local. - Poignée de main d'appairage. Quand vous tapez sur un Satellite découvert et entrez le PIN à 4 chiffres affiché sur le Satellite, l'appli effectue une requête HTTPS POST vers l'IP du Satellite sur le port TCP 9443. Le corps de la requête contient une clé publique X25519 de 32 octets, le PIN, l'identifiant d'appareil et le label d'appareil. Le certificat du Satellite est auto-signé et non validé contre une CA publique ; la confiance est établie par le PIN, qui est consommé une fois puis détruit.
- Session de streaming. Une fois appairée, l'appli envoie des paquets UDP authentifiés par ChaCha20-Poly1305 à l'IP du Satellite sur le port 9876 et écoute sur le même socket les paquets de retour (vibrations, barre lumineuse, effets de gâchette, voyants de joueur, événements d'état). Les battements de cœur partent toutes les 2 secondes. Quand vous activez le micro ou le haut-parleur d'une manette, l'audio encodé en Opus emprunte la même session chiffrée dans les deux sens.
- Hôtes Moonlight. Dish peut aussi être la manette d'un hôte Sunshine, Apollo ou Wolf, en parlant le protocole Moonlight (GameStream) au lieu de celui de Satellite. Les hôtes sont trouvés par mDNS (
_nvstream._tcp) ou ajoutés par adresse. L'appairage suit ce protocole : quelques requêtes HTTP vers l'hôte sur le port 47989, que le protocole fixe en HTTP en clair parce qu'aucun secret partagé n'existe encore. Le PIN ne circule jamais sur le réseau ; les deux côtés en dérivent une clé et prouvent qu'ils la détiennent. Ensuite, chaque appel se fait en TLS mutuel sur le port 47984 avec le certificat client du téléphone, et le certificat de l'hôte est épinglé, de sorte qu'un hôte substitué est refusé. Pour ouvrir une session de manette, l'appli lance ou reprend une application sur l'hôte, puis envoie les entrées de votre manette, le mouvement, le pavé tactile et la batterie par le canal de contrôle chiffré (AES-GCM) du protocole. L'hôte diffuse aussi son écran et son audio aux réglages les plus bas qu'il autorise, parce que le protocole a besoin d'un flux pour garder la session ouverte ; Dish jette ces paquets sans les décoder et ne les stocke ni ne les affiche jamais. L'hôte apprend l'identifiant client du téléphone, un nom d'appareil et le certificat client. Tout cela reste sur votre réseau local. - Rapports de plantage. Si, et seulement si, l'appli plante ou subit un ANR, le SDK Firebase Crashlytics embarqué envoie un rapport de plantage à Google. La portée détaillée et les exclusions sont à la section 5. Il n'y a pas de chemin de télémétrie en fonctionnement normal : pas d'endpoint d'analyse, pas d'endpoint « vérifier les mises à jour », pas d'endpoint de configuration à distance. Les vérifications de mises à jour sont effectuées par le Google Play Store ou par vous manuellement.
Tout ce qui passe par la pile d'URL d'Android est verrouillé par un network_security_config.xml explicite qui refuse le texte en clair vers tout hôte, de sorte qu'une régression future ne puisse pas rétrograder en silence une connexion vers du HTTP simple. Deux choses sont hors de cette pile : le fil UDP chiffré, qui porte sa propre authentification, et la phase d'appairage Moonlight, que le protocole GameStream fixe en HTTP en clair et qui ne transporte aucun secret.
5. Rapport de plantage (Firebase Crashlytics)
Dish pour Android utilise Firebase Crashlytics (fourni par Google LLC) pour collecter les rapports de plantage et d'ANR afin que nous puissions diagnostiquer les bugs qui échappent aux tests. Crashlytics est le seul flux de données de votre appareil vers un processeur exploité par TinkerNorth.
Quand l'appli plante (une exception Kotlin non gérée, un signal fatal dans la couche JNI native, ou un événement Application Not Responding), Crashlytics envoie :
- La stack trace (Kotlin et/ou native).
- Modèle d'appareil, fabricant, version d'Android, locale, RAM libre et disque libre au moment du plantage.
- Le code de version et le nom de version de l'appli.
- Un Firebase Installation ID, c'est-à-dire un UUID auto-généré qui nous permet de compter les installations uniques affectées sans vous identifier personnellement.
- Les quelques dernières lignes de log que nous avons explicitement signalées comme pertinentes. Nous n'envoyons pas le contenu général de
logcat.
Crashlytics ne reçoit pas :
- Les noms, IP ou adresses MAC des Satellite, hôtes Moonlight ou hôtes Bluetooth avec lesquels vous vous appairez.
- Vos événements d'entrée de manette, y compris les flux de mouvement et de pavé tactile.
- Votre SSID, BSSID ou adresse IP Wi-Fi.
- Toute information de contact, adresse e-mail ou nom.
- Le contenu du flux UDP chiffré de manette.
- L'audio du micro ou du haut-parleur, ni aucun audio du tout.
Crashlytics conserve les données de plantage pendant 90 jours, puis les supprime. Voir la politique de confidentialité et de sécurité Firebase de Google pour le rôle de Google en tant que processeur. TinkerNorth est le responsable du traitement ; Google est le processeur.
Se désinscrire. Tapez l'icône d'engrenage sur l'écran principal, puis dans Paramètres sous Diagnostics basculez Partager les rapports de plantage sur off. L'interrupteur est sur on par défaut. Le basculer sur off appelle FirebaseCrashlytics.setCrashlyticsCollectionEnabled(false) et persiste le choix dans le stockage privé de l'appli. Le prochain démarrage de l'appli applique la préférence sauvegardée avant tout chemin de code qui pourrait produire un rapport de plantage, et le contrôleur observe la préférence pendant le reste de la session pour qu'un opt-out en milieu de session prenne effet immédiatement. La préférence est incluse dans la sauvegarde cloud Android, donc elle survit aux transferts d'appareil. Les rapports de plantage déjà collectés avant votre opt-out restent sur Firebase jusqu'à l'expiration de sa rétention standard de 90 jours, puis sont supprimés.
Les variantes de build qui sont livrées sans google-services.json (par exemple, quiconque compile depuis les sources lui-même) n'ont pas du tout de SDK Crashlytics initialisé, même si l'interrupteur est sur on. Le contrôleur détecte cela via FirebaseApp.getApps et ne fait rien.
Nous n'utilisons pas Firebase Analytics. Crashlytics et Analytics sont des produits Firebase distincts et cette appli ne lie que Crashlytics. Nous avons délibérément gardé la dépendance firebase-analytics hors du build : l'inclure auto-collecterait des événements (first_open, session_start, screen_view, app_remove, etc.) et tirerait com.google.android.gms.permission.AD_ID dans le manifeste de production. Aucun des deux n'est vrai aujourd'hui. Si Analytics est jamais ajouté, cette politique sera mise à jour avant la livraison du changement.
6. Services et SDK tiers
Dépendances livrées dans l'APK :
- AndroidX (Google) : bibliothèques de support Android standard.
- Material Components for Android (Google) : widgets d'UI Material 3.
- AndroidX GameActivity (Google) : pont natif de boucle de jeu.
- libsodium (compilée depuis les sources via NDK) : la bibliothèque de primitives cryptographiques, utilisée pour ChaCha20-Poly1305 et X25519. N'initie aucun trafic réseau.
- libopus (compilé depuis les sources via le NDK) : le codec du micro et du haut-parleur de la manette. N'initie aucun trafic réseau.
- Firebase Crashlytics + Firebase Installations (Google) : rapport de plantage + ANR uniquement, portée détaillée à la section 5. Le SDK est toujours inclus dans l'APK ; il s'initialise uniquement quand le build a été assemblé avec un
google-services.jsonvalide. Sans ce fichier (par exemple, quiconque compile depuis les sources sans projet Firebase), Crashlytics ne fait rien à l'exécution et rien ne quitte l'appareil.
Firebase Analytics est délibérément absent du build. L'inclure auto-collecterait des événements et tirerait la permission AD_ID dans le manifeste, ce qui entre tous deux en conflit avec cette politique. Le fichier app/build.gradle.kts contient un commentaire expliquant le choix pour qu'un futur contributeur voie la contrainte avant de réajouter la dépendance.
La liste complète des dépendances est dans app/build.gradle.kts dans le dépôt dish-android et la nomenclature logicielle (SPDX + CycloneDX) livrée avec chaque version étiquetée.
Si vous avez obtenu Dish pour Android via Google Play, le Play Store lui-même est régi par la politique de confidentialité de Google. C'est distinct de cette politique et hors de notre contrôle.
7. Données que nous partageons
Nous ne vendons, louons ni partageons d'informations personnelles à des fins publicitaires, marketing ou commerciales. Nous n'avons aucune relation avec des réseaux publicitaires, fournisseurs d'analyse, vendeurs de détection de fraude ou partenaires marketing. Le seul tiers qui reçoit jamais des données de cette appli est Google LLC, agissant comme processeur pour Firebase Crashlytics sous la portée décrite à la section 5.
8. Rétention des données
Les données sur l'appareil vivent jusqu'à ce que vous désinstalliez l'appli ou utilisiez l'option « Effacer le stockage » d'Android dans Paramètres > Applis > Dish.
Deux éléments de données privées de l'appli interagissent différemment avec la sauvegarde cloud Android :
- Les clés partagées des Satellite appairés, les hôtes Bluetooth et Moonlight mémorisés et l'identité de client Moonlight (fichier
connection_store.xmlet Android Keystore) sont exclus de la sauvegarde automatique et du transfert d'appareil, pour que le matériel de chiffrement ne quitte jamais votre appareil. Réappairer est la bonne réponse quand vous changez de téléphone. - La préférence d'opt-out de rapport de plantage (fichier
user_preferences.xml) est incluse dans la sauvegarde cloud, pour qu'un « non merci » délibéré soit reporté sur un appareil de remplacement sans que vous ayez à rebasculer l'interrupteur.
Crashlytics conserve les rapports de plantage pendant 90 jours sur l'infrastructure de Google, puis les supprime.
9. Confidentialité des enfants
Dish pour Android n'est pas destiné aux enfants de moins de 13 ans (ou de l'âge équivalent dans votre juridiction : 14 en Corée du Sud, 16 dans la plupart de l'UE). La portée Crashlytics décrite à la section 5 ne contient aucune information qui pourrait identifier un enfant en tant qu'enfant (pas de nom, pas de date de naissance, pas d'e-mail). Si vous pensez que les données d'un enfant ont été collectées via cette appli, écrivez à privacy@tinkernorth.com avec le Firebase Installation ID ou un horodatage récent de plantage et nous purgerons les rapports associés.
10. Transferts internationaux
Les données sur l'appareil ne quittent pas votre appareil. La charge utile de rapport de plantage Crashlytics est envoyée à Google LLC et peut être traitée dans tout pays où Google exploite une infrastructure, y compris les États-Unis. Les transferts depuis l'EEE / le Royaume-Uni vers les États-Unis reposent sur les Clauses Contractuelles Types ; voir les Data Processing and Security Terms de Google pour la documentation complète du mécanisme de transfert.
11. Vos droits
11.1 GDPR (Espace Économique Européen)
Si vous êtes dans l'EEE, le Règlement Général sur la Protection des Données (GDPR, ou RGPD en France) vous donne des droits d'accès, de rectification, d'effacement, de limitation du traitement, de portabilité des données et d'opposition. Les seules données personnelles que nous traitons pour les utilisateurs de l'EEE sont le Firebase Installation ID et la charge utile de rapport de plantage décrits à la section 5. Pour exercer l'un de ces droits :
- Arrêter la collecte (droit d'opposition / retrait du consentement) : ouvrez l'appli, tapez l'icône d'engrenage sur l'écran principal, puis dans Paramètres sous Diagnostics basculez Partager les rapports de plantage sur off. La préférence prend effet pour le reste de la session immédiatement et est réappliquée avant qu'un plantage puisse être envoyé à chaque démarrage suivant de l'appli. Désinstaller l'appli ou compiler depuis les sources sans
google-services.jsonsont des chemins équivalents d'arrêt de collecte. - Accès, rectification, suppression, portabilité : écrivez à privacy@tinkernorth.com avec la date / heure approximative du plantage et votre modèle d'appareil. Nous n'exposons pas le Firebase Installation ID dans l'UI in-app, donc nous identifions les rapports par horodatage + modèle d'appareil plutôt qu'en vous demandant de retrouver l'ID dans les logs de debug. Nous chercherons si des rapports correspondent et répondrons sous 30 jours comme requis par l'art. 12(3) du GDPR.
Bases légales. Le traitement local sur l'appareil (entrée de manette, clés d'appairage, hôtes mémorisés) repose sur votre consentement, exprimé en installant l'appli et en accordant les permissions, et sur l'exécution d'un contrat quand vous demandez à l'appli d'appairer et de diffuser vers votre Satellite. Le traitement Crashlytics repose sur notre intérêt légitime (GDPR Art. 6(1)(f)) à maintenir une appli fonctionnelle, équilibré par la portée stricte sans données personnelles décrite à la section 5.
Transferts internationaux. Les données Crashlytics sont traitées par Google LLC, qui peut transférer des données hors de l'EEE sous Clauses Contractuelles Types. Voir les Data Processing and Security Terms de Google.
Vous avez le droit de déposer une plainte auprès de votre autorité nationale de protection des données. Une liste est maintenue par le Comité européen de la protection des données (EDPB). En France, l'autorité compétente est la CNIL.
11.2 UK GDPR (Royaume-Uni)
Si vous êtes au Royaume-Uni, le UK GDPR reflète les droits de la section 11.1 ci-dessus. Votre autorité de contrôle est l'Information Commissioner's Office (ICO). La même portée Crashlytics et le même mécanisme d'opt-out s'appliquent.
11.3 CCPA / CPRA (Californie)
Si vous êtes résident de Californie, le California Consumer Privacy Act (tel qu'amendé par le CPRA) vous donne les droits de savoir, supprimer, corriger, refuser la vente ou le partage, et limiter l'usage d'informations personnelles sensibles. Nous ne vendons ni ne partageons d'informations personnelles (telles que définies par CCPA / CPRA), et nous ne l'avons pas fait au cours des 12 derniers mois. Aucun lien « Do Not Sell or Share My Personal Information » n'est requis car il n'y a aucune vente ni aucun partage dont se désinscrire.
Pour exercer un « droit de savoir » ou un « droit de supprimer » contre la portée de rapport de plantage de la section 5, écrivez à privacy@tinkernorth.com avec votre Firebase Installation ID (ou un horodatage récent de plantage et le modèle d'appareil). Vous pouvez aussi désigner un agent autorisé pour faire une requête en votre nom.
11.4 Autres États américains
Les résidents de Virginie (VCDPA), Colorado (CPA), Connecticut (CTDPA), Utah (UCPA), Texas (TDPSA) et d'autres États avec des lois de confidentialité complètes ont des droits équivalents. La même portée Crashlytics et le même mécanisme d'opt-out s'appliquent.
11.5 LGPD (Brésil)
Si vous êtes au Brésil, la Lei Geral de Proteção de Dados (LGPD) vous donne les droits de confirmation, accès, correction, anonymisation, portabilité et suppression. La même portée Crashlytics et le même mécanisme d'opt-out s'appliquent. Pour exercer un droit, écrivez à privacy@tinkernorth.com. Notre contact DPO est la même adresse.
12. Sécurité
Chaque paquet échangé entre Dish et Satellite est scellé avec ChaCha20-Poly1305 IETF en utilisant une clé symétrique de 256 bits dérivée d'un échange de clés X25519 amorcé par un PIN d'appairage à quatre chiffres. La clé ne quitte jamais votre appareil ni le Satellite appairé, et le PIN est détruit après l'appairage. Pour le modèle de menace complet, voir /security/ sur ce site.
Pour signaler une vulnérabilité, voir SECURITY.md dans le dépôt Satellite.
13. Modifications de cette politique
Nous mettrons à jour cette politique si le comportement de l'appli change d'une manière qui affecte ce qui est décrit ici. Les changements matériels seront annoncés dans les notes de version de l'appli et la date « En vigueur le » en haut de cette page sera mise à jour. La version précédente de chaque politique est préservée dans l'historique git de ce site.
14. Contact
Confidentialité : privacy@tinkernorth.com
Sécurité : voir SECURITY.md dans le dépôt Satellite
Général : ouvrir une issue GitHub sur le dépôt dish-android
← Retour à l'index de confidentialité