TL;DR. L'“étiquette nutritionnelle” de confidentialité d'Apple est la seule surface de divulgation de confidentialité dans la tech dotée d'une application structurelle. La plupart des apps déclarent une collecte de données étendue liée à l'identité de l'utilisateur. L'étiquette de l'app iOS Ostler déclare zéro suivi et aucune donnée liée, car il n'existe aucun serveur Ostler auquel lier des données. C'est l'architecture qui écrit l'étiquette, pas l'avocat.
La plupart des gens ne lisent pas les politiques de confidentialité. Personne ne le fait. Une étude de 2008 à Carnegie Mellon a révélé que lire chaque politique rencontrée en une année prendrait soixante-seize jours ouvrés, et les politiques se sont allongées depuis. Le résultat est un marché où les promesses sur le traitement des données ne coûtent rien à faire et coûtent rarement quoi que ce soit à rompre.
Il y a exactement un endroit où cela a changé. Depuis décembre 2020, chaque app de l'App Store iOS est livrée avec un formulaire de divulgation structuré qu'Apple appelle l'étiquette nutritionnelle de confidentialité. Elle figure sur la page produit de l'app, au-dessus des captures d'écran. Les utilisateurs la parcourent. Les journalistes en font des captures. Apple l'applique. Les apps qui mentent sur le formulaire sont retirées du store, et Apple les a retirées.
C'est, et de loin, la surface de divulgation de confidentialité la plus digne de confiance dans la technologie grand public. Et contrairement à une politique de confidentialité, elle ne laisse pas au développeur la place d'être éloquent. C'est un formulaire. Vous cochez des cases.
Ce que le formulaire demande réellement
L'étiquette organise chaque élément de données qu'une app touche dans l'une de trois catégories, par ordre décroissant de préoccupation.
Données utilisées pour vous suivre. Le suivi, dans la définition d'Apple, signifie lier les données collectées par cette app avec des données collectées par d'autres entreprises, à des fins publicitaires ou de mesure. Cela signifie aussi envoyer des données à un courtier en données. Si une app déclare quoi que ce soit ici, Apple présente à l'utilisateur une invite au premier lancement de l'app, demandant l'autorisation. La plupart des utilisateurs disent non, ce qui explique pourquoi la catégorie existe.
Données qui vous sont liées. Les données que l'app collecte et qui sont rattachées à votre identité via un compte, un identifiant d'appareil ou un handle similaire. Les données ne sont ni vendues ni croisées, mais le développeur les détient et pourrait, en principe, les rechercher par utilisateur.
Données qui ne vous sont pas liées. Les données que l'app touche pour fonctionner, mais qu'elle n'associe jamais à un identifiant d'utilisateur persistant. Le cas classique est une app de cartes qui sait où vous êtes en ce moment pour dessiner une carte, mais qui n'enregistre pas cet emplacement rattaché à un compte.
Données non collectées. Cela va de soi.
Les catégories sont en cascade. Une app qui rapporte “Données non collectées” sur toute la ligne est la créature la plus rare du store, surtout des calculatrices et des jeux hors ligne. Une app qui rapporte tout comme “Liées à vous” est la norme du cloud. Presque chaque app grand public se situe quelque part entre les deux, et la seule colonne qui détermine le signal social de l'étiquette est la première : si l'app vous suit.
Ce que dit l'étiquette de l'app iOS Ostler
Voici ce que le manifeste PrivacyInfo.xcprivacy de l'app iOS Ostler déclare, ligne par ligne. Le manifeste est la source de vérité à partir de laquelle l'étiquette nutritionnelle d'Apple est générée au moment de la soumission ; mentir sur l'étiquette alors que le manifeste raconte une autre histoire est détecté automatiquement.
| Catégorie Apple | Réponse de l'app iOS Ostler |
|---|---|
| Données utilisées pour vous suivre | Rien. L'app déclare NSPrivacyTracking: false. |
| Données qui vous sont liées | Rien. Il n'existe aucun système de compte auquel lier des données. |
| Données qui ne vous sont pas liées | Cinq entrées : Santé, Forme, Position précise, Photos ou vidéos, Autre contenu utilisateur. |
| Données non collectées | Tout le reste. |
Les cinq entrées de la colonne “Non liées” sont les types de données que l'app touche pour le compte de l'utilisateur, sur l'appareil de l'utilisateur. Santé et Forme signifient que l'app peut lire depuis Apple Health pour enrichir la chronologie de l'utilisateur. Position précise signifie que l'app consigne où l'utilisateur a été, sur le propre Mac de l'utilisateur. Photos signifie que l'app lit la date de création et les métadonnées de localisation, jamais les images elles-mêmes. Autre contenu utilisateur couvre les transcriptions et extraits de conversation que l'utilisateur a choisi de capturer.
Chacune de ces entrées est marquée “Fonctionnalité de l'app” comme finalité, ce qui est l'usage le plus restreint autorisé par Apple. Aucune d'elles n'est marquée comme Liée. Aucune d'elles n'est marquée comme Suivi. Nous avons aussi vérifié le code pour chaque SDK de suivi de la liste standard du secteur : Firebase, Sentry, Mixpanel, Amplitude, Segment, PostHog, AppsFlyer, Adjust, Google Analytics, Crashlytics, Bugsnag, Datadog. Aucun n'est présent. Nous avons cherché tout code qui demanderait à iOS un identifiant publicitaire, ou qui déclencherait l'invite “Autoriser cette app à suivre votre activité” que la plupart des apps affichent au premier lancement. Rien de tout cela n'est présent. Cette invite n'apparaîtra jamais car il n'y a rien dans l'app qui la déclencherait.
Pourquoi c'est automatique, pas vertueux
La tentation, en lisant le tableau ci-dessus, est de supposer une discipline inhabituelle du côté de l'ingénierie, une équipe tenant la ligne contre les SDK de suivi par pure volonté. Il n'y a pas de telle discipline. L'étiquette ressemble à cela parce que l'architecture rend toute autre étiquette impossible.
Ostler repose sur une seule règle. Le Hub, une app macOS en achat unique, vit sur le propre Mac du client. L'app iOS parle au Hub sur le réseau domestique du client. Les données personnelles ne quittent jamais l'appareil du client. Le modèle de raisonnement, un LLM local, s'exécute sur le Hub. Le graphe de connaissances personnel, qui atteint des millions de relations et des centaines de milliers de références intégrées pour un utilisateur actif, vit sur le disque du Hub. L'aller-retour cloud que prennent les autres produits d'IA personnelle pour l'inférence ne se produit tout simplement pas.
Ce seul choix architectural écrit l'intégralité de l'étiquette nutritionnelle. Sans serveur Ostler, il n'y a rien vers quoi l'app iOS puisse téléphoner à la maison. Sans compte Ostler, il n'y a aucune identité à laquelle lier des données. Sans SDK tiers dans le bundle, il n'y a aucune surface par laquelle un courtier en données pourrait être introduit plus tard sans que cela soit remarqué lors d'une revue de code. La colonne “Non liées à vous” se lit comme elle le fait parce qu'il n'y a aucun “vous” dans la base de données d'Ostler en premier lieu. Le Hub d'un client est le Hub d'un client, et nous n'y avons aucune vue.
Pourquoi les autres apps ne peuvent pas suivre
Le coût structurel du changement d'une étiquette nutritionnelle est la partie dont on ne discute pas. La plupart des apps grand public dans l'espace de l'IA personnelle sont cloud-first par nécessité. Le modèle s'exécute sur les GPU du développeur parce que le modèle est trop grand pour tenir sur le téléphone de l'utilisateur. Pour faire tourner le modèle sur les GPU du développeur, les données de l'utilisateur doivent atteindre les GPU du développeur. Pour rendre l'expérience cohérente entre les sessions et les appareils, les données doivent être liées à un compte. Pour payer les GPU, le développeur doit savoir quel compte a utilisé combien. Chacune de ces décisions écrit une ligne de plus dans “Données liées à vous”, et l'architecture ne peut être défaite sans réécrire le produit depuis les prises murales.
Une politique de confidentialité peut être réécrite en un après-midi. Une étiquette nutritionnelle est une fonction du binaire. Quand Apple bascule l'interrupteur qui exige une vraie étiquette, l'étiquette dit la vérité sur le code, que le développeur le veuille ou non.
Ostler a fait le pas en construisant local-first dès le premier jour. Huit mois d'engagement architectural, deux brevets provisoires déposés sur le pipeline, et une forme de déploiement conçue autour de la propre machine du client. La récompense est une étiquette nutritionnelle qui n'a besoin d'aucun paragraphe restrictif en dessous. The world does revolve around you.™ Le formulaire de l'App Store le dit dans les mots d'Apple, pas les nôtres.
C'est l'architecture qui écrit l'étiquette. Pas l'avocat.
Questions, corrections, désaccords – [email protected].