Confidentialité et cookies
Cette politique couvre deux choses distinctes : l'application FoxSDR que vous installez, et ce site web. Elles collectent des données différentes, pour des raisons différentes, et sont décrites séparément ci-dessous — l'application d'abord, parce que c'est la partie qui s'exécute sur votre propre machine. Elle est rédigée pour être complète plutôt que courte : chaque champ que l'une ou l'autre stocke est listé, y compris ceux que la plupart des politiques omettent.
L'application : ce qu'elle envoie
Il n'y a pas de compte, pas de clé de licence ni d'activation, et FoxSDR ne transmet jamais rien sur ce que vous écoutez. Il effectue exactement quatre types de requêtes réseau de sa propre initiative : une vérification des mises à jour ; un rapport d'utilisation anonyme, accompagné d'un petit battement « toujours en marche » tant que l'application est ouverte ; un rapport de plantage ou de blocage après un défaut ; et — seulement quand vous ouvrez la boutique de plugins ou y appuyez sur VÉRIFIER — une requête vers le catalogue des plugins. Chacune est décrite ci-dessous, champ par champ, et chacune peut être désactivée. Trois interrupteurs les commandent : SYSTÈME → Mises à jour, SYSTÈME → Rapports d'utilisation et SYSTÈME → Diagnostic. Aucune fonction ne dépend de l'activation de l'un d'eux, et rien ne vous harcèle si vous en désactivez un.
Ce qui reste sur votre machine
Vos enregistrements, audio comme I/Q brut, les images que construisent les décodeurs SSTV et de satellites météo, tout ce que les décodeurs décodent, vos signets, plans de bandes, paramètres, la position de votre récepteur et vos plugins installés sont des fichiers sur votre propre disque. Rien ne les envoie en ligne, et aucune fréquence sur laquelle vous vous accordez ne quitte votre machine.
La vérification des mises à jour
Une fois par lancement, l'application demande à ce site s'il existe une version plus récente. La requête tout entière est GET /api/update?v= suivi de la version que vous utilisez — pas d'identifiant, pas d'identifiant d'installation, pas de cookie, et rien qui puisse être relié à une requête ultérieure. Ce serveur n'écrit aucun enregistrement de mesure d'audience pour elle : seuls les affichages de pages et les téléchargements de fichiers sont enregistrés, et le point d'accès des mises à jour n'est ni l'un ni l'autre. Désactivez-la dans SYSTÈME → Mises à jour, et l'application ne contacte plus jamais le service.
La réponse peut aussi contenir un court message de notre part à l'intention des personnes qui utilisent une version plus ancienne — par exemple pour signaler qu'une version corrige quelque chose qui vaut la mise à jour — affiché dans la même bannière de mise à jour que les notes de version. Rien de plus n'est envoyé ni enregistré pour cela : le message accompagne la même requête que ci-dessus, selon le même calendrier, sous le même interrupteur.
Rien n'est téléchargé ni installé tant que vous n'appuyez pas sur le bouton. Si vous le faites, l'installateur est récupéré depuis ce site en HTTPS et son SHA-256 est comparé à l'empreinte publiée par le serveur avant que le fichier reçoive un nom sous lequel quoi que ce soit pourrait l'exécuter — et ce téléchargement est un téléchargement ordinaire depuis ce site, il est donc enregistré comme n'importe quel autre, avec l'adresse IP, la localisation approximative, le navigateur et le système d'exploitation décrits dans la partie de cette politique consacrée au site web.
Une copie installée depuis le Microsoft Store interroge le Microsoft Store à la place, jamais ce site (depuis FoxSDR 0.99.53). Une fois par lancement, lorsque SYSTÈME → Mises à jour → Demander des mises à jour au Microsoft Store au démarrage est coché, FoxSDR demande au service Store de Windows s'il dispose d'un paquet plus récent pour cette copie. Rien de FoxSDR n'est envoyé dans cette requête — ni version, ni identifiant : Windows identifie l'application auprès de Microsoft par l'identité de paquet qu'il détient déjà, comme pour les mises à jour d'arrière-plan du Store. La réponse reste dans l'application. Rien n'est téléchargé ni installé sauf si vous appuyez sur Installer depuis le Microsoft Store et confirmez la boîte de dialogue affichée par Windows ; le téléchargement et l'installation relèvent alors de Microsoft, selon sa déclaration de confidentialité. Décochez la case et le Store n'est pas interrogé.
Rapports d'utilisation
Depuis la version 0.53.0, il existe un rapport d'utilisation anonyme, sous SYSTÈME → Rapports d'utilisation. Il est activé par défaut, et vous pouvez le désactiver — décochez cette case et les rapports s'arrêtent immédiatement. Un rapport est envoyé par lancement, décrivant la session qui vient de se terminer, et voici son contenu intégral :
| Envoyé | Exemple | Pourquoi |
|---|---|---|
| Identifiant d'installation | 32 caractères hexadécimaux aléatoires | Distingue 100 utilisateurs d'un seul utilisateur qui lance l'application 100 fois. Généré au hasard sur votre machine au premier lancement, supprimé quand vous désactivez les rapports, et jamais dérivé de votre matériel, de votre réseau ou de votre nom. |
| Version de l'application | 0.99.42 | Savoir si les gens mettent à jour. L'alpha Android indique sa propre version sous la forme 0.98.1-android.4 — un suffixe -android.N ajouté au numéro de la version dont elle est issue, pour que ses rapports ne soient jamais confondus avec ceux de l'installateur Windows. |
| Système d'exploitation | Windows 10.0.22631, Linux 6.8.0 ou Android 14 | Quelles plates-formes sont réellement utilisées. Le système d'exploitation et son numéro de build, de noyau ou de version, jamais le nom de votre machine ni votre compte utilisateur. La version Linux (0.99.42) et l'alpha Android (0.98.1-android.4) envoient les mêmes champs sous le même interrupteur. |
| Architecture | x64 ou arm64 | Même raison que ci-dessus. |
| Comment il a été installé | installer | L’un de store (Microsoft Store), installer (l’installeur Windows), appimage ou tarball (les téléchargements Linux et Raspberry Pi), ou android. Lu depuis le programme en cours d’exécution, jamais enregistré à l’installation. Impossible de distinguer foxsdr.com de GitHub, car les deux servent les mêmes fichiers. |
| Premier lancement | 2026-09-29 | Le jour — jamais l'heure — où votre identifiant d'installation a été créé, en UTC. Supprimé avec l'identifiant lorsque vous désactivez les rapports. Permet de distinguer les nouveaux utilisateurs des anciens. Vide pour les copies dont l'identifiant est antérieur à FoxSDR 0.99.47. |
| Première version | 0.99.47 | La version qui a créé l'identifiant — le téléchargement à partir duquel vous avez commencé. Supprimée avec lui, comme le premier lancement. |
| Nombre de lancements | 12 | Savoir si le logiciel est utilisé plus d'une fois. |
| Nombre de plantages | 1 | Savoir à quelle fréquence il échoue. |
| Arrêts anormaux par cause, depuis FoxSDR 0.99.69 | 1, 0, 0, 0 | Le nombre de plantages ci-dessus compte chaque session qui ne s'est pas terminée normalement — un plantage, mais aussi une fenêtre fermée depuis le Gestionnaire des tâches, ou une coupure de courant. Ces quatre nombres précisent lequel : mort (FoxSDR a échoué : il a planté, ou sa fenêtre ne se dessinait plus et il a ensuite été terminé), tué (terminé de l'extérieur alors qu'il fonctionnait normalement — Gestionnaire des tâches, taskkill, un installateur, une fenêtre de console fermée), terminé par le système (une fermeture de session ou un arrêt) et inconnu (rien n'a été enregistré : Diagnostic désactivé, ou coupure de courant). Chaque arrêt anormal relève d'une seule de ces catégories. Ce sont de simples nombres, jamais remis à zéro, comme le nombre de plantages : aucun texte de rapport, code de sortie, nom de module ni heure n'est ajouté. FoxSDR décide sur votre ordinateur, au démarrage suivant, à partir des rapports que Diagnostic y écrit déjà ; avec Diagnostic désactivé, rien n'est lu et chaque arrêt anormal est compté comme inconnu. L'heure de début de la session précédente est conservée dans votre fichier de paramètres, afin que seuls les rapports écrits depuis soient examinés ; elle n'est jamais envoyée. |
| Arrêts d'affichage, depuis FoxSDR 0.99.62 | 0 | Combien de fois la fenêtre s'est bloquée parce que le pilote d'affichage attendait, et non FoxSDR — un écran éteint, une réinitialisation du pilote graphique, une session Bureau à distance qui se reconnecte. C'est un simple nombre, sans pile, sans nom de pilote et sans heure de la journée : le rapport d'un tel blocage reste sur votre machine et n'est jamais envoyé. Il n'est compté que pendant que Rapports d'utilisation et Diagnostic sont tous deux activés. Pour qu'un blocage que vous terminez depuis la barre des tâches soit tout de même compté, le nombre est conservé dans un petit fichier nommé telemetry-stalls à côté de votre fichier de réglages, avec votre identifiant d'installation, jusqu'à ce que le serveur ait accepté un rapport qui le contient ; désactiver les rapports d'utilisation supprime le fichier. |
| Compteurs d'échecs, depuis FoxSDR 0.99.64 | radio_fail.rtlsdr.busy=2 | Combien de fois quelque chose n'a pas fonctionné sans bruit, sous forme de compteurs d'une liste fixe de types : une radio qui ne s'ouvrait pas (le pilote et l'une de huit raisons), pas de sortie son, une mise à jour ou une installation de plugin qui a échoué, un plugin refusé au chargement, un enregistrement qui n'a pas pu démarrer — et combien de radios et de sorties son se sont bien ouvertes, pour qu'un échec ait de quoi être comparé. Des mots de cette liste et des nombres, jamais un nom d'appareil, un numéro de série, un chemin, une fréquence ni aucun texte de message. Ils ne sont comptés que pendant que Rapports d'utilisation et Diagnostic sont tous deux activés, et le champ est vide pour la plupart des gens. |
| Images lentes et récupérations, depuis FoxSDR 0.99.65 | slow.rail.250ms=3,recovered.audio=1 | Le même champ indique aussi combien de fois la fenêtre a été lente à dessiner une image et dans quelle partie du dessin — l'une des parties d'une liste fixe de dix-huit, et l'une de trois durées : un quart de seconde, une seconde ou cinq secondes — ainsi que combien de fois FoxSDR a rencontré une défaillance et a continué de lui-même, à l'un des endroits d'une liste fixe de treize endroits : la sortie son redémarrée, une radio rouverte après une défaillance de pilote, une sauvegarde des réglages qui a échoué, et ainsi de suite. Des mots de ces listes et des nombres, jamais un nom d'appareil, un numéro de série, un chemin, une fréquence ni aucun texte de message. Ils ne sont comptés que pendant que Rapports d'utilisation et Diagnostic sont tous deux activés, et le champ est vide pour la plupart des gens. |
| Durée de session | 3600 secondes | Savoir si les sessions durent des minutes ou des heures. |
| Modèle de SDR | uhd b200 | Savoir quelles radios privilégier. Les numéros de série sont supprimés avant l'envoi. |
| Démodulateurs utilisés, et pendant combien de temps | WFM: 3000s | Savoir quels modes justifient un travail supplémentaire. |
| Panneaux ouverts | map, decoded | Savoir quelles fonctions sont utilisées. |
| Plugins installés | ADS-B 1.0.0 | Savoir quels décodeurs justifient un travail supplémentaire. Un plugin que vous avez installé depuis un site de plugins que vous avez ajouté (depuis FoxSDR 0.99.74) est un plugin monté comme un autre : son nom et sa version figurent ici, et l'adresse du site n'y figure pas. |
C'est la liste complète. Elle est livrée avec l'application sous le nom PRIVACY.md, et un test automatisé vérifie le contenu envoyé champ par champ, si bien qu'aucun nouveau champ ne peut être ajouté sans que ce test échoue et que les deux documents soient mis à jour. Désactiver les rapports supprime l'identifiant d'installation : si vous les réactivez un jour, vous en obtenez un nouveau qui ne peut pas être relié à l'ancien.
Le rapport est envoyé au démarrage, décrivant la session déjà terminée, et jamais à la fermeture — un appel réseau au moment de quitter peut bloquer une application que quelqu'un essaie de fermer, et un rapport écrit à la fermeture serait perdu lors de l'événement qui mérite le plus d'être compté. Rien dans la réponse n'est lu ni pris en compte.
Les compteurs d'échecs en détail (depuis FoxSDR 0.99.64). Le champ est un court texte de paires kind=count, comme radio_fail.rtlsdr.busy=2 — un RTL-SDR qui ne s'est pas ouvert, deux fois, parce qu'un autre programme l'utilisait. FoxSDR construit chaque type à partir d'une table fixe et n'envoie rien qui n'y figure pas, et le serveur qui reçoit écarte tout ce qui ne figure pas dans la même table. Quand une raison est déduite de ce qu'a dit un pilote, FoxSDR choisit un mot dans une liste fixe et jette la phrase. Pour qu'un échec survenu dans une session qui plante ensuite soit tout de même signalé, les compteurs attendent dans un petit fichier nommé telemetry-health à côté de votre fichier de réglages, avec votre identifiant d'installation, jusqu'à ce que le serveur ait accepté un rapport qui les contient ; désactiver les rapports d'utilisation supprime le fichier.
Les images lentes et les récupérations en détail (depuis FoxSDR 0.99.65). Elles sont dans le même champ et sous la même forme kind=count. slow.rail.250ms=3 correspond à trois images de la fenêtre qui ont chacune pris un quart de seconde ou plus, dans la partie du dessin qui est la colonne de menu. La partie est l'un de dix-huit mots, events, frame-start, pre-draw, plugin-panels, toolbar, rail, spectrum, patch, status, dialogs, polls, saves, render, present, recorder, plugins-reload, startup, other, et la lenteur est l'une de trois : 250ms pour un quart de seconde à moins d'une seconde, 1s pour une seconde à moins de cinq secondes et 5s pour cinq secondes ou plus. Le temps passé à répondre à une invite de Windows, ou à faire glisser ou redimensionner la fenêtre, est retiré et jamais compté. recovered.audio=1 correspond à une fois où FoxSDR a rencontré une défaillance et a continué de lui-même. Le mot est l'un de treize endroits, audio, reopen, srcthread, vendorcall, ringdrop, dspexc, cfgsave, enumchild, pluginapi, webroute, patchload, sdrenum, sdrlost, dans cet ordre : la sortie son s'est arrêtée et le chien de garde l'a redémarrée ; un pilote de radio SoapySDR est tombé en défaillance et FoxSDR a rouvert la radio de lui-même ; un pilote de radio n'est jamais revenu d'une lecture alors que le récepteur était arrêté et FoxSDR a laissé le thread de côté ; un appel dans un module fournisseur de SoapySDR n'est pas revenu à temps et a été abandonné ; la radio a livré des échantillons plus vite qu'ils n'étaient retirés et certains ont été perdus ; le thread de traitement du signal a levé une erreur qui a été interceptée et le récepteur s'est arrêté ; le fichier de réglages n'a pas pu être écrit ; l'assistant qui liste les radios SoapySDR est mort et a été circonscrit ; un appel d'un plugin vers FoxSDR a levé une erreur et a reçu une réponse par défaut ; un gestionnaire de l'interface web a levé une erreur et le serveur a répondu par un échec ; un patch enregistré s'est chargé avec des connexions omises ; le service SDRplay n'a pas répondu à une recherche et la recherche a été abandonnée ; la session SDRplay a été perdue et SDRplay est fermé pour le reste de la session. FoxSDR construit chacun à partir d'une table fixe et n'envoie rien qui n'y figure pas, et le serveur qui reçoit écarte tout ce qui ne figure pas dans la même table, de sorte qu'il n'y a jamais de nom d'appareil, de numéro de série, de chemin, de fréquence ni de texte de message ; un rapport contient au plus les huit pires types d'images lentes et huit types de récupérations. Ils sont comptés sous les deux mêmes interrupteurs que les compteurs d'échecs, seulement pendant que Rapports d'utilisation et Diagnostic sont tous deux activés, ils attendent dans le même petit fichier nommé telemetry-health à côté de votre fichier de réglages jusqu'à ce que le serveur ait accepté un rapport qui les contient, et désactiver les rapports d'utilisation supprime le fichier.
Le battement « toujours en marche »
Un rapport qui arrive au démarrage de l'application peut dire qui l'a lancée, jamais qui l'a encore ouverte. Donc, pendant que FoxSDR tourne — et seulement tant que les rapports d'utilisation sont activés — il envoie aussi un tout petit message toutes les cinq minutes, contenant trois champs et rien d'autre :
| Envoyé | Exemple | Pourquoi |
|---|---|---|
| Identifiant d'installation | les mêmes 32 caractères hexadécimaux que ci-dessus | Pour que douze battements d'une même copie comptent pour une copie en marche, et non douze. |
| Version de l'application | 0.99.42 | Pour que « en marche en ce moment » puisse être ventilé par version. |
| Marqueur de battement | 1 | Indique au destinataire qu'il s'agit d'un battement et non d'un rapport de session. |
Rien de la session ne l'accompagne : pas de modes, pas de panneaux, pas de modèle de radio, pas de durées, pas de compteurs. Les battements sont écrits dans un jeu de données qui leur est propre, séparé des rapports de session, si bien qu'aucun chiffre d'utilisation ne change de sens. Le même interrupteur arrête les deux : l'émetteur refuse de s'armer sans identifiant d'installation valide, et désactiver les rapports d'utilisation le supprime, donc désactivé signifie aucun battement du tout. Un battement encore en cours d'envoi quand le suivant est dû est sauté plutôt que mis en file d'attente.
Où vont les rapports d'utilisation
À un Cloudflare Worker exploité par ce projet à l'adresse https://telemetry.foxsdr.com, qui écrit les compteurs ci-dessus dans un jeu de données Cloudflare Workers Analytics Engine. Cloudflare les traite pour notre compte et les conserve trois mois, après quoi ils disparaissent. Personne d'autre ne les reçoit, ils ne sont ni vendus, ni loués, ni partagés, et la seule chose qui en est extraite, ce sont des comptages agrégés, via le même tableau de bord protégé par mot de passe décrit plus loin. Le code source du Worker est publié avec l'application, vous pouvez donc lire ce que fait le destinataire. Les rapports de plantage ne vont pas là — ils vont au propre serveur de ce site, décrit ensuite.
Rapports de plantage et de blocage
Si FoxSDR plante, ou cesse de répondre, il écrit un rapport décrivant le défaut dans %LOCALAPPDATA%\FoxSDR\crashes\ sur votre propre machine, et envoie le texte du rapport au lancement suivant — jamais depuis l'intérieur de la défaillance elle-même, parce qu'un programme qui vient de planter ne peut pas ouvrir une connexion réseau en toute sécurité. Il va à POST /api/crash sur ce site — pas à Cloudflare, ni à aucun tiers — et il est anonyme : il n'y a pas de compte, pas de clé de licence et rien avec quoi se connecter.
L'interrupteur est SYSTÈME → Diagnostic, et il commande autant l'écriture que l'envoi : désactivé, aucun rapport n'est écrit, aucun répertoire n'est créé, et aucune connexion n'est jamais établie. C'est un interrupteur différent de celui des rapports d'utilisation. Désactiver les rapports d'utilisation n'empêche pas un rapport de plantage — cela vide le champ d'identifiant d'installation de celui-ci, parce qu'aucun identifiant n'existe alors et qu'un rapport de plantage n'en crée jamais (voir la dernière ligne du tableau ci-dessous). Jusqu'à cette version, la politique ci-dessus nommait le mauvais interrupteur ; le logiciel a toujours utilisé Diagnostic, et les deux disent désormais la même chose.
Voici l'intégralité de ce que contient un rapport :
| Envoyé | Exemple | Pourquoi |
|---|---|---|
| Ce qui s'est passé | crash ou hang | Un blocage et un plantage sont des défauts différents. |
| Signature du défaut | cascade.exe+0x1a2b/adsb.dll | Regroupe en une seule entrée le même défaut signalé par de nombreuses personnes, pour que cent rapports d'un même bug soient une seule chose à corriger et non cent. |
| Version de l'application, commit et identifiant de build | 0.61.0, 28fa1c2 | Dans quelle build c'est arrivé, et quels symboles y correspondent. |
| Module fautif et décalage | cascade.exe, 0x1a2b | L'endroit du programme où ça s'est mal passé. |
| Système d'exploitation et architecture | Windows 11, Linux ou Android 14, x64 ou arm64 | Les défauts sont souvent propres à une plate-forme. Un rapport Linux ou Android contient les mêmes champs ; les trames de pile nomment l'identifiant de build GNU de la bibliothèque fautive au lieu d'un identifiant PDB, puisque aucune de ces deux plates-formes ne compile avec MSVC. |
| Le type de défaillance | access violation, 0xC0000005 | La ligne de motif propre au rapport et le code d'exception Windows. C'est notamment ce qui indique qu'un défaut a été absorbé — l'application y a survécu — plutôt qu'un plantage ; sans cela, les deux se ressemblent en tous points. Un code et une phrase fixe, jamais du contenu. |
| Quelle partie du dessin de la fenêtre était en cours lors d'un blocage, depuis FoxSDR 0.99.64 | rail | Dans un rapport de blocage seulement : quelle partie du dessin de la fenêtre était en cours quand elle s'est arrêtée, sous la forme d'un mot d'une liste fixe de dix-neuf : events, frame-start, pre-draw, plugin-panels, toolbar, rail, spectrum, patch, status, dialogs, polls, saves, render, present, recorder, plugins-reload, startup, user-wait, other. Il désigne une partie du programme, jamais un plugin, un fichier, une radio ni une fréquence. Le même mot est envoyé dans la raison du rapport, sous la forme de la phrase fixe freeze: the frame was in rail ; un mot qui ne figure pas dans la liste est écarté, pas envoyé. Un rapport de blocage n'envoyait auparavant aucune raison. |
| Plugins chargés et leurs versions | ADS-B 1.1.0 | « Ne plante qu'avec le plugin ADS-B chargé » est une description de défaut ; « plante parfois » n'en est pas une. |
| Piles des threads | cascade.exe+0x1a2b par trame | La pile, c'est le défaut. Elle ne contient que des noms de modules, des identifiants de build et des décalages numériques — pas de chemins de sources, pas de variables, pas de contenu mémoire. Depuis FoxSDR 0.99.63, une trame d'un rapport de blocage qui se trouve dans un module chargé après le démarrage de FoxSDR (un pilote graphique que le système a rechargé, une DLL de fabricant, une extension du shell) est envoyée sous la forme du nom de ce fichier (jamais d'un chemin de dossier) et d'un décalage, alors qu'elle l'était auparavant sous la forme d'une simple adresse. Un nom de fichier peut montrer quels logiciels sont installés sur votre machine ; c'est le même genre de nom que ces rapports contenaient déjà pour un pilote chargé au démarrage. |
| La fin du journal de session | opened rtlsdr | Les dernières lignes écrites dans le journal par l'application, qui disent généralement ce qu'elle faisait au moment de la défaillance. C'est le propre journal de l'application : il enregistre des changements d'état — source ouverte, taux réglé, plugin démarré — jamais le contenu d'un signal, et jamais le nom ni le chemin d'un fichier que vous avez ouvert. Il contient aussi ce qu'a dit le pilote radio et ce que ses bibliothèques ont écrit sur le flux d'erreur standard. Avant que la moindre ligne ne quitte votre ordinateur, aussi bien les lignes de l'application que celles du pilote, elle est épurée : les numéros de série et la partie propre à l'appareil des identifiants de périphérique USB sont remplacés par <stripped>, le nom de compte dans un chemin de fichier par <user>, et tout ce qui est entre guillemets simples, comme les noms que vous donnez aux nœuds de patch et aux haut-parleurs, par '<name>' ; à partir de FoxSDR 0.99.59, toute adresse réseau et tout nom d'ordinateur ou d'hôte sont remplacés par <host>, en conservant derrière le numéro de port, et le numéro d'un port série par # (COM#, /dev/ttyUSB#) ; sur toute ligne qui mentionne des hertz, une fréquence, un accord, un centre, une plage, un décalage, une porteuse, un préréglage ou une émission, tout nombre est remplacé par #, sauf s'il est signalé comme une fréquence d'échantillonnage, une durée, un niveau, une taille ou un nombre, s'il s'agit d'une version, d'un identifiant ou d'un code d'erreur, ou s'il fait partie d'un nom tel que R820T ; et les lignes où le pilote USB énumère les périphériques branchés à votre ordinateur sont omises, remplacées par une seule ligne indiquant leur nombre. À partir de 0.99.59, l'application n'écrit plus du tout le nom d'une carte son dans son journal, car ce nom est souvent un nom choisi par une personne. À partir de 0.99.61, l'application consigne aussi dans son journal le moment où une sortie audio s'ouvre ou est refusée : le modèle du pilote audio, la disposition des canaux et la fréquence d'échantillonnage, mais jamais le nom du périphérique audio. |
| Notes de contexte | mode: WFM, sampleRate: 2400000 | Quelques notes clé/valeur que l'application ajoute : le mode, la source (générateur, fichier I/Q ou vraie radio), le taux d'échantillonnage, si un périphérique était ouvert, le modèle de SDR sans ses numéros de série, depuis combien de secondes l'application tournait, et si le thread fautif exécutait le propre code de FoxSDR ou celui d'un pilote radio. sampleRate est le taux d'échantillonnage, pas une fréquence d'accord. |
| Correction de fréquence, depuis FoxSDR 0.99.56 | ppm: +1.5 by retuning | Si la correction du quartz de la radio est activée, sa valeur en parties par million et la manière dont elle est appliquée (in the radio ou by retuning), ou off. Elle décrit le quartz de la radio, pas une fréquence : elle ne dit rien de ce que vous écoutiez. |
| DLL d'autres logiciels dans le processus, depuis FoxSDR 0.99.69 | foreignModules: NahimicOSD.dll, RTSSHooks64.dll | Les noms de fichiers — jamais un dossier, une version ni rien d'autre sur le fichier — des composants d'autres programmes qui ont été chargés dans FoxSDR : tout module chargé qui n'est ni celui de Windows, ni une partie de FoxSDR (son dossier de programme, ses plugins, le runtime C++), ni un fichier de pilote d'un fabricant SDR que FoxSDR charge volontairement. Cela divulgue les noms des DLL d'autres logiciels — la surimpression d'un pilote audio, un compteur d'images par seconde, le hook d'un antivirus ou d'un outil de saisie — et un nom de fichier peut révéler quels logiciels sont installés sur votre ordinateur ; c'est donc indiqué ici. Les fichiers du dossier Windows sont exclus, pour que la liste reste courte et utile. Elle existe parce que des rapports de FoxSDR s'arrêtant dans le passage de relais du pilote graphique, où s'accrochent les programmes qui s'insèrent dans tous les processus, ne permettaient pas de savoir ce qui se trouvait d'autre dans le processus. Les mêmes noms sont écrits dans le journal de l'application (modules: 2 foreign - ... une fois au démarrage, module arrived: ... quand un module est chargé plus tard), si bien que ces lignes peuvent apparaître à la fin du journal de session ci-dessus. La valeur est vide quand un rapport ne la précise pas, et au plus 520 caractères en sont conservés ici. |
| The window’s start-up and the graphics adapter, from FoxSDR 0.99.78 | window: GL vendor NVIDIA Corporation; renderer NVIDIA GeForce RTX 4090/PCIe/SSE2; version 4.6.0 NVIDIA 610.88 | Lines the application writes to its log while its window is being created, each beginning window:, which therefore ride in the tail of the session log above: which window systems this build of the window library supports; on Linux, whether DISPLAY and WAYLAND_DISPLAY are set (set or not set — never their values, which can name a computer or a session), the session type when it is one of a fixed list of words, and which window system was chosen; the window library’s own error messages, with the display’s name left out; and the graphics driver’s own vendor, renderer and version strings, which name the make and model of your graphics adapter and its driver — a graphics fault cannot be told apart without them, and they say nothing about you. On Linux, a report of a process that ended before its window appeared now also says how it ended: an exit status, or a signal number whose name comes from a list of twelve (exit code 3 (the process ended itself), killed by signal 11 (SIGSEGV)), written down by FoxSDR itself as it ends, as a number behind a fixed tag; unknown when nothing was written, which is what an ending by SIGKILL leaves. |
| Identifiant d'installation | 32 caractères hexadécimaux aléatoires, ou vide | Utilisé pour limiter le débit, puis jeté : l'identifiant d'installation n'est pas stocké. Une machine coincée dans une boucle de plantages ne doit pas pouvoir inonder le serveur, et distinguer une machine de cent est la seule chose pour laquelle il est jamais lu. Il n'est jamais écrit sur disque ici. Si les rapports d'utilisation sont désactivés, il est envoyé vide — il n'existe alors aucun identifiant, et un rapport de plantage n'en crée jamais. |
Corrigé dans FoxSDR 0.99.33. Avant 0.99.33, le nettoyage décrit ci-dessus n'était appliqué qu'aux lignes du pilote de la radio, pas à celles de l'application elle-même, et quelques lignes de l'application pouvaient donc se retrouver dans un rapport de plantage ou de blocage avec la fréquence que vous aviez demandée ou sur laquelle vous émettiez, l'étiquette d'une radio de patch (pouvant inclure son numéro de série), les noms que vous aviez donnés aux éléments d'un patch, la première ligne de texte produite par un décodeur sur la page de patch, et la liste des périphériques USB affichée par le pilote USB, avec leurs numéros de série. Cela contredisait cette déclaration. Depuis 0.99.33, chaque ligne est nettoyée avant de quitter votre ordinateur, et ces lignes de journal ne contiennent plus ces valeurs au départ.
Corrigé dans FoxSDR 0.99.59. Cet avis a toujours indiqué qu'un rapport de plantage ne contient aucun nom de machine et que l'application n'envoie jamais votre adresse IP, mais jusqu'à 0.99.59, l'épuration ne recherchait ni les adresses réseau ni les noms d'hôte. Quelques lignes du journal pouvaient donc se retrouver dans un rapport de plantage ou de blocage, ou dans le journal de diagnostic d'un rapport de bug, avec l'adresse ou le nom d'hôte que vous aviez saisi pour une radio réseau telle qu'un ADALM-Pluto, ou une adresse ou une adresse web qu'un pilote de radio réseau avait consignée ; elles pouvaient aussi contenir le numéro d'un port série et, sur quelques lignes d'erreur, le nom d'une carte son. Cela contredisait cet avis. À partir de 0.99.59, les adresses et les noms d'hôte sont remplacés et les numéros de port série masqués comme décrit ci-dessus, les lignes propres à l'ADALM-Pluto n'impriment plus son adresse, et aucune ligne du journal ne nomme une carte son.
Un rapport de plantage ne contient aucune fréquence, rien de décodé, aucun chemin de fichier, aucun nom d'utilisateur, aucun nom de machine, aucune adresse réseau et aucune localisation. Les rapports sont conservés sur le propre serveur de ce site, derrière le même tableau de bord protégé par mot de passe que tout le reste, et sont conservés 90 jours après la dernière apparition du défaut, puis supprimés — les mêmes trois mois que les rapports d'utilisation. Le premier rapport de chaque défaut est conservé en entier, ainsi qu'un rapport supplémentaire par build dans laquelle le défaut persiste, jusqu'à trois ; tous les autres rapports de ce même défaut sont comptés au lieu d'être stockés. Un test automatisé aligne à la fois ce que le point d'accès accepte et ce qu'il écrit sur disque sur le tableau ci-dessus, dans les deux sens, si bien qu'aucun champ ne peut être ajouté à l'un ou à l'autre sans que ce tableau change aussi.
Un vidage mémoire complet n'est jamais envoyé, quel que soit le réglage. Un vidage mémoire est une copie de la mémoire du programme et peut contenir des noms de fichiers, des titres de fenêtres et des données de signal reçues. Il est désactivé par défaut ; si vous l'activez dans SYSTÈME → Diagnostic, un .dmp est écrit à côté du rapport texte, en local uniquement, et l'outil d'envoi ouvre les fichiers nommés crash-*.txt et hang-*.txt et rien d'autre.
Un rapport de sentinelle, depuis FoxSDR 0.99.64. Certaines fins, rien à l'intérieur de FoxSDR ne peut les signaler : un plantage qui court-circuite tous les gestionnaires, un dépassement de pile, une fenêtre bloquée si fort que le chien de garde des blocages est bloqué lui aussi. Aussi, dans une session interactive avec Diagnostic activé, FoxSDR lance une seconde copie de son propre programme, sans fenêtre, qui se contente d'attendre la fin de la première — la sentinelle. Elle peut lire comment FoxSDR s'est terminé (son code de sortie, et quand il a démarré et s'est arrêté), une petite page partagée de nombres que FoxSDR tient à jour (à quelle étape il en est, combien d'images il a dessinées et quand il en a dessiné une pour la dernière fois, quelle partie du dessin de la fenêtre est en cours, si un menu est ouvert ou si la fenêtre est déplacée), et la fin du journal de session, nettoyée comme celle de tout autre rapport. Elle ne lit rien de la mémoire de FoxSDR et ne fait aucun vidage, et la page de nombres n'a pas de place pour du texte, si bien qu'elle ne peut contenir ni nom, ni chemin, ni fréquence, ni adresse. Quand FoxSDR se termine, la sentinelle écrit un rapport dans le même dossier et au même format que les autres — aucun si FoxSDR s'est terminé normalement ou en avait déjà écrit un — dont la raison n'est faite que de mots fixes et de secondes entières, les lignes du récepteur étant remplacées par une phrase fixe disant qu'elle ne peut pas les lire. Elle n'envoie rien elle-même : son rapport part au démarrage suivant, sous le même interrupteur et les mêmes limites que tous les autres, et seulement si FoxSDR a planté, si sa fenêtre avait cessé de se dessiner ou s'il s'est terminé avant la première image. Une fin venue de l'extérieur (le Gestionnaire des tâches, ou un script) et une fin due à la fermeture de votre session par Windows restent sur votre machine et ne sont jamais envoyées. Avec Diagnostic désactivé, la sentinelle n'est pas lancée.
À quelle fréquence. Au plus cinq rapports par jour depuis une même machine, et le même défaut une seule fois par jour, quel que soit le nombre de fois où il se produit — les deux limites sont conservées dans votre propre fichier de paramètres, si bien qu'une machine en boucle de plantages cesse d'envoyer d'elle-même au lieu qu'on le lui ordonne, et un rapport dont l'envoi échoue est retenté aux lancements suivants trois fois au plus, puis abandonné. Retrouver un nom de fonction à partir d'un décalage dans un rapport nécessite la base de données de débogage de cette build exacte, qui reste sur nos propres machines et n'est jamais envoyée nulle part : la résolution se fait en local, pas sur le serveur.
Ce que l'application n'envoie jamais
- Les fréquences sur lesquelles vous vous accordez. Ce qu'une personne écoute est l'information la plus sensible que connaît ce logiciel, et elle n'est jamais collectée. Au Royaume-Uni, intercepter un message que vous n'êtes pas autorisé à recevoir, ou en divulguer le contenu, est une infraction au titre de la section 48 du Wireless Telegraphy Act 2006.
- Les noms ou chemins des fichiers que vous ouvrez. Le nom de fichier d'un enregistrement vous appartient — il peut nommer un service, un lieu ou une fréquence. Quand un fichier I/Q ne se rouvre pas, le journal enregistre qu'il ne s'est pas rouvert ; le nom reste à l'écran, où vous le connaissez déjà.
- Tout ce qui est décodé — messages de pagers, avions, navires, images, trafic satellite.
- Votre position, ni celle de quoi que ce soit que vous recevez — y compris la position du récepteur que vous définissez, qui n'est transmise dans aucun rapport. Voir ci-dessous.
- Votre adresse IP, ni aucune localisation qui en serait déduite. Une requête atteint forcément un serveur depuis une adresse, parce que c'est ainsi que fonctionne Internet ; le point d'accès des rapports d'utilisation ne lit aucune information de connexion et n'écrit aucun journal de requêtes. À partir de FoxSDR 0.99.59, une adresse réseau ou un nom d'hôte figurant dans les lignes de journal d'un rapport est également remplacé par
<host>. - Les numéros de série du matériel. Le modèle de radio est utile ; le numéro de série identifie votre radio en particulier, et il est retiré avant l'envoi.
- Votre nom, le nom de votre machine, votre compte utilisateur, ni aucun chemin de fichier, ni le nom d'une carte son.
- Un vidage mémoire complet.
La position du récepteur, et le GPS
FoxSDR a besoin de savoir où se trouve le récepteur, parce que chaque distance et chaque azimut sur la carte et sur l'écran radar sont mesurés à partir de lui. Vous pouvez la saisir, cliquer dessus sur la carte, ou la lire depuis un récepteur GPS sur un port série.
La position reste sur votre machine. Elle est stockée dans votre propre fichier de paramètres et n'est jamais transmise — ni dans le rapport d'utilisation, ni dans le battement, ni dans un rapport de plantage, ni nulle part ailleurs. La lire depuis un GPS est une action que vous lancez : vous indiquez le port et appuyez sur « Lire la position depuis le GPS ». Le port n'est tenu que jusqu'à l'arrivée du premier fix, et pendant 60 secondes au plus. Le journal de diagnostic enregistre le nom du port, le débit en bauds, le nombre de phrases et de satellites et toute erreur — jamais la position, et jamais le texte d'une phrase NMEA. Un champ de port contenant quelque chose qui n'a pas la forme d'un port est journalisé par sa nature et sa longueur (« un chemin de périphérique saisi, 27 caractères »), de sorte qu'un chemin de fichier contenant votre nom d'utilisateur ne puisse pas se glisser dans un rapport. Deux tests automatisés le garantissent : l'un sur l'anneau du journal, l'autre sur le fichier journal écrit par la vraie application.
Le catalogue des plugins
Le catalogue est contacté quand vous ouvrez la fenêtre de la boutique de plugins (la première fois dans une session, depuis FoxSDR 0.99.16), chaque fois que vous y appuyez sur VÉRIFIER, et quand vous choisissez d'installer quelque chose. Rien n'est récupéré au démarrage, la fenêtre ne se rouvre pas d'elle-même, et aucun plugin ne se met jamais à jour tout seul. Le catalogue est un fichier publié sur GitHub (raw.githubusercontent.com), cette requête atteint donc les serveurs de GitHub, qui — comme pour toute requête web — voient l'adresse d'où elle vient. Aucun identifiant vous concernant n'est envoyé avec : pas d'identifiant d'installation, pas de cookie, rien qui puisse être relié à un rapport d'utilisation. Chaque téléchargement se fait en HTTPS, avec une taille plafonnée, est refusé en cas de redirection vers un autre hôte, et vérifié contre le sha256 publié dans le catalogue avant d'avoir le droit de devenir un fichier. La source est un paramètre : vous pouvez la pointer vers un autre catalogue, ou vers un index.json sur votre propre disque, auquel cas aucune requête réseau n'est effectuée.
Les sites de plugins que vous ajoutez
Depuis FoxSDR 0.99.74, vous pouvez ajouter les catalogues de plugins d'autres personnes, appelés sites de plugins, et chacun que vous ajoutez est une adresse de plus que l'application contacte. Vous seul en ajoutez un : appuyez sur SITES dans la barre supérieure de la boutique de plugins, collez une adresse et cochez la case qui dit que FoxSDR n'a pas examiné le site. FoxSDR n'ajoute rien et ne contacte rien de lui-même. Un site est lu aux deux mêmes moments que le catalogue public — la première fois que vous ouvrez la boutique dans une session, et chaque fois que vous appuyez sur VÉRIFIER — et dispose de quelques secondes pour répondre. La requête porte l'adresse que vous avez indiquée et rien d'autre de FoxSDR : aucun identifiant, aucun cookie, et un nom de client (cascade-plugin-repo/1.0) identique pour toutes les copies. Le site voit donc votre adresse IP, comme tout serveur web.
Les fichiers et les images d'un plugin d'un site ne sont récupérés que sur le même hôte que son catalogue, et seulement quand vous appuyez sur OBTENIR ou METTRE À JOUR pour l'un de ses plugins ou ouvrez sa page. Le catalogue de chaque site est conservé tel quel dans le dossier des plugins de votre propre disque, relu au démarrage et supprimé quand vous appuyez sur RETIRER pour le site ; les adresses elles-mêmes se trouvent dans votre fichier de paramètres. Les compteurs d'échecs du catalogue de plugins et des installations de plugins (voir plus haut la section sur le rapport d'utilisation) sont ceux du catalogue public : un site injoignable, ou l'un de ses plugins dont l'installation échoue, n'est pas compté.
Modules proposés dans certains pays seulement
Certains modules ne sont proposés qu'aux connexions provenant de certains pays. Lorsque l'application récupère le catalogue des modules, elle demande aussi à ce site une courte liste régionale, et un module de cette liste est téléchargé depuis ce site plutôt que depuis GitHub. Pour décider de sa réponse, le site lit le code pays à deux lettres que Cloudflare transmet avec la requête (CF-IPCountry), et que Cloudflare déduit de l'adresse d'où vient la requête. Le code pays et l'adresse servent à cette seule réponse et ne sont pas conservés, aucun identifiant vous concernant n'est envoyé, et ces requêtes ne sont pas enregistrées dans les statistiques de ce site. Une connexion dont le pays ne peut pas être déterminé, ou qui arrive par Tor, reçoit une liste vide. Un VPN change le pays que voit le site. La liste régionale n'est pas demandée si vous avez dirigé le store vers un autre catalogue.
Un plugin qui peut émettre
Depuis FoxSDR 0.99.74, un plugin peut demander à envoyer du son par votre émetteur ; la boutique de plugins et la fenêtre « Modules montés » l'affichent alors comme « Peut émettre via FoxSDR ». Il ne peut déclencher l'émetteur que si vous avez appuyé sur AUTORISER L'ÉMISSION sur sa page et armé la page ÉMISSION pour 5, 15 ou 60 minutes. L'autorisation est stockée dans votre propre fichier de paramètres sous le nom de fichier du plugin et n'est jamais envoyée nulle part ; la fenêtre d'armement n'est jamais stockée. Le journal de diagnostic de votre machine enregistre le déclenchement — tx: armed 15 min, tx: plugin <name> keyed, tx: plugin <name> unkeyed (<why>) et tx: disarmed (<why>) — sous la forme du nom déclaré du plugin, d'un motif tiré d'une liste fixe et d'un nombre de minutes, jamais une fréquence, et ces lignes sont expurgées comme toute autre ligne du journal quand un rapport ou un paquet de diagnostic est constitué. Les rapports propres de FoxSDR n'ont aucun champ pour tout cela.
Jeux d'éléments orbitaux des satellites
Le plugin satellites tient ses jeux d'éléments orbitaux à jour en les récupérant auprès des sources nommées dans son satellite.cfg, toutes les douze heures tant qu'il est chargé. Ce site conserve une copie de ces jeux d'éléments à l'adresse GET /tle/all.tle — les groupes stations, amateurs et météo de CelesTrak ainsi que NOAA 15, 18 et 19, rafraîchis ici toutes les douze heures — et Satellites 1.0.4 et les versions ultérieures se rabattent d'eux-mêmes sur ce fichier chaque fois que toutes les sources de satellite.cfg échouent, afin qu'une machine que CelesTrak refuse puisse quand même les suivre. Le fichier n'a pas besoin de nommer ce site pour cela ; une ligne fallback-url none dans ce fichier désactive ce repli, et refresh-hours 0 désactive toute récupération. La requête ne contient aucun identifiant, aucun identifiant d'installation ni aucun cookie, et ce serveur n'écrit aucun enregistrement de mesure d'audience pour elle — comme pour la vérification des mises à jour, seuls les affichages de pages et les téléchargements de fichiers sont enregistrés, et le miroir n'est ni l'un ni l'autre. Les jeux d'éléments eux-mêmes appartiennent à CelesTrak (celestrak.org) et chaque réponse le mentionne.
Recherches dans le registre des avions
Le plugin facultatif Aircraft Info montre qui est chaque avion sur la carte — son immatriculation, son type et son exploitant. L'application ne fait jamais cette requête ; c'est l'installation de ce plugin qui l'active. Depuis la version 1.1.0, le plugin interroge d'abord ce site, à l'adresse GET /api/aircraft/<address>, et n'envoie que l'adresse OACI de l'avion, à six chiffres hexadécimaux — le numéro que l'avion diffuse lui-même — sans identifiant, sans identifiant d'installation et sans cookie. Chaque appareil n'est demandé qu'une fois et la réponse est conservée sur votre propre machine, si bien qu'il n'est pas redemandé. Ce n'est que lorsque ce site ne connaît pas un avion, ou ne peut pas être joint, que le plugin interroge api.adsbdb.com, un service tiers gratuit, comme le faisaient toujours les versions précédentes. L'ensemble des avions qu'entend un récepteur donne une indication approximative de l'endroit où il se trouve, c'est pourquoi le plugin est facultatif et le dit avant que vous ne l'installiez.
Ce que ce serveur conserve d'une recherche : rien par requête. Aucun enregistrement de mesure d'audience n'est écrit, et ni l'adresse de l'avion ni l'adresse d'où vient la requête ne sont journalisées. Le seul enregistrement est constitué de cinq totaux cumulés depuis le dernier démarrage du serveur — recherches, trouvés, non trouvés, mal formés et limités en débit — que le tableau de bord affiche. Pour empêcher quiconque de copier la table en bloc, chaque adresse qui se connecte dispose d'un quota de recherches tenu en mémoire, exactement comme pour les autres points d'accès de ce site, et jamais écrit sur disque ; il est oublié au redémarrage du serveur ou dès que plus de dix mille adresses sont suivies, selon ce qui arrive en premier.
Les réponses proviennent de la base de données d'avions de l'OpenSky Network (opensky-network.org) : pour chaque appareil, son immatriculation, son indicatif de type, son constructeur, son modèle et, lorsqu'il est renseigné, son exploitant. OpenSky fournit cette base de données en l'état et demande à ses utilisateurs de citer : Matthias Schäfer, Martin Strohmeier, Vincent Lenders, Ivan Martinovic et Matthias Wilhelm, « Bringing Up OpenSky: A Large-scale ADS-B Sensor Network for Research », dans Proceedings of the 13th IEEE/ACM International Symposium on Information Processing in Sensor Networks (IPSN), avril 2014. Le propriétaire enregistré qui y figure n'est pas copié sur ce site ni servi par lui, parce que pour un avion privé il s'agit du nom d'une personne ; seul l'exploitant, qui est une compagnie aérienne, une armée de l'air ou une entreprise, l'est.
L'interface dans le navigateur
FoxSDR peut servir son interface en HTTP à d'autres machines de votre propre réseau. Elle est désactivée par défaut et liée à votre propre machine tant que vous ne changez rien ; un mot de passe est exigé pour toute liaison au-delà, et sans mot de passe la liaison élargie est refusée plutôt qu'ouverte. Les mots de passe sont stockés sous forme hachée (PBKDF2-HMAC-SHA256) et les sessions sont révoquées dès que les paramètres changent. Il n'y a délibérément pas de TLS, parce que l'application n'intègre aucune bibliothèque cryptographique et ne prétendra pas à une sécurité de transport qu'elle ne peut pas fournir — placez un proxy inverse ou un tunnel privé devant, et ne la redirigez jamais directement par un port de votre box. Toute personne à qui vous donnez accès peut voir et commander ce que fait le récepteur.
Demandes de fonctions envoyées depuis l'application
L'application dispose d'une boîte « Demander une fonction », sur sa page principale, où vous pouvez taper ce que vous aimeriez qu'elle fasse et appuyer sur Envoyer. Rien n'est envoyé tant que vous n'appuyez pas sur ce bouton, cela ne se produit jamais automatiquement, et une demande qui ne nous parvient pas n'est ni mise en file d'attente ni retentée en arrière-plan — ce que vous avez tapé reste dans la boîte, en mémoire uniquement, pour que vous appuyiez à nouveau sur Envoyer, et n'est jamais écrit dans le fichier de configuration ni dans le journal. Voici l'intégralité de ce que contient une demande :
| Envoyé | Exemple | Pourquoi |
|---|---|---|
| Ce que vous avez tapé | Please add a squelch control to the FLEX decoder | La demande elle-même : de 10 à 100000 caractères. Les caractères de contrôle sont retirés avant le stockage ; les sauts de ligne sont conservés. |
| Un contact, si vous en avez donné un | [email protected] ou un indicatif | Facultatif, jusqu'à 120 caractères, pour que nous puissions vous poser une question complémentaire. Laissez-le vide et la demande ne contient rien qui puisse vous identifier. |
| Version de l'application | 0.99.42 | La build d'où vient la demande. |
| Système d'exploitation | windows, linux ou android | La plate-forme qui l'a envoyée. |
| Architecture | x64 ou arm64 | Même raison que ci-dessus. |
| Numéro de schéma | 1 | La version du contrat de format, pour qu'une future modification du format ne puisse pas être confondue avec l'un des champs ci-dessus. |
Elle va à POST /api/feature-request sur ce site. Votre adresse IP ne sert qu'à maintenir le rythme d'envoi dans des limites raisonnables, et elle n'est jamais écrite sur disque — l'enregistrement réellement conservé contient votre message, votre adresse de contact si vous en avez donné une, la version de l'application, la plate-forme, l'architecture, et votre pays approximatif lorsque notre recherche peut le déduire de la connexion, et rien d'autre. Il est lu par le mainteneur du projet sur le tableau de bord d'administration, derrière le même mot de passe que tout le reste ici, et est conservé jusqu'à sa suppression de ce tableau de bord, ou jusqu'à ce que vous le demandiez. Une demande traitée — ajoutée à FoxSDR, ou réglée d'une autre manière — peut y être archivée plutôt que supprimée, pour que le projet garde trace de ce qui a été demandé et de ce qui a été construit ; une demande archivée est toujours conservée, avec tout ce qui est listé ci-dessus. Si vous avez donné une adresse de contact et souhaitez que la demande soit supprimée, écrivez à l'adresse ci-dessous en citant suffisamment de ce que vous avez envoyé pour qu'elle puisse être retrouvée.
Rapports de bugs et critiques envoyés depuis l'application
Juste sous « Demander une fonction », l'application dispose d'une boîte « Signaler un bug / une critique », où vous indiquez soit que quelque chose est cassé, soit que quelque chose vous déplaît, et appuyez sur Envoyer. Elle fonctionne exactement comme la boîte de demande de fonctions : rien n'est envoyé tant que vous n'appuyez pas sur ce bouton, rien n'est mis en file d'attente ni retenté en arrière-plan, et ce que vous avez tapé reste en mémoire uniquement — jamais dans le fichier de configuration, jamais dans le journal. Ce n'est pas un rapport de plantage, même si le journal de diagnostic décrit ci-dessous passe par le même filtre et peut contenir une partie de ce que contient un rapport de plantage. Voici l'intégralité de ce que contient un rapport :
| Envoyé | Exemple | Pourquoi |
|---|---|---|
| S'il s'agit d'un bug ou d'une critique | bug ou dislike | Le choix que vous avez fait en haut de la boîte : quelque chose qui ne fonctionne pas, ou quelque chose qui fonctionne comme prévu mais que vous préféreriez voir autrement. |
| Ce que vous avez tapé | The waterfall freezes when I change the sample rate | Le rapport lui-même : de 10 à 100000 caractères. Les caractères de contrôle sont retirés avant le stockage ; les sauts de ligne sont conservés. |
| Un contact, si vous en avez donné un | [email protected] ou un indicatif | Facultatif, jusqu'à 120 caractères, pour que nous puissions vous poser une question complémentaire. Laissez-le vide et le rapport ne contient rien qui puisse vous identifier. |
| Version de l'application | 0.99.42 | La build d'où vient le rapport, pour qu'un bug déjà corrigé ne soit pas pourchassé à nouveau. |
| Système d'exploitation | windows, linux ou android | La plate-forme qui l'a envoyée. |
| Architecture | x64 ou arm64 | Même raison que ci-dessus. |
| Numéro de schéma | 1 | La version du contrat de format, pour qu'une future modification du format ne puisse pas être confondue avec l'un des champs ci-dessus. |
| Journal de diagnostic, depuis FoxSDR 0.99.43 | 0.99.43 windows x64, Ettus B200 — recent log lines, serials/frequencies/paths scrubbed | Coché par défaut lorsque vous signalez un bug, et décoché par défaut pour une critique — vous pouvez changer l'un ou l'autre avant d'appuyer sur Envoyer. Il contient la version de l'application, votre système d'exploitation, quelle radio était utilisée, un court résumé de vos réglages, et les lignes les plus récentes du propre journal de l'application, passées par le même filtre que la fin du journal d'un rapport de plantage : les numéros de série et les identifiants USB sont remplacés, tout nombre lié à une fréquence est remplacé, tout ce qui est entre guillemets simples est remplacé, les adresses réseau et les noms d'hôte sont remplacés et les numéros de port série masqués (à partir de FoxSDR 0.99.59), et le nom du compte dans un chemin de fichier est retiré. Ce serveur répète la dernière de ces vérifications au cas où l'une d'elles aurait été manquée. Il est conservé, et supprimé, avec le reste du rapport, aux mêmes conditions que tout ce qui précède. À partir de FoxSDR 0.99.61, le résumé de vos réglages indique aussi si une sortie audio est ouverte et via quel modèle de pilote audio, le volume, si le son est coupé et par qui (vous, un plugin décodeur ou la touche d'émission ; un plugin est décrit, jamais nommé), ainsi que le niveau du squelch, s'il est ouvert et le niveau du signal qu'il évalue, qui est un niveau et non une fréquence. Il ne contient jamais le nom de votre périphérique audio ni la fréquence sur laquelle vous êtes accordé. À partir de FoxSDR 0.99.62, il contient aussi trois autres choses : les dernières lignes (80 au maximum) du journal de la session précédente, ou des mots indiquant qu'il n'y en a aucun à lire ; une ligne pour chacun des dix rapports de plantage ou de blocage les plus récents sur votre ordinateur, indiquant s'il s'agissait d'un plantage, d'un blocage ou d'un arrêt d'affichage, il y a combien de temps il a été écrit, la version qui l'a écrit, depuis combien de temps cette session tournait, pendant combien de temps la fenêtre est restée à l'arrêt ou le motif et le code du plantage, sa signature du défaut et ce qu'il est advenu de son envoi, sans pile, sans lignes de journal, sans liste de modules et sans noms ni chemins de fichiers tirés de ces rapports ; et une ligne indiquant combien de radios la page patch fait tourner et le type de pilote de chacune, jamais le nom, le numéro de série ou l'adresse d'une radio, le nom d'un enregistrement ni une fréquence. Chaque ligne du journal précédent et de la liste de rapports passe par le même filtre. Avec Diagnostic désactivé, le journal de diagnostic ne contient ni le journal de la session précédente ni la liste de rapports, et rien de tout cela ne fait partie du rapport de plantage ou de blocage que FoxSDR envoie de lui-même. |
| Un rapport que vous avez collé, depuis FoxSDR 0.99.69 | sentinel:outside, written by 0.99.66, and the report | Uniquement le cas échéant. Si le message que vous avez saisi ou collé contient un rapport de plantage, de blocage ou de sentinelle de FoxSDR — le texte que contient un fichier de rapport du dossier des rapports, que l'on colle parfois à la main — l'application le reconnaît, vous le signale sur la page avant que vous n'appuyiez sur Envoyer (« Un rapport a été reconnu et joint en tant que … »), et l'envoie de nouveau à côté du message, avec trois éléments : le type de rapport (un plantage, un blocage, un arrêt d'affichage, ou l'une des cinq fins enregistrées par la sentinelle), la build qui l'a écrit (la ligne de version du bloc de contexte du rapport lui-même, qui peut différer de celle que vous utilisez maintenant) et le rapport lui-même. Ce n'est rien que vous n'envoyiez déjà : ce sont les mots de votre message, classés selon leur type pour que la page d'administration puisse le nommer. Seul le texte de la zone est examiné ; aucun fichier n'est lu. Il est nettoyé ici comme le journal de diagnostic (le nom de compte dans un chemin de fichier et toute adresse e-mail sont supprimés), limité à 64 Kio, et conservé avec le reste du rapport, aux mêmes conditions que tout ce qui précède. |
Depuis FoxSDR 0.99.69, le journal de diagnostic comporte aussi une ligne de plus, qui désigne uniquement par nom de fichier (jamais un dossier ni une version) les composants d'autres programmes chargés dans FoxSDR — une surimpression ou un hook placé là par un autre programme ; c'est la même liste que décrit le tableau du rapport de plantage ci-dessus, et elle fait aussi partie du rapport de plantage ou de blocage que FoxSDR envoie de lui-même.
Il est envoyé à POST /api/problem-report sur ce site. Votre adresse IP sert uniquement à maintenir la cadence d'envoi à un niveau raisonnable, et elle n'est jamais écrite sur disque — ce qui est réellement conservé, c'est s'il s'agissait d'un bug ou d'un désagrément, votre message, votre adresse de contact si vous en avez donné une, la version de l'application, la plate-forme, l'architecture, votre pays approximatif lorsque notre recherche peut le déduire de la connexion, ainsi que le journal de diagnostic si vous l'avez laissé joint, le type de tout rapport reconnu dans votre message (ci-dessus), et rien d'autre. Il est lu par le mainteneur du projet sur le tableau de bord d'administration, protégé par le même mot de passe que tout le reste ici, et un rapport est conservé jusqu'à ce qu'il soit supprimé de ce tableau de bord, ou jusqu'à ce que vous le demandiez. Un rapport traité — corrigé dans FoxSDR, ou résolu autrement — peut y être archivé plutôt que supprimé ; un rapport archivé est toujours conservé, avec tout ce qui est énuméré ci-dessus. Si vous avez donné une adresse de contact et souhaitez la suppression du rapport, écrivez à l'adresse ci-dessous en citant assez de ce que vous avez envoyé pour le retrouver.
Le site web : ce qui est enregistré lors de votre visite
Un enregistrement est écrit pour chaque affichage de page et chaque téléchargement, que vous acceptiez les cookies ou non. Il s'agit d'une mesure d'audience interne : les données restent sur le serveur qui sert ce site, elles ne sont pas partagées avec un réseau publicitaire, et il n'y a aucun script tiers sur la page.
| Enregistré | Provenance | Consentement requis |
|---|---|---|
| Date et heure, page demandée, méthode et protocole HTTP | La requête | Non |
| Votre adresse IP, et une empreinte salée de celle-ci | La connexion | Non |
| Localisation approximative : pays, région, ville, zone de code postal, fuseau horaire, et les coordonnées de cette ville — pas les vôtres | Adresse IP, recherchée via ip-api.com | Non |
| Votre réseau : fournisseur d'accès, organisation, numéro d'AS, et si l'adresse appartient à un VPN, un centre de données ou un réseau mobile connu | La même recherche | Non |
| Navigateur et version, système d'exploitation et version, type d'appareil, et si la requête ressemble à celle d'un robot | En-tête User-Agent | Non |
La page qui vous a envoyé ici, et les éventuelles balises de campagne du lien (utm_source et consorts) | En-tête Referer et URL | Non |
| Langues préférées | En-tête Accept-Language | Non |
| Le fichier que vous avez téléchargé, sa version, le nombre d'octets envoyés et si le transfert s'est terminé | Le téléchargement lui-même | Non |
| Taille de l'écran et de la fenêtre, rapport de pixels, profondeur de couleur | Votre navigateur, transmis par le script de cette page | Oui |
| Nombre de cœurs du processeur et mémoire approximative de l'appareil | Le même script | Oui |
| Fuseau horaire, liste des langues, préférence de mode sombre, prise en charge du tactile, plate-forme | Le même script | Oui |
| Type de connexion, débit descendant estimé et temps aller-retour | Le même script | Oui |
| Combien de temps la page a été visible, jusqu'où vous avez fait défiler, combien de clics, et sur quels boutons vous avez appuyé | Le même script | Oui |
Ce qui n'est délibérément pas fait
- Aucune empreinte de navigateur : pas de sondage du canvas, de l'audio, des polices ou de WebGL, et rien qui tente de vous ré-identifier après votre refus.
- Aucun traceur tiers, pixel publicitaire, widget de réseau social ni service de mesure d'audience. Rien sur cette page n'est chargé depuis un autre domaine.
- Aucune tentative de lire votre presse-papiers, votre batterie, votre caméra, votre microphone, vos mots de passe enregistrés ou votre historique de navigation — rien de tout cela ne regarde une page de téléchargement.
- Vos données ne sont ni vendues, ni louées, ni partagées avec qui que ce soit. La seule requête sortante que le serveur effectue à votre sujet est la recherche de localisation à partir de l'IP décrite ci-dessus.
Les designs d'interface que vous publiez
Ce site peut conserver un design d'interface FoxSDR — un paquet .foxui — que vous choisissez de publier. Rien n'est envoyé avant que vous appuyiez sur Publish, et l'envoi se fait vers POST /api/gui/publish. Ce qui est conservé est ce que contient le paquet : le design lui-même, le nom, la version et la description que vous avez saisis, un nom d'auteur si vous en avez saisi un, l'heure de publication et un identifiant aléatoire. Votre adresse IP sert uniquement à maintenir le rythme des publications dans des limites raisonnables, et elle n'est jamais écrite sur le disque. Un paquet publié n'est répertorié nulle part ; toute personne qui en possède le lien peut le télécharger. Il est conservé jusqu'à ce qu'il soit supprimé depuis le tableau de bord d'administration, ou jusqu'à ce que vous le demandiez — écrivez à l'adresse ci-dessous en indiquant son lien.
Si vous vous inscrivez comme bêta-testeur
Le formulaire bêta et l'inscription aux nouvelles sont les seuls endroits où ce site vous demande quoi que ce soit, en dehors de la publication d'un design d'interface (voir plus haut). L'envoyer enregistre votre adresse e-mail, ainsi que ce que vous avez choisi de fournir parmi les éléments suivants : un nom ou un indicatif, votre plate-forme, la radio que vous comptez utiliser, vos notes, et la liste des fonctions que vous vous êtes porté volontaire pour tester. Nous conservons en plus le même contexte de visite que celui décrit ci-dessus — localisation approximative, réseau, navigateur et système d'exploitation — parce qu'un rapport de bug se lit très différemment selon la configuration dont il provient.
- L'adresse sert à une seule chose : vous contacter au sujet des versions bêta et de ce qu'il faut tester. Pas de lettre d'information, pas de marketing, et elle n'est jamais transmise à qui que ce soit.
- Rien ne se passe tant que vous n'avez pas confirmé. L'inscription envoie un seul e-mail contenant un code à six chiffres, que vous saisissez dans la page pour confirmer que l'adresse est bien la vôtre. Le code est valable 30 minutes et est refusé après cinq essais erronés. Tant qu'il n'a pas été saisi, l'inscription reste inactive : vous n'êtes pas sur la liste des testeurs, vous n'êtes pas compté, et rien d'autre ne vous est jamais envoyé. Si quelqu'un d'autre a saisi votre adresse, ignorez cet e-mail et l'inscription ne deviendra jamais réelle — il n'y a rien dont se désabonner et aucune démarche à faire. Ce message unique est le seul courrier automatique qu'une inscription puisse produire.
- Si vous nous avez écrit, nous pouvons vous inviter. Une personne qui nous a écrit en laissant une adresse — par la boîte de suggestions de l'application, par exemple — peut recevoir de notre part une invitation personnelle, avec un lien à usage unique qui ouvre la touche Confirmer de ce site. Cette invitation est conservée comme une inscription en attente, exactement comme une inscription non confirmée : vous n'êtes pas testeur et n'êtes pas compté tant que vous n'appuyez pas sur Confirmer, et si vous l'ignorez nous ne vous écrivons plus. Une inscription en attente n'expire pas d'elle-même ; elle est supprimée quand nous la retirons de la liste ou quand vous le demandez, par un simple e-mail à l'adresse ci-dessous.
- Une fois que vous avez confirmé, vous recevez votre lien de gestion privé, et nous vous écrivons quand sort une version qui a besoin de ce que vous vous êtes proposé de tester. C'est une personne qui vous écrit, pas une liste de diffusion. Si vous perdez ce lien, nous pouvons vous en délivrer un nouveau : l'ancien cesse aussitôt de fonctionner, le nouveau vous est envoyé par e-mail, et nous conservons le moment de l'opération et si l'e-mail est parti.
- Cet e-mail passe par Apple. Le courrier de
foxsdr.comest acheminé par le service iCloud Mail d'Apple, si bien que votre adresse et le message transitent par leurs serveurs avant de vous parvenir, selon leurs conditions en tant que fournisseur de messagerie. Rien d'autre vous concernant ne leur est envoyé. - C'est tenu à l'écart de la mesure d'audience. Les inscriptions sont stockées dans leur propre fichier, lisible uniquement par le compte qui fait tourner le serveur ; le journal de mesure d'audience enregistre qu'une inscription a eu lieu et combien de fonctions ont été choisies, jamais par qui. Un test automatisé fait échouer la compilation si une adresse atteint un jour le journal de mesure d'audience.
- Vous réinscrire avec une adresse déjà sur la liste ne modifie pas cette inscription. Les modifications se font depuis votre propre page de testeur. À la place, un e-mail est envoyé à l'adresse : son lien privé si elle est confirmée, ou un nouveau code sinon, et jamais plus d'une fois toutes les 15 minutes.
- Nous conservons une copie de ce que nous vous avons envoyé. Chaque message que ce site envoie à un testeur — la confirmation, et chaque message concernant une version — est conservé avec son texte, pour que nous puissions voir ce qui a été dit et s'il est arrivé. La copie est classée sous votre identifiant interne, pas sous votre adresse, et ses parties personnelles (le code ou le lien de confirmation, et votre propre lien de gestion) en sont retirées avant stockage, si bien qu'un message conservé ne peut jamais servir à agir en votre nom. Ces copies sont supprimées avec le reste de votre inscription quand vous partez.
- Les messages échangés entre vous et nous sont conservés. La zone Messages de votre espace testeur est une conversation avec la personne qui développe FoxSDR : ce que nous vous écrivons et ce que vous répondez, chaque message avec l'heure à laquelle il a été écrit et, si vous en avez choisi un, le rapport qu'il concerne. Elle est classée sous votre identifiant interne, pas sous votre adresse, et seuls vous (avec votre lien privé) et nous pouvons la lire. Nous notons aussi quand vous avez eu nos messages à l'écran, pour savoir qu'ils vous sont parvenus. Tant que votre page est ouverte, elle demande les nouveaux messages toutes les quelques secondes, de sorte qu'ils apparaissent dès qu'ils sont écrits, et elle indique depuis combien de temps vous ne l'avez pas utilisée ; tant qu'elle continue de demander, et une demi-minute après, et seulement si vous l'avez utilisée dans les cinq dernières minutes, le serveur sait que vous êtes là. Cette information n'est gardée que dans sa mémoire et n'est jamais enregistrée. Nous ne vous envoyons pas d'e-mail pour chaque message : quand nous écrivons pendant votre absence, vous recevez un seul court e-mail indiquant qu'un message vous attend, avec votre lien et sans le message lui-même. Tant que ce message n'est pas lu, aucun autre e-mail de ce genre ne suit pendant au plus 12 heures, ni dans la demi-heure qui suit le précédent ; et si vous étiez sur la page quand nous avons écrit mais n'avez pas vu le message dix minutes plus tard, l'e-mail part à ce moment-là. Une copie de cet e-mail est conservée comme décrit ci-dessus ; quand vous écrivez, aucun e-mail n'est envoyé. La conversation est conservée jusqu'à ce que vous quittiez le programme ou nous demandiez de la supprimer, et quitter le programme la supprime entièrement.
- Conservé jusqu'à la fin du programme bêta, ou jusqu'à ce que vous le demandiez. Un seul e-mail à l'adresse ci-dessous vous retire et supprime l'inscription — vous n'avez pas à donner de raison.
- La base légale est ici votre consentement, donné en cochant la case ; le formulaire ne s'envoie pas sans lui.
Si vous êtes testeur bêta et saisissez votre code testeur dans FoxSDR
Votre page testeur (ci-dessus) vous donne un lien de gestion privé et, à partir de là, un code testeur que vous pouvez saisir dans FoxSDR, dans SYSTÈME → Code testeur. C'est différent du rapport d'utilisation anonyme décrit plus haut : le rapport d'utilisation ne peut pas remonter jusqu'à vous, volontairement, tandis qu'une session envoyée avec votre code testeur est liée à votre fiche testeur, délibérément — c'est bien tout l'intérêt : voir quelles fonctions et quels plugins les gens qui les testent vraiment ont essayés. C'est désactivé tant que vous n'entrez pas de code, et le champ est vide par défaut.
Associer FoxSDR, sur votre page de testeur, donne à FoxSDR un code d'application distinct, afin que votre lien privé n'ait jamais à être saisi dans l'application. Le code d'application ne peut faire que deux choses : envoyer les rapports de session décrits ci-dessous, et envoyer et lire les messages de votre boîte Messages. Il ne peut ni voir votre adresse, ni modifier votre inscription, ni vous retirer. Il est conservé avec votre inscription de testeur ; appuyer sur Nouveau lien l'annule, après quoi FoxSDR doit être associé de nouveau, et quitter le programme le supprime avec le reste de votre inscription.
Tant qu'un code est saisi, à peu près une fois par session FoxSDR envoie ceci, et rien d'autre :
| Envoyé | Exemple | Pourquoi |
|---|---|---|
| Votre code de testeur | le code d'application obtenu par « Associer FoxSDR », ou le jeton de votre page de testeur | Indique à quelle entrée de testeur appartient cette session. Il est converti en votre identifiant interne de testeur et n'est jamais lui-même stocké — la même règle que ce site applique à l'identifiant d'installation d'un rapport de plantage. |
| Version de l'application | 0.99.42 | La build que vous testez. |
| Plate-forme et architecture | windows, x64 | Même raison que ci-dessus. |
| Quand la session a commencé | 2026-09-25T14:32:00Z | Indique depuis combien de temps une fonctionnalité ou un plugin a réellement été utilisé, et combien de temps un rapport est conservé — pas le moment où le rapport est arrivé sur ce serveur, ce qui peut être plus tard si FoxSDR attend son prochain lancement pour l'envoyer. Refusé d'emblée s'il prétend être à plus de quelques minutes dans le futur, ou plus ancien que la fenêtre de conservation d'un an ci-dessous. |
| Durée de session | 42 minutes | La durée de la session, jusqu'à une journée. |
| Fonctions utilisées | spectrum, adsb | Lesquelles des zones du tableau de tuiles de votre page de testeur vous avez réellement utilisées pendant cette session — uniquement des identifiants que ce site publie déjà ; tout le reste est purement et simplement refusé. |
| Plugins utilisés, leur version et leur durée d'utilisation | adsb-decoder 1.8.0, 30 min | Quelles entrées et versions du catalogue de plugins sont réellement utilisées. Un plugin installé depuis un site de plugins que vous avez ajouté (depuis FoxSDR 0.99.74) est signalé par son identifiant et sa version comme tout autre plugin installé ; l'adresse du site n'est pas signalée. |
| Radios utilisées | rtlsdr | Quels types de pilotes, sans numéros de série ni aucun autre détail identifiant. |
- Ce qui est conservé est votre identifiant de testeur (jamais votre code ni votre adresse), l'heure d'acceptation du rapport, le début de session indiqué ci-dessus, la version, la plateforme, la durée de session, ainsi que les fonctionnalités, plugins et radios mentionnés ci-dessus — une ligne par session acceptée, conservée jusqu'à un an puis supprimée automatiquement, comptée à partir du moment où la session a réellement commencé, et non de celui où le rapport est arrivé sur ce serveur.
- Ce qui est montré publiquement est un nombre, jamais un nom. La fiche d'un plugin sur la page d'accueil gagne une petite mention « testé par N testeurs bêta » dès que sa version actuelle publiée a été utilisée par au moins deux testeurs distincts pendant au moins dix minutes cumulées — en dessous, rien n'est affiché, et aucune page ne dit qui sont ces testeurs. Les chiffres sur votre propre page testeur et dans le tableau de bord d'administration sont les mêmes données, vues plus en détail ; les testeurs ne sont jamais nommés les uns aux autres.
- Votre adresse IP est utilisée uniquement pour limiter le débit d'envoi à un niveau raisonnable, et elle n'est jamais écrite sur le disque.
- Comment l'arrêter : effacez le code testeur des réglages de FoxSDR, et plus rien n'est envoyé. Il n'est pas nécessaire de quitter le programme bêta pour cela.
- Quitter le programme l'efface. Supprimer votre fiche, depuis votre page testeur ou en nous le demandant, efface tous les rapports de session déjà enregistrés pour vous ainsi que le reste de votre fiche — le même effacement que décrit le reste de cette section, appliqué également à ces données.
- La base légale est le même consentement que celui qui couvre le reste de votre fiche testeur : saisir le code est une action que vous effectuez, et rien n'est envoyé sans elle.
Si vous vous inscrivez aux nouvelles par e-mail
La page des nouvelles ne demande qu'une chose : votre adresse e-mail. Elle est conservée pour que nous puissions vous écrire quand une nouvelle version de FoxSDR sort, et de temps en temps au sujet de ce qui est en préparation. Elle ne sert à rien d'autre et n'est jamais transmise à qui que ce soit.
- Rien ne se passe tant que vous n'avez pas confirmé. L'inscription envoie un seul e-mail avec un code à six chiffres à saisir dans la page. Tant qu'il n'a pas été saisi, rien d'autre n'est envoyé, et une adresse non confirmée dans la semaine est supprimée - par du code qui s'exécute chaque jour sur le serveur. Si quelqu'un d'autre a saisi votre adresse, ignorez cet e-mail.
- Chaque e-mail contient un lien qui vous retire de la liste en un clic. Partir supprime l'adresse du fichier du serveur, avec les copies que nous avions gardées de ce qui lui a été envoyé ; rien n'en est conservé.
- C'est une liste à part. Un abonné aux nouvelles n'est pas un bêta-testeur : l'adresse est conservée dans un fichier séparé, lisible uniquement par le compte qui fait tourner le serveur, et n'est ni comptée ni affichée comme testeur. Si vous êtes aussi testeur, vous recevez chaque message une seule fois.
- Nous conservons une copie de ce que nous vous avons envoyé, classée sous un identifiant interne plutôt que sous votre adresse, sans le code de confirmation ni le lien de désabonnement, exactement comme pour les testeurs.
- Cet e-mail passe par Apple, comme décrit plus haut pour les testeurs.
- Le journal de mesure d'audience enregistre qu'une inscription a eu lieu, jamais par qui.
- La base légale est votre consentement, donné en cochant la case ; le formulaire ne s'envoie pas sans lui.
Cookies
| Cookie | Finalité | Durée |
|---|---|---|
fox_consent | Mémorise si vous avez accepté ou refusé, pour qu'on ne vous le demande qu'une fois | 1 an (acceptés) / 6 mois (refusés) |
fox_vid | Un identifiant aléatoire pour qu'une visite ultérieure soit reconnue comme venant du même navigateur. Déposé uniquement si vous acceptez. | 400 jours |
fox_sid | Regroupe une visite continue en une session. Déposé uniquement si vous acceptez. | 30 minutes d'inactivité |
fox_beta | Conserve votre lien de bêta-testeur pour que vous puissiez revenir à votre propre inscription. Déposé uniquement si vous vous inscrivez comme testeur, et seulement parce que c'est ce que vous avez demandé — il ne mesure rien, il ne fait donc pas partie du choix de mesure d'audience ci-dessus. Vous retirer de la liste l'efface. | 400 jours |
foxsdr_lang | Mémorise la langue que vous avez choisie pour ce site, afin que la page suivante s'affiche aussi dans cette langue. Déposé uniquement quand vous choisissez vous-même une langue — avec le sélecteur de langue ou un lien contenant ?lang= — et il ne contient rien d'autre que le code de cette langue, par exemple es. Il ne mesure rien, il ne fait donc pas partie du choix de mesure d'audience ci-dessus. | 1 an |
fox_news_joined | Pas un cookie : un indicateur dans le stockage propre de votre navigateur, jamais envoyé chez nous. Après un téléchargement, le site vous demande si vous souhaitez recevoir les nouvelles par e-mail ; une fois que vous vous êtes inscrit et avez confirmé depuis ce navigateur, il cesse de le demander. Il ne contient rien d'autre que 1, et seulement si vous vous êtes inscrit. | Jusqu'à ce que vous effaciez les données de ce site |
Si vous refusez, aucun cookie d'identification n'est déposé. Les visites sont alors regroupées par une empreinte, renouvelée chaque jour, de votre adresse et de votre navigateur, qui distingue les visiteurs à des fins de comptage et ne permet pas de vous suivre d'un jour à l'autre ni d'un site à l'autre. Vous pouvez changer d'avis en effaçant les cookies de ce site et en rechargeant la page.
Quelle langue vous voyez
Les pages peuvent s'afficher dans d'autres langues que l'anglais. Celle que vous obtenez est décidée sur le serveur pour chaque page demandée, dans cet ordre : une langue que vous avez choisie vous-même (le cookie foxsdr_lang ci-dessus, ou ?lang= dans le lien) ; à défaut, les langues que votre navigateur déclare préférer, via son en-tête Accept-Language ; à défaut, la langue principale du pays d'où vient votre connexion, que Cloudflare, le réseau placé devant ce site, transmet avec la requête sous la forme d'un code pays à deux lettres (CF-IPCountry) ; à défaut, l'anglais. Rien n'est stocké pour faire ce choix : l'en-tête et le code pays sont lus pour cette seule réponse et ne sont pas conservés à cette fin. Ce sont les deux mêmes éléments que le tableau ci-dessus liste déjà comme enregistrés à chaque affichage de page, où le code pays sert lorsque notre propre recherche d'adresse n'a pas de réponse. Les traductions sont faites par machine, et pour cette politique et les licences, c'est le texte anglais qui fait foi.
Pourquoi, et sur quelle base
La finalité est étroite : savoir combien de personnes trouvent ce projet, où elles se trouvent à peu près, sur quoi elles le font tourner, et combien vont jusqu'à le télécharger. C'est ce qui décide si le travail continue et ce qui sera construit ensuite.
Les enregistrements côté serveur sont conservés sur la base de l'intérêt légitime à comprendre et à sécuriser le site. Les détails transmis par le navigateur et les cookies d'identification sont conservés sur la base de votre consentement, c'est pourquoi ils se trouvent derrière le bandeau et pourquoi refuser ne vous coûte rien sur ce site.
Durée de conservation, et qui y a accès
Les enregistrements sont conservés 24 mois puis supprimés. Ils se trouvent dans un fichier sur le serveur, derrière un tableau de bord protégé par mot de passe que seul le mainteneur du projet peut ouvrir. Il n'y a pas d'autres destinataires ni de transfert vers un pays tiers au-delà de la recherche IP déjà décrite.
Deux choses sont conservées moins longtemps. Les rapports de plantage et de blocage sont supprimés 90 jours après la dernière apparition du défaut qu'ils décrivent, et les rapports d'utilisation que traite Cloudflare sont supprimés au bout de trois mois. Chacune de ces durées est appliquée par du code qui s'exécute chaque jour sur le serveur, et non par quelqu'un qui penserait à le faire.
Vos droits
Si vous êtes au Royaume-Uni ou dans l'UE, vous pouvez demander une copie de ce qui est détenu à votre sujet, demander sa rectification ou son effacement, ou vous opposer à sa collecte — y compris pour les enregistrements côté serveur qui ne dépendent pas du consentement. L'identifiant pratique pour retrouver vos enregistrements est votre adresse IP au moment de votre visite ; merci donc de l'indiquer, ainsi que la date approximative de votre visite.
Pour l'application, les commandes se trouvent dans le logiciel lui-même, et il y en a trois :
- SYSTÈME → Rapports d'utilisation arrête le rapport d'utilisation et le battement toutes les cinq minutes, et supprime l'identifiant d'installation. Réactivez-le plus tard et vous obtenez un nouvel identifiant qui ne peut pas être relié à l'ancien.
- SYSTÈME → Diagnostic empêche l'écriture et l'envoi des rapports de plantage et de blocage.
- SYSTÈME → Mises à jour arrête la vérification des mises à jour (dans une copie du Microsoft Store, la question posée au Microsoft Store).
Les rapports ne contiennent rien qui puisse être relié à vous, il n'y a donc rien dont demander l'accès ; si vous souhaitez qu'un identifiant d'installation soit retiré des rapports déjà envoyés, écrivez à l'adresse ci-dessous en le citant, et il sera supprimé.
Enfants. FoxSDR est un instrument technique destiné aux amateurs de radio. Il ne s'adresse pas aux enfants, il ne collecte aucune information personnelle auprès de qui que ce soit, et il n'en collecte donc aucune auprès d'enfants.
Écrivez à [email protected]. Vous pouvez aussi déposer une plainte auprès de l'Information Commissioner's Office (ico.org.uk) si vous estimez que cela a été mal géré.
Dernière mise à jour le 28 septembre 2026, pour FoxSDR 0.99.42 — la build que ce site propose actuellement, et celle dans le code source de laquelle chaque affirmation ci-dessus a été vérifiée. FoxSDR est publié par Steven Fox ; écrivez à l'adresse ci-dessus pour toute question sur cette politique ou pour faire supprimer un identifiant d'installation des rapports déjà envoyés. Si cette politique cesse un jour de correspondre à ce que fait le logiciel, c'est le logiciel qui a tort — la collecte du site web est implémentée dans store.go et app.js, tous deux lisibles dans le code source du site, et la liste propre à l'application est livrée avec elle sous le nom PRIVACY.md, avec un test qui aligne le contenu envoyé sur elle.