ETOS LLM Studio suit une philosophie de conception « Local-first ». La plupart des données principales restent sur votre appareil et sous votre contrôle.
Nous ne stockons pas automatiquement le contenu de vos chats, vos enregistrements vocaux, vos pièces jointes d’image ni vos clés API sur des serveurs contrôlés par le développeur. En revanche, l’application stocke localement les chats, la configuration, la mémoire et les journaux de requêtes pour fournir la synchronisation, les statistiques, Daily Pulse, le récapitulatif annuel et des fonctions similaires.
2. Stockage local et traitement sur l’appareil
Données de chat et de session : historique des chats, paramètres de session, références de pièces jointes, worldbooks, données mémoire, données Daily Pulse, historique de feedback et paramètres de l’app sont stockés dans le sandbox de l’application.
Configuration fournisseur API et clés API : la configuration fournisseur (comme les listes de modèles, les en-têtes personnalisés et les réglages proxy) et les clés API sont stockées dans une base locale SQLite. Si une ancienne version a écrit des clés dans le Keychain, la migration fusionne puis nettoie ce stockage hérité.
Journaux locaux de requêtes et de réponses : l’app peut enregistrer localement les corps HTTP complets des requêtes et des réponses, ainsi que la durée, l’état, l’usage de tokens et d’autres champs de diagnostic. Cette fonction possède son propre interrupteur général et masque le texte des discussions par défaut. Le texte n’est conservé que si vous activez explicitement la journalisation en clair ; les données Base64 des images, de l’audio et des fichiers restent toujours masquées. Ces journaux ne sont jamais téléversés automatiquement.
Cache des tickets de feedback : si vous utilisez l’assistant de feedback, l’app stocke localement les numéros de ticket, tokens de ticket, statut, date de mise à jour et URL publique pour suivre l’avancement.
Linux local : le RootFS AArch64 optionnel intégré, les espaces de travail, journaux de tâches et diagnostics restent dans le sandbox de l’app. Les variables d’environnement sont stockées dans la base SQLite compatible avec le chiffrement et injectées uniquement au démarrage du processus Linux choisi ; elles ne sont pas ajoutées automatiquement au prompt du modèle.
3. Requêtes IA, audio et images
Chat texte : vos messages sont envoyés directement aux fournisseurs d’IA tiers que vous configurez vous-même (OpenAI, Anthropic, Google, services compatibles OpenAI ou modèles auto-hébergés). Nous ne relayons ni ne stockons ce contenu sur des serveurs du développeur.
Voix et audio : l’accès au micro est utilisé uniquement lorsque vous enregistrez ou déclenchez la saisie vocale. L’audio est envoyé uniquement au fournisseur du modèle actuel ou au service de voix/transcription que vous choisissez.
Images et fichiers : l’app n’accède aux images et fichiers que lorsque vous les sélectionnez. Les pièces jointes sont envoyées à votre fournisseur de modèle actuel ou à un endpoint local de débogage que vous connectez volontairement.
Browser Agent et MCP local : les requêtes de Browser Agent vont directement aux sites ouverts dans une vue WebKit appartenant à l’app. Un serveur MCP stdio local s’exécute dans Linux local. Les dossiers externes ne sont exposés à Linux qu’après votre sélection et autorisation, et les cookies du navigateur ne sont pas montés dans Linux.
4. Synchronisation, réseau local et services Apple
Synchronisation iPhone / Apple Watch : la synchronisation en temps réel entre iPhone et Apple Watch utilise WatchConnectivity et ne passe pas par des serveurs opérés par le développeur.
Synchronisation iCloud : si vous activez explicitement iCloud, les données sélectionnées peuvent se synchroniser entre vos appareils via iCloud / CloudKit d’Apple, y compris la configuration fournisseur pouvant contenir des clés API.
Réseau local et débogage : l’autorisation réseau local est utilisée uniquement pour les fonctions optionnelles de débogage LAN / accès distant aux fichiers. Si vous connectez votre propre outil de débogage de bureau, certains fichiers de l’app ou le trafic de requêtes peuvent être envoyés vers un endpoint local que vous contrôlez.
5. Assistant de feedback
Les données sont envoyées au service de feedback uniquement lorsque vous choisissez activement d’envoyer un feedback.
Contenu saisi par l’utilisateur : type de feedback, titre, description détaillée, étapes de reproduction, comportement attendu, comportement observé et contexte supplémentaire.
Instantané d’environnement : plateforme, version de l’app, numéro de build, version du système, identifiant du modèle d’appareil, langue/région et fuseau horaire.
Diagnostic minimal : horodatage, nombre de fournisseurs, nombre de sessions non temporaires, plateforme et version de l’app.
Vérification anti-abus : les requêtes de feedback incluent aussi challenge, horodatage, signature et champs liés au PoW afin de limiter le spam.
Actualisation d’état : lorsque vous actualisez ensuite l’état d’un ticket, l’app utilise le numéro de ticket et le token stockés localement pour interroger le service de feedback.
Avant l’envoi, le texte du feedback passe par un masquage de base qui tente de cacher les tokens Bearer courants, les libellés de clé API et quelques formats de secrets fréquents. Cela n’est pas un système complet de prévention des fuites de données. N’incluez pas de secrets, pièces d’identité, adresses, données de santé ni autres informations sensibles dans vos retours.
6. Télémétrie des performances et diagnostics
« Aider à améliorer les performances d’ETOS LLM Studio » est activé par défaut et peut être désactivé dans Réglages > À propos. Ce réglage est indépendant des journaux locaux de requêtes. Sa désactivation arrête la collecte et efface la télémétrie non envoyée.
Données envoyées : mesures agrégées de processeur, mémoire, lancement, blocage, disque et réseau, ainsi que les piles d’appels de diagnostic anonymes fournies par Apple MetricKit ; durée des étapes fixes de lancement, base de données, requêtes, traitement streaming et Markdown via MXSignpost ; version et Build de l’app, canal de distribution, version d’iOS, classe du modèle d’appareil, architecture et heure du rapport.
Données non envoyées : contenu des discussions, corps de requête ou de réponse, clés API, identifiants, adresses de serveur configurées, ID de session, ID persistant d’appareil, ID publicitaire ou autre identifiant utilisateur.
Moment et conservation locale : MetricKit fournit les rapports selon le calendrier du système. L’app tente uniquement d’envoyer les données écrites lors d’un lancement précédent et supprime immédiatement chaque fichier local après confirmation individuelle du serveur. Les fichiers en attente sont conservés au maximum 14 jours et 20 MiB au total, avec priorité aux piles de diagnostic.
Serveur et archive : le service de réception conserve temporairement les données par date UTC, avec des limites de 30 jours et 2 GiB. Le développeur peut les transférer vers un Mac contrôlé pour une analyse à long terme et les supprimer manuellement lorsqu’elles ne sont plus nécessaires. L’adresse IP source peut servir brièvement à une limitation en mémoire, mais n’est pas écrite dans les fichiers de télémétrie ni utilisée comme identifiant persistant.
Visibilité et finalité : vous pouvez consulter le contenu exact dans Journaux de l’app > Télémétrie des performances. Les adresses de diagnostic nécessitent le dSYM de la build Xcode Cloud correspondante. Les données servent uniquement à identifier les problèmes de batterie, chauffe, blocage, lancement, mémoire, disque et réseau — jamais à la publicité, au profilage ou à l’entraînement de modèles de chat.
7. Services tiers, analytique et limites côté serveur
Fournisseurs d’IA tiers : traitent les requêtes de chat, image et audio que vous envoyez volontairement.
Services système Apple : comme WatchConnectivity et iCloud / CloudKit, sont régis par les politiques d’Apple.
Service de feedback opéré par le développeur : utilisé uniquement lorsque vous soumettez ou consultez des tickets de feedback.
Service de télémétrie opéré par le développeur : reçoit automatiquement les données sans contenu décrites à la section 6 lorsque la télémétrie est activée.
Non téléversé automatiquement : contenu des chats, mémoire locale, journaux locaux de requêtes et de réponses, données du récapitulatif annuel et clés API ne sont pas téléversés automatiquement vers les serveurs du développeur.
Publicité et SDK d’analytique générique : hormis la télémétrie MetricKit de la section 6, le code n’inclut aucun SDK publicitaire tiers ni SDK générique d’analyse comportementale.
Partage d’analyses Apple : si vous activez le partage d’analyses avec les développeurs au niveau système, Apple peut collecter des logs de crash anonymes ou des informations de diagnostic selon ses propres règles.
8. Clause de non-responsabilité
Outil neutre : cette app est un client LLM généraliste. Elle peut préremplir certains endpoints ou adresses de feedback, mais n’intègre pas d’identifiants commerciaux prêts à l’emploi.
Responsabilité du contenu : tout contenu généré par IA provient de services tiers que vous configurez vous-même. Nous ne pouvons pas garantir son exactitude, sa légalité ni sa pertinence.
Choix des services : tout service API, capacité de synchronisation ou service de feedback que vous utilisez doit être évalué par vous selon sa propre politique de confidentialité, ses conditions, ses coûts et ses risques.
9. Contact
Si vous avez des questions sur cette politique de confidentialité, veuillez nous contacter :