Transparence — « 0 appel maison »
Glass Engine · Dernière mise à jour : 10 juillet 2026
Last updated: July 10, 2026
Appels maison : 0
Français
Rclone GUI est conçu pour ne jamais téléphoner à la maison : l'application ne contacte aucun serveur que nous contrôlons. Cette page explique exactement ce que l'app contacte, et comment vous pouvez le prouver vous-même — sans nous faire confiance sur parole. C'est le rôle du Glass Engine.
1. Le moniteur « 0 appel maison » dans l'app
Réglages → Transparence ouvre un écran qui, en direct :
- affiche un compteur « Appels maison : 0 » ;
- liste l'allowlist complète des destinations que l'app est conçue pour contacter, par catégorie ;
- liste vos remotes rclone (lus depuis votre config) — les seuls hôtes que le moteur rclone contactera ;
- tient un journal live des appels réseau émis par l'app, exportable, où tout appel qui ne serait ni un remote à vous, ni Apple, ni l'appareil s'afficherait en rouge.
2. Tout ce que l'app contacte (et rien d'autre)
| Destination | Pourquoi | Catégorie |
|---|---|---|
| Vos services cloud (S3, Google Drive, B2, SFTP…) | Le cœur de l'app : lister/transférer vos fichiers, via rclone, en HTTPS (ATS activé) | Vos remotes |
Endpoints OAuth des fournisseurs (accounts.google.com, login.microsoftonline.com, api.dropboxapi.com…) | Connexion à vos comptes lors de l'ajout d'un remote — en direct, PKCE, session web éphémère, sans intermédiaire | Fournisseurs |
Apple (apps.apple.com, StoreKit, iCloud KVS) | Abonnement, codes promo Apple, ancre d'essai iCloud | Apple |
127.0.0.1 (loopback) | Pont rclone local pour lire/télécharger vos fichiers — ne quitte jamais l'appareil | Sur l'appareil |
Ce qui n'existe pas :
- Aucun SDK d'analytics, de crash-reporting ou de publicité (ni Firebase, ni Sentry, ni Crashlytics, ni Mixpanel…).
- Aucune notification push distante : l'app n'appelle pas
registerForRemoteNotifications, il n'y a ni APNs ni device token (les rappels de synchro photo sont des notifications locales). - Aucun serveur dorsal : l'essai (Trousseau + iCloud KVS), l'abonnement (StoreKit) et la config restent sur l'appareil / iCloud / Apple. Il n'y a pas de serveur de licence.
rclone.rougetet.comn'est jamais appelé par l'app : il n'est ouvert dans Safari que si vous tapez un lien.
3. Le vérifier vous-même — au proxy
Faites passer l'app par un proxy HTTPS d'inspection (mitmproxy, Charles, Proxyman) et observez le trafic. Vous ne verrez que : vos remotes, les endpoints OAuth des fournisseurs que vous connectez, Apple, et le loopback. Aucun rougetet.com, aucun *.vercel.app, aucun supabase, aucun domaine d'analytics.
Honnêteté sur la couche native : le moteur rclone (Go) fait son propre réseau vers vos remotes, hors du moniteur URLSession de l'app. Nous le déclarons depuis votre config plutôt que de le simuler — et il est vérifiable indépendamment par la méthode proxy ci-dessus.
4. Le vérifier vous-même — build reproductible
Le seul binaire non-Swift de l'app est le framework natif rclone (RcloneKit.xcframework), construit depuis les sources rclone via gomobile. Il est reproductible et vérifiable :
# 1. Cloner le dépôt public
git clone https://github.com/VitalysRDT/rclone-gui-ios
cd rclone-gui-ios
# 2. Reconstruire le framework natif (rclone v1.74.3 + gomobile épinglés,
# -trimpath, -ldflags=-buildid=, SOURCE_DATE_EPOCH)
./scripts/build-rclone.sh
# 3. Comparer aux empreintes committées + scanner le code (0 appel maison)
./scripts/verify-reproducible.sh
Le manifeste Frameworks/RcloneKit.xcframework.sha256 fige le SHA-256 de chaque tranche livrée (device iOS + macOS). La garde scripts/verify-no-phone-home.sh échoue si un SDK de tracking ou un endpoint maison apparaît dans le code — elle tourne aussi en CI sur chaque commit. Toolchain de référence : Xcode 27.0, Go 1.26, rclone v1.74.3.
Note : gomobile n'est pas garanti bit-à-bit sur toutes les machines ; les empreintes canoniques proviennent du build du mainteneur, et les drapeaux déterministes minimisent tout écart résiduel.
5. Code source
Tout le code de Rclone GUI est public : github.com/VitalysRDT/rclone-gui-ios. Voir aussi la politique de confidentialité.
English
Rclone GUI is built to never phone home: the app contacts no server we control. This page states exactly what the app talks to, and how you can prove it yourself — without taking our word for it. That is the job of the Glass Engine.
1. The in-app "zero phone-home" monitor
Settings → Transparency opens a live screen that shows a "Home calls: 0" counter, the full allowlist of destinations the app is designed to reach, your own rclone remotes (the only hosts the rclone engine will contact), and a live, exportable log of the app's network calls — where anything that is neither your remote, nor Apple, nor the device itself would light up red.
2. Everything the app contacts (and nothing else)
| Destination | Why | Category |
|---|---|---|
| Your cloud services (S3, Google Drive, B2, SFTP…) | The whole point: list/transfer your files, via rclone, over HTTPS (ATS on) | Your remotes |
Providers' OAuth endpoints (accounts.google.com, login.microsoftonline.com, api.dropboxapi.com…) | Signing in to your accounts when adding a remote — directly, PKCE, ephemeral web session, no broker | Providers |
Apple (apps.apple.com, StoreKit, iCloud KVS) | Subscription, Apple promo codes, iCloud trial anchor | Apple |
127.0.0.1 (loopback) | On-device rclone bridge to read/download your files — never leaves the device | On-device |
What does not exist:
- No analytics, crash-reporting, or ad SDK (no Firebase, Sentry, Crashlytics, Mixpanel…).
- No remote push: the app never calls
registerForRemoteNotifications, there is no APNs and no device token (photo-sync reminders are local notifications). - No backend: the trial (Keychain + iCloud KVS), the subscription (StoreKit) and the config stay on device / iCloud / Apple. There is no license server.
rclone.rougetet.comis never called by the app: it only opens in Safari if you tap a link.
3. Verify it yourself — with a proxy
Route the app through an inspecting HTTPS proxy (mitmproxy, Charles, Proxyman) and watch. You will see only: your remotes, the OAuth endpoints of the providers you connect, Apple, and loopback. No rougetet.com, no *.vercel.app, no supabase, no analytics domain.
Honesty about the native layer: the rclone engine (Go) does its own networking to your remotes, outside the app's URLSession monitor. We declare it from your config rather than fake it — and it is independently verifiable via the proxy method above.
4. Verify it yourself — reproducible build
The app's only non-Swift binary is the native rclone framework (RcloneKit.xcframework), built from rclone sources via gomobile. It is reproducible and verifiable:
# 1. Clone the public repo
git clone https://github.com/VitalysRDT/rclone-gui-ios
cd rclone-gui-ios
# 2. Rebuild the native framework (pinned rclone v1.74.3 + gomobile,
# -trimpath, -ldflags=-buildid=, SOURCE_DATE_EPOCH)
./scripts/build-rclone.sh
# 3. Compare to the committed hashes + scan the source (zero phone-home)
./scripts/verify-reproducible.sh
The Frameworks/RcloneKit.xcframework.sha256 manifest pins the SHA-256 of each shipped slice (iOS device + macOS). The scripts/verify-no-phone-home.sh guard fails if a tracking SDK or a home endpoint appears in the source — it also runs in CI on every commit. Reference toolchain: Xcode 27.0, Go 1.26, rclone v1.74.3.
Note: gomobile is not guaranteed bit-for-bit across all machines; the canonical hashes come from the maintainer's build, and the deterministic flags minimize any residual drift.
5. Source code
All of Rclone GUI's code is public: github.com/VitalysRDT/rclone-gui-ios. See also the privacy policy.