Éditeur : Ondalis · Application : app.ondalis.tvremote · Version du texte : 2026-10-25
English version below — Privacy policy (English)
Cette application ne collecte aucune donnée personnelle, n'en transmet à personne, et ne dispose d'aucun serveur : tout ce qu'elle fait se passe entre votre téléphone et votre téléviseur, sur votre réseau local — ou, en mode infrarouge, sans le moindre réseau.
Aucune. L'application ne collecte, n'enregistre à distance, ne vend ni ne partage aucune donnée personnelle. Elle ne contient :
L'éditeur n'a accès à aucun serveur recevant des données de l'application, pour la simple raison qu'il n'en existe pas.
Pour fonctionner, l'application enregistre localement, dans son espace privé :
| Donnée | Pourquoi | Où |
|---|---|---|
| Nom, modèle, adresse IP et adresses MAC de vos téléviseurs | Se reconnecter et allumer la TV sans reconfiguration | Stockage privé de l'application (DataStore, fichier ondalis.preferences_pb) |
| Clé d'appairage ou jeton remis par le téléviseur (LG, Sony, Android TV, Samsung, Philips, Panasonic selon la marque) | Éviter que la TV redemande l'autorisation à chaque connexion | Fichier séparé ondalis_secure.preferences_pb, chiffré avec une clé du coffre Android (Keystore) |
| Empreinte du certificat du téléviseur | Vérifier que vous parlez bien au même appareil qu'à la première connexion | Stockage privé de l'application |
| Vos réglages : thème, couleur, forme et disposition des touches, retour haptique, vitesse du pointeur, applications et chaînes favorites, macros enregistrées | Retrouver l'application comme vous l'avez laissée | Stockage privé de l'application |
| Code du mode enfant | Verrouiller l'application en mode enfant | Seulement son empreinte (hachage), dans le fichier chiffré ondalis_secure.preferences_pb |
| Un identifiant tiré au hasard à l'installation | Le nom sous lequel les TV Sony et Philips reconnaissent le téléphone après l'appairage | Stockage privé de l'application |
| Date du premier lancement | Appliquer hors ligne la règle d'ouverture des fonctions, sans compte ni serveur | Stockage privé de l'application |
| Indicateur local « fonctions avancées débloquées » | Ouvrir les fonctions payantes après un achat, y compris hors ligne | Stockage privé de l'application |
| Journal technique des dernières commandes envoyées | Alimenter l'écran de diagnostic | En mémoire, effacé à la fermeture ; copié, partagé ou exporté par vous seul, sur votre demande explicite (§6) |
Ces données restent sur votre téléphone ; seule la sauvegarde d'Android, si vous l'avez activée, en garde une copie dans votre propre compte Google, et le fichier de sauvegarde que vous exportez vous-même va là où vous l'enregistrez (ci-dessous). Rien ne nous est envoyé. Elles disparaissent lorsque vous désinstallez l'application ou effacez ses données depuis les réglages d'Android.
Sauvegarde Android : si vous avez activé la sauvegarde automatique de Google, vos réglages, la liste de vos téléviseurs et l'identifiant tiré à l'installation peuvent être inclus dans la sauvegarde de votre compte Google, selon les règles d'Android. Les secrets d'appairage et le code du mode enfant en sont explicitement exclus : le fichier datastore/ondalis_secure.preferences_pb est exclu de la sauvegarde dans le cloud et du transfert d'appareil à appareil (res/xml/backup_rules.xml, blocs cloud-backup et device-transfer). Sur un nouvel appareil, un simple ré-appairage suffit. Cette sauvegarde est un service de Google, régi par la politique de confidentialité de Google, et l'éditeur n'y a pas accès.
Fichier de sauvegarde : depuis les Réglages, l'application peut écrire vos réglages et vos fiches de TV (nom, marque, modèle, adresses IP et MAC, empreinte du certificat) dans un fichier que vous choisissez avec le sélecteur de documents d'Android, puis le relire pour les restaurer. Aucun secret d'appairage n'y figure. L'application ne l'envoie nulle part : il va là où vous l'enregistrez.
L'application livrée déclare neuf permissions, et aucune autre :
| Permission Android | Usage exact |
|---|---|
INTERNET | Ouvrir une connexion réseau vers votre téléviseur. Android exige cette permission pour toute socket, y compris purement locale. L'application ne contacte aucune adresse hors de votre réseau. |
ACCESS_NETWORK_STATE | Savoir si le téléphone est connecté à un réseau, et se reconnecter au bon moment. |
ACCESS_WIFI_STATE | Connaître le réseau Wi-Fi courant pour retrouver le bon téléviseur et vous prévenir quand le téléphone n'est pas sur le même réseau que la TV. |
CHANGE_WIFI_MULTICAST_STATE | Recevoir les réponses de découverte SSDP des téléviseurs, qui arrivent en multidiffusion. Activée uniquement pendant la recherche, puis relâchée. |
VIBRATE | Le retour haptique à l'appui sur une touche. |
WAKE_LOCK | Android exige cette permission pour qu'une application prenne un WifiLock en mode basse latence, qui garde la liaison Wi-Fi réactive pendant que vous pilotez la TV. Aucun verrou d'écran ni de processeur n'est pris : l'application n'empêche pas votre téléphone de s'éteindre. |
TRANSMIT_IR | Piloter une TV LG par la diode infrarouge du téléphone, sans réseau (§5). Permission dite « normale », accordée à l'installation, jamais demandée à l'exécution. Les téléphones sans diode installent l'application normalement : le mode infrarouge n'y apparaît pas. |
RECORD_AUDIO | La commande vocale (ajoutée le 2026-09-15) : le micro s'ouvre pendant que vous maintenez le bouton micro de la télécommande, et se referme dès que vous le relâchez. Le son n'est ni enregistré, ni conservé, ni envoyé par l'application : celle-ci ne reçoit que le TEXTE rendu par le service de reconnaissance vocale d'Android. Elle demande d'abord le modèle embarqué du téléphone (Android 12 et plus), auquel cas rien ne quitte l'appareil ; à défaut elle demande le mode hors ligne au service système, qui reste libre de traiter le son chez Google, sous la politique de confidentialité de Google — l'éditeur n'y a accès dans aucun des deux cas. Quand le téléphone n'a pas de pack de reconnaissance hors ligne pour la langue, l'application le dit et propose un bouton : c'est alors Android (Android 13 et plus) qui télécharge son propre pack, à votre demande et jamais de lui-même ; ce pack est celui du système, pas de l'application. Une seule exception, sur Android TV et Google TV (ajoutée le 2026-09-16) : le bouton « Parler à la TV » envoie le son du micro, pendant que vous le maintenez, directement à votre TV sur votre réseau local, comme le fait la télécommande officielle ; c'est la TV qui reconnaît. Le son n'est ni conservé sur le téléphone ni envoyé ailleurs, et ce bouton n'existe que sur ces TV. Permission demandée au premier appui sur le micro, jamais au démarrage ; refusée, seule la commande vocale est indisponible. |
com.android.vending.BILLING | Proposer l'achat unique et les pourboires via la facturation Google Play (§8). |
FOREGROUND_SERVICE | La minuterie de veille (ajoutée le 2026-09-16) : à l'heure choisie, une alarme silencieuse du système réveille l'application, même fermée, et un service de quelques secondes se reconnecte à votre TV pour l'éteindre, avec la notification discrète qu'Android impose. Rien n'est collecté ni envoyé ailleurs qu'à la TV. |
Le paquet construit porte en plus une permission technique ajoutée automatiquement par les bibliothèques AndroidX, <identifiant de l'application>.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION : elle protège un récepteur interne de l'application et ne donne accès à rien sur votre téléphone.
L'application ne demande ni la localisation, ni les contacts, ni le stockage, ni la caméra, ni les notifications. Le microphone n'est demandé que pour la commande vocale, au moment où vous l'utilisez pour la première fois.
Le seul trafic émis est destiné à votre téléviseur, sur votre réseau local. Selon la marque :
| Marque | Ce qui est ouvert |
|---|---|
| LG webOS | WebSocket wss://<ip>:3001, ou ws://<ip>:3000 sur les modèles antérieurs à 2018 qui n'acceptent que celui-ci ; découverte SSDP |
| Sony Bravia | HTTP sur le port 80 : services REST (JSON) et commandes IRCC (SOAP) ; découverte SSDP, ou balayage des adresses du réseau local pour les modèles 2015 et antérieurs qui ne répondent pas au SSDP |
| Android TV et Google TV | TLS sur les ports 6466 (appairage) et 6467 (contrôle) |
| Samsung Tizen | WebSocket sur les ports 8001 et 8002, description UPnP sur le port 9197 |
| Roku | HTTP sur le port 8060 |
| Philips | HTTP sur le port 1925 et HTTPS sur le port 1926 |
| Panasonic Viera | SOAP sur HTTP, port 55000 |
S'y ajoutent, communs à toutes les marques : la découverte SSDP (UDP, 239.255.255.250:1900) et le réveil du téléviseur (« paquet magique » Wake-on-LAN, UDP, sur votre réseau).
Mode infrarouge (TV LG, téléphones équipés d'une diode). Aucune socket n'est ouverte : l'application module la diode du téléphone, exactement comme une télécommande physique. Le canal est aveugle — rien n'est reçu, rien n'est enregistré.
À l'appairage, la TV reçoit le nom de l'application et, selon la marque, le modèle du téléphone et l'identifiant tiré à l'installation (§3), pour afficher sa demande d'autorisation puis reconnaître le téléphone. Une recherche que vous tapez ou dictez, et un lien que vous partagez vers l'application, sont envoyés à votre TV, qui les ouvre dans l'application choisie (YouTube par exemple) : c'est alors la TV, pas le téléphone, qui contacte ce service.
Aucune requête n'est envoyée à un serveur de l'éditeur ni à un tiers. Vous pouvez le vérifier : mettez le téléphone en mode avion avec le seul Wi-Fi actif, coupez l'accès Internet de votre box, l'application continue de fonctionner.
L'écran de diagnostic propose de copier le rapport ou de l'envoyer par l'application de votre choix (le menu de partage d'Android). Le rapport ne contient pas le nom de votre téléviseur, et ses adresses y sont masquées : l'adresse IP réduite à ses deux premiers nombres (192.168.x.x), l'adresse MAC à ses trois premiers octets, ceux du fabricant. Il contient le modèle, le transport utilisé, l'empreinte du certificat, les capacités détectées, les dernières transitions de session et un résumé des délais d'appui. La clé d'appairage n'y figure jamais. Le même écran exporte le journal des appuis (la touche pressée et ses délais, ondalis-taps.csv) dans un fichier que vous choisissez.
Ni le rapport ni ce fichier ne sont envoyés par l'application : ils vont uniquement là où vous les collez, les partagez ou les enregistrez, sur votre action. Si vous nous les envoyez pour un dépannage, vous choisissez ce que vous nous transmettez.
L'application ne s'adresse pas spécifiquement aux enfants et ne collecte aucune donnée, quel que soit l'âge de l'utilisateur. Le « mode enfant » est un verrou local, protégé par un code enregistré sur le téléphone ; ce code n'est transmis à personne.
L'application est gratuite, avec des achats intégrés : un déblocage unique des fonctions avancées (premium_lifetime) et trois pourboires facultatifs, réunis dans une section « dire merci ». Tout ce qu'une télécommande physique sait faire reste gratuit, sans limite de durée.
Les transactions sont traitées par Google Play. L'éditeur ne reçoit ni votre nom, ni votre adresse, ni vos coordonnées bancaires ; l'application ne voit aucune donnée de paiement. Elle reçoit de Google Play un état « achat effectué », qu'elle vérifie sur l'appareil et retient dans un indicateur local (§3) pour que vos fonctions restent ouvertes hors ligne. Le traitement de vos données de paiement relève de la politique de confidentialité de Google Play.
Comme aucune donnée personnelle n'est collectée ni traitée par l'éditeur, il n'y a rien à consulter, rectifier, exporter ou supprimer auprès de lui. Les données locales décrites au §3 sont sous votre contrôle direct : Réglages Android → Applications → Ondalis TV Remote → Stockage → Effacer les données, ou désinstallation.
Toute modification de cette politique sera publiée à cette adresse avec une nouvelle date. Un changement qui introduirait une collecte de données serait annoncé dans les notes de version de l'application, avant sa mise en service.
Pour toute question sur cette politique : ondalis.apps@gmail.com
Publisher: Ondalis · Application: app.ondalis.tvremote · Text version: 2026-10-25
This app collects no personal data, sends none to anyone, and has no server: everything it does happens between your phone and your television, on your local network — or, in infrared mode, with no network at all.
None. The app does not collect, remotely store, sell or share any personal data. It contains:
The publisher has access to no server receiving data from the app, for the simple reason that none exists.
To work, the app stores the following locally, in its private storage:
| Data | Why | Where |
|---|---|---|
| Name, model, IP address and MAC addresses of your televisions | Reconnect and switch the TV on without setting it up again | App private storage (DataStore, file ondalis.preferences_pb) |
| Pairing key or token issued by the television (LG, Sony, Android TV, Samsung, Philips, Panasonic, depending on the brand) | Stop the TV asking for permission on every connection | Separate file ondalis_secure.preferences_pb, encrypted with an Android Keystore key |
| Fingerprint of the television's certificate | Check you are talking to the same device as on the first connection | App private storage |
| Your settings: theme, colour, button shape and layout, haptics, pointer speed, favourite apps and channels, recorded macros | Find the app as you left it | App private storage |
| Kid-mode PIN | Lock the app in kid mode | Only its fingerprint (hash), in the encrypted file ondalis_secure.preferences_pb |
| An identifier drawn at random at install time | The name under which Sony and Philips TVs recognise the phone after pairing | App private storage |
| Date of first launch | Apply the feature-unlocking rule offline, with no account and no server | App private storage |
| Local "advanced features unlocked" flag | Open the paid features after a purchase, offline included | App private storage |
| Technical log of the most recent commands sent | Feed the diagnostics screen | In memory, cleared on exit; copied, shared or exported by you alone, on your explicit request (§6) |
This data stays on your phone; only Android's backup, if you turned it on, keeps a copy in your own Google account, and the backup file you export yourself goes where you save it (below). Nothing is sent to us. It is gone when you uninstall the app or clear its data from the Android settings.
Android backup: if you have enabled Google's automatic backup, your settings, the list of your televisions and the identifier drawn at install time may be included in your Google account backup, according to Android's rules. Pairing secrets and the kid-mode PIN are explicitly excluded: the file datastore/ondalis_secure.preferences_pb is excluded from cloud backup and from device-to-device transfer (res/xml/backup_rules.xml, cloud-backup and device-transfer blocks). On a new device, pairing again is enough. That backup is a Google service, governed by Google's privacy policy, and the publisher has no access to it.
Backup file: from Settings, the app can write your settings and your TV entries (name, brand, model, IP and MAC addresses, certificate fingerprint) to a file you pick with Android's document picker, then read it back to restore them. No pairing secret is in it. The app sends it nowhere: it goes where you save it.
The published app declares nine permissions, and no others:
| Android permission | Exact use |
|---|---|
INTERNET | Open a network connection to your television. Android requires this permission for any socket, including a purely local one. The app contacts no address outside your network. |
ACCESS_NETWORK_STATE | Know whether the phone is on a network, and reconnect at the right moment. |
ACCESS_WIFI_STATE | Know the current Wi-Fi network, so the right television is found and you are warned when the phone is not on the same network as the TV. |
CHANGE_WIFI_MULTICAST_STATE | Receive SSDP discovery replies from televisions, which arrive over multicast. Held only while scanning, then released. |
VIBRATE | Haptic feedback when you press a button. |
WAKE_LOCK | Android requires this permission for an app to hold a low-latency WifiLock, which keeps the Wi-Fi link responsive while you drive the TV. No screen or CPU lock is taken: the app does not keep your phone awake. |
TRANSMIT_IR | Drive an LG TV through the phone's infrared diode, with no network (§5). A "normal" permission, granted at install time, never requested at runtime. Phones without a diode install the app as usual: infrared mode simply does not appear. |
RECORD_AUDIO | Voice control (added on 2026-09-15): the microphone opens while you hold the remote's microphone button and closes as soon as you let go. The audio is neither recorded, nor kept, nor sent by the app: the app receives only the TEXT returned by Android's speech recognition service. It asks for the phone's on-device model first (Android 12 and later), in which case nothing leaves the device; failing that it asks the system service to stay offline, though the service remains free to process the audio at Google, under Google's privacy policy — the publisher has access to it in neither case. When the phone has no offline speech pack for the language, the app says so and offers a button: Android (13 and later) then downloads its own pack, at your request and never on its own; that pack belongs to the system, not to the app. One exception, on Android TV and Google TV (added on 2026-09-16): the "Talk to the TV" button sends the microphone's sound, while you hold it, straight to your TV on your local network, as the official remote does; the TV does the recognising. The sound is neither kept on the phone nor sent anywhere else, and the button exists only on those TVs. Requested at the first press on the microphone, never at start-up; refused, only voice control is unavailable. |
com.android.vending.BILLING | Offer the one-off unlock and the tips through Google Play billing (§8). |
FOREGROUND_SERVICE | The sleep timer (added on 2026-09-16): at the chosen time a silent system alarm wakes the app, even closed, and a service of a few seconds reconnects to your TV to turn it off, with the discreet notification Android requires. Nothing is collected or sent anywhere but the TV. |
The built package also carries one technical permission added automatically by the AndroidX libraries, <application id>.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION: it protects an internal receiver of the app and grants access to nothing on your phone.
The app requests no location, contacts, storage, camera or notification access. The microphone is requested for voice control only, the first time you use it.
The only traffic sent goes to your television, on your local network. Per brand:
| Brand | What is opened |
|---|---|
| LG webOS | WebSocket wss://<ip>:3001, or ws://<ip>:3000 on pre-2018 models that accept only that; SSDP discovery |
| Sony Bravia | HTTP on port 80: REST (JSON) services and IRCC (SOAP) commands; SSDP discovery, or a scan of the local network addresses for 2015-and-earlier models that answer no SSDP |
| Android TV and Google TV | TLS on ports 6466 (pairing) and 6467 (control) |
| Samsung Tizen | WebSocket on ports 8001 and 8002, UPnP description on port 9197 |
| Roku | HTTP on port 8060 |
| Philips | HTTP on port 1925 and HTTPS on port 1926 |
| Panasonic Viera | SOAP over HTTP, port 55000 |
Common to every brand: SSDP discovery (UDP, 239.255.255.250:1900) and switching the television on (Wake-on-LAN "magic packet", UDP, on your network).
Infrared mode (LG TVs, phones fitted with a diode). No socket is opened: the app modulates the phone's diode, exactly like a physical remote. The channel is blind — nothing is received, nothing is recorded.
At pairing, the TV receives the app's name and, depending on the brand, the phone's model and the identifier drawn at install time (§3), to show its permission prompt and then recognise the phone. A search you type or speak, and a link you share to the app, are sent to your TV, which opens them in the chosen app (YouTube for example): it is then the TV, not the phone, that contacts that service.
No request is sent to a publisher server or to any third party. You can check this: put the phone in aeroplane mode with Wi-Fi alone enabled, cut your router's internet access, and the app keeps working.
The diagnostics screen lets you copy the report or send it with the app of your choice (Android's share menu). The report does not contain the name of your television, and its addresses are masked: the IP address cut to its first two numbers (192.168.x.x), the MAC address to its first three bytes, the maker's. It contains the model, the transport in use, the certificate fingerprint, the detected capabilities, the last session transitions and a summary of the tap delays. The pairing key is never in it. The same screen exports the tap log (the key pressed and its delays, ondalis-taps.csv) to a file you choose.
The app sends neither the report nor that file anywhere: they go only where you paste, share or save them, on your action. If you send them to us for support, you choose what you pass on.
The app is not directed at children and collects no data whatever the user's age. "Kid mode" is a local lock protected by a PIN stored on the phone; that PIN is sent to nobody.
The app is free with in-app purchases: a one-off unlock of the advanced features (premium_lifetime) and three optional tips, gathered in a "say thanks" section. Everything a physical remote does stays free, with no time limit.
Transactions are handled by Google Play. The publisher receives neither your name, nor your address, nor your payment details; the app sees no payment data at all. It receives a "purchased" state from Google Play, checks it on the device and keeps it in a local flag (§3) so your features stay open offline. The handling of your payment data is covered by Google Play's privacy policy.
Since no personal data is collected or processed by the publisher, there is nothing to access, correct, export or delete from it. The local data described in §3 is under your direct control: Android Settings → Apps → Ondalis TV Remote → Storage → Clear data, or uninstall.
Any change to this policy will be published at this address with a new date. A change introducing any data collection would be announced in the app's release notes before it took effect.
Any question about this policy: ondalis.apps@gmail.com