Confidentialité
Politique de confidentialité
Dernière mise à jour : 28 octobre 2026
La présente politique décrit comment Petit Soleil Software (ci-après « nous ») collecte, utilise et protège les données personnelles des utilisateurs de l'application Coursly (ci-après « l'App »).
1. Responsable du traitement
Éditeur : Petit Soleil Software (Pierre Cattani, développeur indépendant)
Adresse : Lyon, France
Contact RGPD : hello@coursly.page
2. Données collectées
Nous collectons uniquement les données nécessaires au fonctionnement de l'App :
2.1 Données de compte
- Adresse e-mail (authentification Supabase)
- Pseudo et photo de profil (optionnel)
- Identifiant de foyer (
household_id)
2.2 Données d'usage
- Produits, quantités, catégories et dates de péremption saisis par l'utilisateur
- Liste de courses et historique d'achats
- Code-barres scannés (associés au nom et nutriscore via Open Food Facts)
2.3 Données techniques
- Token FCM (notifications push — Android/iOS uniquement)
- Rapports de crash anonymisés via Firebase Crashlytics (opt-in uniquement)
- Données de diagnostic agrégées si l'utilisateur a activé les analytics
2.4 Données de paiement
Les paiements Coursly+ et les achats uniques (packs espace, sections et catégories supplémentaires) sont traités par RevenueCat, via Google Play ou l'App Store. Nous ne stockons aucune donnée bancaire. Seuls nous sont transmis le statut d'abonnement (actif / expiré) et, pour chaque achat unique, son identifiant de transaction, le produit acheté, la date et un éventuel remboursement ; ces informations sont rattachées à votre compte pour retrouver vos emplacements sur tous vos appareils.
3. Finalités et bases légales
| Finalité | Base légale |
|---|---|
| Authentification et gestion du compte | Exécution du contrat (art. 6.1.b RGPD) |
| Synchronisation des données de foyer | Exécution du contrat |
| Notifications push | Consentement (opt-in au moment de l'installation) |
| Diagnostics et rapports de crash | Consentement (opt-in dans les paramètres) |
| Gestion de l'abonnement Coursly+ | Exécution du contrat |
| Suggestions de recettes IA (Groq) | Exécution du contrat — données anonymisées |
4. Durée de conservation
| Donnée | Durée |
|---|---|
| Compte et données de foyer | Jusqu'à suppression du compte |
| Cache de codes-barres (local) | 7 jours glissants |
| Cache de recettes IA (Supabase) | 7 jours glissants |
| Rapports de crash (Crashlytics) | 90 jours (politique Firebase) |
| Historique d'achats | Jusqu'à suppression du compte |
| Achats uniques (transaction, produit, date) | Jusqu'à suppression du compte |
5. Partage avec des tiers
Nous ne vendons aucune donnée personnelle. Les données peuvent être partagées avec les sous-traitants suivants :
| Sous-traitant | Rôle | Localisation |
|---|---|---|
| Supabase | Base de données et authentification | AWS eu-west-3 (Paris) |
| Firebase / Google | Crashlytics, notifications FCM | UE (si opt-in) |
| RevenueCat | Gestion des abonnements et des achats uniques | États-Unis |
| Groq | Génération de recettes IA | États-Unis — données anonymisées |
| Open Food Facts | Données nutritionnelles (ODbL) | France |
| Pexels | Images illustratives des recettes | États-Unis |
6. Vos droits
Conformément au RGPD, vous disposez des droits suivants :
- Accès : obtenir une copie de vos données
- Rectification : corriger des données inexactes
- Effacement : supprimer votre compte et vos données, depuis l'app ou en ligne
- Portabilité : exporter vos données (JSON/CSV disponibles dans l'App)
- Opposition : vous opposer à un traitement
- Limitation : limiter un traitement en cours
Pour exercer vos droits : hello@coursly.page — nous répondons sous 30 jours.
Vous pouvez également déposer une réclamation auprès de la CNIL.
7. Sécurité
Les données sont chiffrées en transit (HTTPS/TLS 1.3) et au repos (AES-256 côté Supabase). Les sessions sont stockées dans un espace chiffré sur l'appareil (EncryptedSharedPreferences sur Android, Keychain sur iOS).
Cartographie des données
Vue détaillée de l'emplacement de chaque donnée dans l'infrastructure Coursly.
| Catégorie | Stockage local | Stockage cloud | Tiers |
|---|---|---|---|
| Produits frigo & courses | SQLDelight (device) | Supabase products |
— |
| Profil utilisateur | Cache mémoire | Supabase profiles |
— |
| Foyer & membres | — | Supabase households |
— |
| Historique d'achats | — | Supabase purchase_history |
— |
| Cache codes-barres | SQLDelight 7 j | Supabase product_cache |
Open Food Facts (lecture) |
| Recettes IA | SQLDelight 24 h | Supabase recipe_cache 7 j |
Groq (anonymisé) |
| Cartes de fidélité | SQLDelight | Supabase loyalty_cards |
— |
| Token push (FCM) | SharedPreferences chiffré | Supabase profiles.fcm_token |
Firebase FCM |
| Rapports de crash | — | — | Firebase Crashlytics (opt-in) |
| Achats uniques (packs, emplacements) | — | Supabase storage_slot_purchases |
RevenueCat (webhook) |
| Abonnement Coursly+ | Cache local chiffré | Supabase entitlements |
RevenueCat |
Isolation des données : toutes les données de foyer sont protégées par des politiques RLS (Row Level Security) Supabase. Un utilisateur ne peut accéder qu'aux données de son propre foyer.