Skip to content

User fr Privacy Profiles Sync

Florian DITTGEN edited this page Jun 1, 2026 · 3 revisions

Confidentialité, profils et synchronisation

Confidentialité par défaut

Tableau de bord Confidentialité — vos données vous appartiennent : voir, exporter ou supprimer tout ce que l'app stocke

Sparkilo est privacy-first. Concrètement :

  • Pas de Google Play Services. Pas de Firebase. Pas de Google Analytics.
  • Pas de SDK de pistage tiers. Vérifiez pubspec.yaml dans le code source — zéro dépendance d'analyse.
  • Aucun compte requis. L'application fonctionne entièrement sans inscription.
  • Pas de collecte de données. Rien ne quitte votre téléphone tant que vous n'activez pas explicitement la synchronisation ou que vous ne touchez pas « Signaler un problème ».
  • Consentement RGPD au premier lancement. Un écran dédié explique chaque permission avant que l'application ne poursuive.
  • Open source. Licence MIT. Vérifiez vous-même la promesse de confidentialité.

Quelles données sont sur votre téléphone

Tout ce qu'utilise l'application est stocké localement dans des bases Hive chiffrées :

Box Contenu Chiffrée ?
settings Configuration de l'app, pays, langue, unités Oui (AES)
profiles Vos profils de recherche Oui
favorites Stations sauvegardées + leurs données Oui
cache Réponses d'API en cache, itinéraires Oui
priceHistory Enregistrements de prix locaux sur 30 jours Oui
alerts Vos règles d'alerte de prix Oui
obd2Baselines Références de consommation par véhicule Non (non-PII)
obd2TripHistory Journaux de trajets OBD2 + GPS Non (non-PII)

Les clés API (Allemagne, OpenChargeMap, Supabase) sont stockées dans l'Android Keystore (à base matérielle) sur Android ou dans le Keychain iOS, pas dans Hive.

Permissions expliquées

Permission Pourquoi Puis-je refuser ?
Localisation (pendant l'utilisation) Recherche à proximité, début d'itinéraire, enregistrement de trajet Oui — utilisez un code postal à la place
Bluetooth Scan + Connect Appairage d'adaptateur OBD2 Oui — l'OBD2 est optionnel
Notifications Alertes de prix Oui — les alertes ne se déclencheront pas
Appareil photo Scan OCR de l'afficheur de pompe Oui — saisissez manuellement
Internet Appels API pour les prix Requis

L'application ne demande jamais la localisation en arrière-plan.

Profils

Un profil est un ensemble de préférences : pays, type de carburant par défaut, rayon, écran d'arrivée, unités, équipements préférés, véhicule, rayon d'approche. Utilisez les profils si vous changez souvent de contexte :

  • « Maison » — Allemagne, E10, rayon 10 km, favoris comme écran d'arrivée
  • « Trajet domicile-travail » — France, Diesel, rayon 25 km, le moins cher comme écran d'arrivée
  • « Vacances » — Espagne, E10, carte en écran d'arrivée, filtre Apple Pay activé

Changez de profil depuis Paramètres → Profils ou via la pastille de profil en haut à droite.

Vous avez toujours au moins un profil — l'application en crée un par défaut au premier lancement.

Les profils portent également les préférences d'overlay d'approche (rayon en km + la plus proche vs la moins chère dans le rayon). Voir Consommation et OBD2 → Overlay d'approche.

Tableau de bord de confidentialité

Paramètres → Tableau de bord de confidentialité est le seul endroit où vous voyez tout ce que l'application contient à votre sujet, et où vivent les surfaces de diagnostic.

Enregistrer le journal d'erreurs

Le bouton de journal d'erreurs est intitulé Enregistrer (il s'appelait autrefois « Copier »). Lorsqu'on le touche, l'application écrit les traces d'erreur récentes — assainies, sans PII, sans GPS, sans clés API — dans un seul fichier de votre dossier public Downloads via la feuille système de partage / d'enregistrement. De là, vous pouvez l'attacher à une issue GitHub pour signaler un bug.

Un repli sur le presse-papiers est utilisé sur les plateformes où l'enregistrement échoue, pour que l'action ne reste jamais silencieusement sans effet.

Tester l'overlay d'approche

Un bouton intitulé Tester l'overlay d'approche injecte un état synthétique « dans le rayon » pendant 30 secondes. Si un trajet s'enregistre (ou si vous en lancez un), la tuile PiP bascule sur la disposition prix pour cette station de test, vous permet de vérifier qu'elle s'affiche, puis se réinitialise automatiquement.

Utilisez ceci pour confirmer que l'overlay d'approche fonctionne sur votre appareil — pas besoin de passer réellement devant une vraie station pour le tester.

Export du journal d'erreurs vers Downloads

Au-delà du bouton Enregistrer, tous les exports de données (sauvegarde JSON complète, CSV d'historique des prix, GPX de trajets) écrivent désormais dans le dossier public Downloads pour que n'importe quel gestionnaire de fichiers puisse les récupérer. Le snackbar à l'écran confirme l'enregistrement et affiche le nom du fichier.

TankSync (synchronisation cloud optionnelle)

TankSync est un backend Supabase optionnel qui reflète certaines données entre vos appareils. C'est opt-in. Désactivé = rien ne quitte votre téléphone. Toute l'interface est traduite dans les 23 locales prises en charge.

Deux façons de l'utiliser

  1. Instance communautaire — un projet Supabase partagé maintenu par la communauté. Auth anonyme. Mise en place simple.
  2. Auto-hébergé — déployez votre propre instance Supabase (le schéma SQL + les Edge Functions sont dans le dépôt). Vous conservez la pleine propriété des données et il n'y a plus aucun tiers.

Mise en place

Paramètres → TankSync → Activer. Ensuite :

  • Communautaire : scannez le QR code du wiki ou collez manuellement l'URL + la clé anon.
  • Auto-hébergé : collez votre URL de projet + clé anon.

La clé anon est stockée dans l'Android Keystore.

Ce qui est synchronisé

  • Favoris (stations)
  • Alertes de prix
  • Stations ignorées
  • Notes (avec drapeau de confidentialité par note : local / privé-synchronisé / partagé publiquement)
  • Trajets — trajets OBD2 + GPS. La synchronisation des trajets est opt-in même après l'activation de TankSync — activez l'interrupteur dans Paramètres → TankSync → Synchroniser les trajets si vous souhaitez les refléter. Désactivé par défaut ; si vous l'activez plus tard, seuls les futurs trajets sont synchronisés tant que vous ne touchez pas Rattraper.

Résolution des conflits

Le local l'emporte toujours. Si vous modifiez un favori sur deux téléphones simultanément, la dernière écriture sur chaque téléphone est canonique pour ce téléphone-là. La synchronisation ajoute / modifie mais ne supprime jamais silencieusement — seule votre action de suppression explicite déclenche une suppression côté serveur.

Export et réinitialisation des données

Paramètres → Données :

  • Exporter toutes les données → un seul JSON enregistré dans Downloads
  • Exporter l'historique des prix → CSV enregistré dans Downloads
  • Réinitialiser l'application → efface toutes les box locales et vide le stockage sécurisé. Irréversible.

Vos droits sous le RGPD

Comme aucune donnée personnelle ne quitte l'application par défaut, le droit à l'effacement RGPD est satisfait en désinstallant ou via Réinitialiser l'application. Si vous utilisez TankSync, allez dans Paramètres → TankSync → Supprimer le compte pour effacer vos données côté serveur avant la désinstallation. Il existe aussi une action Oublier tous les trajets synchronisés qui efface uniquement les lignes de trajets en laissant le reste intact.

Voir PRIVACY.md pour la politique de confidentialité complète.


Voir aussi : Premiers pas (consentement RGPD au premier lancement) · Consommation et OBD2 (overlay d'approche) Suivant : Dépannage et FAQ →

Clone this wiki locally