Confidentialité
Aucune télémétrie, aucune analyse, aucun serveur — et les quatre cas qui lisent hors de notre propre conteneur.
Il n'y a ni télémétrie, ni SDK d'analyse, ni serveur qui nous appartienne.
Chaque requête réseau va directement vers l'éditeur de l'app en cours de
vérification — ou vers api.github.com, formulae.brew.sh et
xcodereleases.com (l'index communautaire à partir duquel les versions de
Xcode sont lues) — et ne transporte rien vous concernant au-delà de ce dont
la requête a besoin : le numéro de version de l'app elle-même, pour que le
flux d'un éditeur puisse répondre pour le bon canal.
Quatre choses méritent d'être mentionnées explicitement, parce qu'elles impliquent une lecture hors de notre propre conteneur.
CleanShot X. S'il est installé, son activationKey est lue dans ses
préférences et utilisée pour demander l'appcast personnalisé qu'utilise le
propre outil de mise à jour de CleanShot. Sans cette clé, le flux de
CleanShot indique le canal d'essai et on vous signalerait des mises à jour
que vous ne pouvez pas installer. La clé n'est envoyée qu'à
legit.maketheweb.io, n'est jamais écrite dans un journal, et est exclue du
cache disque HTTP.
TablePlus. Sa préférence IsReceiveBetaBuild est lue, afin que la
détection s'exécute sur le même canal que celui sur lequel l'app elle-même
est réglée.
GitHub. Pour faire passer la limite de l'API de 60 requêtes par heure à
5 000, un jeton est pris depuis GITHUB_TOKEN / GH_TOKEN, ou à défaut
depuis gh auth token. Il n'est envoyé qu'à api.github.com, et il est
retiré de toute redirection qui quitte cet hôte.
Votre connexion App Store. Chaque fois que les données de TestFlight sont lues, la base de données des comptes système est consultée pour une seule chose : si les types de médias du compte App Store actif incluent l'App Store. Cela détermine si une bêta TestFlight peut vous être proposée en ce moment, et évite au bouton d'actualisation de lancer TestFlight juste pour vous demander de vous connecter. Rien d'autre n'y est lu — ni identifiant Apple, ni nom, ni identifiant — et rien de ce qui y est lu ne quitte le Mac.
Votre connexion Apple Developer (Xcode)
Les bêtas et release candidates de Xcode se téléchargent uniquement depuis le
site développeur d'Apple, derrière votre identifiant Apple. Si vous choisissez
de vous connecter dans Réglages → Xcode, la connexion se fait sur la propre
page d'Apple à l'intérieur de l'app : votre mot de passe et votre code à deux
facteurs vont à Apple, et l'app ne les lit pas. Ce que l'app conserve, c'est
la session qui en résulte — les cookies apple.com qu'Apple a définis — dans
le Trousseau et dans le propre espace de stockage web de l'app, de sorte
qu'un relancement ne vous déconnecte pas. Ils ne sont envoyés qu'à
*.apple.com : pour télécharger Xcode, pour lire la liste des téléchargements
Xcode d'Apple quand vous l'ouvrez ou l'actualisez dans Réglages → Xcode, et
une fois par heure pour demander à Apple si la session tient toujours. Leurs
valeurs ne sont jamais écrites dans un journal ; le journal n'enregistre que
les noms des cookies renvoyés par Apple. Réglages → Xcode → Se déconnecter et
effacer les supprime, ainsi que le cookie d'« appareil de confiance », si bien
que la connexion suivante redemande un code.
Apple met fin à la session de son côté au bout de quelques heures — environ huit dans nos tests. Quand l'app constate qu'elle a pris fin (lors de la vérification horaire, ou quand vous lancez un téléchargement de Xcode), elle charge une fois la page de connexion d'Apple, masquée, dans ce même espace de stockage web. Si Apple reconnaît toujours la connexion de ce Mac, elle renvoie une nouvelle session sans votre mot de passe. Aucune fenêtre n'apparaît et rien n'est saisi ; si Apple demande votre mot de passe, la page est abandonnée après 30 secondes et la ligne Xcode vous demande de vous reconnecter. Cela se produit au plus une fois à chaque fin de session, et vous pouvez désactiver cela sous Réglages → Xcode → Renouveler la session en arrière-plan.
Les identifiants restent dans le Trousseau
Tout ce que vous saisissez vous-même — un jeton GitHub, une licence Alcove, la
session Apple Developer décrite ci-dessus — est stocké dans le Trousseau de
connexion sous la forme AfterFirstUnlockThisDeviceOnly. Non synchronisé avec
iCloud, jamais écrit dans un plist.
Les pages des éditeurs ne laissent pas de cookies derrière elles
Les notes de version qui ne peuvent être affichées que sous la forme de la
propre page web de l'éditeur sont rendues dans une WKWebView avec un espace
de stockage non persistant, si bien que les cookies de l'éditeur ne survivent
pas à un relancement. La seule exception est la connexion Apple Developer —
sa fenêtre et sa page de renouvellement masquée — qui conserve sa session
volontairement, comme décrit plus haut.
Ce site web
Tout ce qui précède concerne l'app. Cette page que vous lisez est une chose séparée, et elle collecte bel et bien quelque chose, ce qui mérite d'être dit clairement plutôt que de vous laisser le déduire du comportement de l'app.
Le site exécute deux scripts, tous deux fournis par Vercel et servis depuis le domaine du site lui-même (first-party).
Vercel Web Analytics compte les pages vues. Selon la propre documentation de Vercel, il enregistre, pour chaque vue : l'heure, l'URL et son modèle de route, le référent, des paramètres de requête filtrés, une localisation approximative (pays, région, ville), le navigateur et le système d'exploitation avec leurs versions, et le type d'appareil.
Vercel Speed Insights mesure la vitesse réelle de chargement de la page
pour vous. Selon la propre documentation de Vercel, chaque mesure transporte :
l'URL et son modèle de route, le Web Vital rapporté et l'élément auquel il a
été attribué (un sélecteur CSS tel que html>body img.header), la classe de
connexion (4g, 3g, …), le navigateur, le type d'appareil et son système
d'exploitation, le pays sous forme de code à deux lettres, la version du
paquet de mesure, et l'heure de réception de l'événement. Notez la
localisation plus restreinte : le pays seulement, là où Analytics descend
jusqu'à la ville.
Ce que ni l'un ni l'autre ne fait : il n'y a aucun cookie tiers. Analytics identifie un visiteur par un hachage dérivé de la requête entrante plutôt que par quelque chose stocké sur votre machine, et abandonne cette identité au bout de 24 heures — il ne peut donc pas vous suivre d'un site à l'autre, ni reconstituer ce que vous avez fait ici il y a une semaine. Speed Insights n'a aucune identité de visiteur du tout ; Vercel indique qu'il ne collecte ni ne stocke rien qui permettrait de reconstituer une session de navigation à travers plusieurs pages, et qu'aucune des deux fonctionnalités ne relie ses données à une adresse IP.
Il n'y a rien d'autre. Aucun réseau publicitaire, aucun enregistrement de session, aucun script tiers d'aucune sorte. Le bouton de téléchargement pointe directement vers GitHub, et les notes de version proviennent d'un fichier du propre dépôt de ce site.
Si vous préférez ne pas être mesuré, n'importe quel bloqueur de contenu supprimera les deux scripts, et le site fonctionne exactement de la même façon sans eux.