Vous pouvez établir qu'une app n'envoie rien sans lire une ligne de son code, en l'observant depuis l'extérieur avec les outils que votre système d'exploitation et votre réseau vous donnent déjà. Le mode avion, la liste des autorisations Android, le Rapport de confidentialité des apps d'iOS, les compteurs d'octets de l'app elle-même et un pare-feu montrent à eux tous chaque connexion qu'une app établit. Ce qu'ils ne peuvent pas vous montrer, c'est ce que le code ferait dans des conditions que vous n'avez pas testées.
Vérification un : le mode avion
Coupez toutes les antennes et utilisez l'app normalement. Si elle continue de répondre à la même vitesse, aucune partie de la réponse ne venait d'un serveur. C'est le test le plus rapide et, pour une app de chat, presque décisif : une app qui a besoin d'un serveur ne peut pas simuler une réponse à pleine vitesse sans lui. Ce qu'il n'exclut pas, c'est une app qui fonctionne hors ligne puis envoie un journal plus tard, et c'est pourquoi il y a quatre vérifications de plus.
Vérification deux : la liste des autorisations Android
Android ne laisse pas une app ouvrir une connexion réseau si elle ne déclare pas android.permission.INTERNET dans son manifeste, et ce manifeste est scellé dans le paquet que vous avez installé. Ouvrez la fiche Play, puis À propos de cette appli, puis Autorisations de l'appli. Si « accès réseau complet » est absent, l'app ne peut pas atteindre le réseau du tout. Ce n'est pas une promesse du développeur, c'est une contrainte imposée par le système d'exploitation, et vous pouvez le confirmer vous-même sur le paquet installé ou sur l'APK :
adb shell dumpsys package com.inbornapp.mobile | grep INTERNET
aapt2 dump permissions inborn.apk
C'est la vérification la plus forte de la liste, parce que c'est la seule qui démontre une impossibilité au lieu de constater une absence.
Vérification trois : le Rapport de confidentialité des apps d'iOS
Réglages, Confidentialité et sécurité, Rapport de confidentialité des apps. iOS enregistre tous les domaines contactés par chaque app au cours des sept derniers jours, et c'est le système d'exploitation qui enregistre, pas l'app. Une app qui parle à un serveur a des lignes ici, qu'elle l'avoue ou non. Une réserve mérite d'être connue : un téléchargement de modèle que vous avez lancé vous-même est une vraie connexion et apparaîtra, et c'est pourquoi une app devrait nommer l'hôte avant d'aller chercher quoi que ce soit.
Vérification quatre : les compteurs de l'app elle-même
Certaines apps exposent les compteurs d'octets par processus du système d'exploitation. Ces compteurs viennent du système et non de la comptabilité de l'app, donc une app ne peut pas afficher zéro tout en envoyant des données. Des octets sortants qui restent à zéro pendant toute la vie d'une installation sont un signal fort. Traitez-les comme un confort plutôt que comme une preuve, puisque c'est toujours l'app qui dessine le chiffre à l'écran.
Vérification cinq : un pare-feu
Placez l'app derrière NetGuard sur Android, Little Snitch ou LuLu sur macOS, ou le pare-feu Windows, et regardez ce qui demande l'autorisation. Ne rien voir apparaître au fil de plusieurs jours d'utilisation, c'est ce qui se rapproche le plus d'une surveillance continue pour un utilisateur normal. C'est aussi la seule vérification de cette liste qui continue de fonctionner après une mise à jour.
Ce que rien de tout cela ne prouve
Trois choses. Cela ne prouve pas qu'une version compilée vient d'un arbre de sources donné, ce qui demanderait une compilation que n'importe qui peut refaire octet pour octet, et très peu d'applications en ont une. Cela ne prouve pas que le code fait ce qu'il a l'air de faire, ce qui demanderait les sources. Et cela ne prouve pas qu'un tiers indépendant a regardé, ce qui demanderait un audit commandé. Quiconque vous dit qu'une promesse de confidentialité est « vérifiée » devrait pouvoir dire de laquelle de ces trois choses il parle. Les résultats de ces vérifications appliquées aux autres apps d'IA sur l'appareil sont réunis dans un seul tableau.
La position d'Inborn sur ces trois points est écrite noir sur blanc plutôt que sous-entendue : le code source est public pour être lu et compilé, mais pas redistribué, personne à l'extérieur ne peut recompiler notre binaire à partir de lui octet pour octet, et aucun audit n'a été commandé. Ce qui est vrai, c'est tout ce que contiennent les vérifications un à cinq, et vous pouvez toutes les faire cet après-midi. La liste complète, avec le compte rendu intégral des cas où un octet peut quitter une installation d'Inborn, est sur la page Preuve.
À lire ensuitePourquoi l'IA devrait tourner sur votre appareil · Comment choisir un modèle d'IA local