Politique de confidentialité
Application : Ollou — recettes, réserve, planning et courses
Responsable du traitement : Auto-entreprise [nom, SIRET et adresse — à compléter à la création]
Contact confidentialité : [adresse e-mail — à compléter]
Dernière mise à jour : [date — à compléter avant publication]
1. Introduction
Cette politique explique quelles données nous traitons, pourquoi, combien de temps, avec qui nous les partageons, et quels sont vos droits au sens du Règlement (UE) 2016/679 (RGPD) et de la loi applicable.
L'Application est un carnet de recettes personnel augmenté. Elle n'est pas un réseau social : vos recettes ne sont pas publiées sur un profil ouvert et il n'y a pas de fil d'actualité ni de fonctionnalité de suivi entre utilisateurs.
2. Données traitées — vue d'ensemble
| Catégorie | Exemples | Finalité principale |
|---|---|---|
| Compte | Adresse e-mail, identifiant utilisateur, dates de création | Authentification, support, facturation store liée au compte |
| Recettes | Titres, ingrédients, étapes, tags, URLs, favoris, flags « à tester / à cuisiner » | Carnet, planning, courses, mode cuisine |
| Overlays recettes | Personnalisations sur recettes du catalogue (user_recipes) | Affichage personnalisé sans modifier le catalogue commun |
| Réserve (Ma réserve) | Produits adoptés, stock « j'ai / je n'ai pas », renommages (user_products) | Inventaire, filtre « Réalisable », courses |
| Planning | Repas par date et créneau (recette, produit ou note) | Organisation des repas |
| Courses | Lignes cochées / non cochées, texte libre | Liste de courses dynamique |
| Préférences | Ordre des rayons, teintes chrome, peaux de filtres | Personnalisation de l'interface |
| Import | URLs en file d'attente (import_inbox_urls), brouillons en cours | Reprise d'import multi-appareils |
| Données techniques | Journaux serveur limités, identifiants de session | Sécurité, diagnostic, sync |
Nous ne collectons pas de profil public, de liste d'amis, ni de données de localisation GPS en continu.
3. Détail par fonctionnalité
3.1 Compte et authentification
- Données : e-mail, mot de passe (hashé côté Supabase Auth), identifiant UUID, horodatages.
- Base légale : exécution du contrat (CGU) et, le cas échéant, intérêt légitime (sécurité).
- Hébergement : Supabase (PostgreSQL + Auth), voir § 6.
3.2 Recettes et carnet
- Données : contenu des recettes que vous créez, importez ou personnalisez ; métadonnées (temps, portions, catégories) ; lien éventuel vers une URL source ou une URL d'image externe.
- Images de recettes : l'Application stocke en base une URL pointant vers une ressource externe. Elle n'héberge pas le fichier image sur ses serveurs dans la version actuelle : l'appareil charge l'image depuis le site tiers. Vous êtes responsable du choix de cette URL et des droits associés.
- Catalogue commun : certaines recettes et produits sont marqués publics (
is_public) et constituent le catalogue éditorial. Ces entrées sont consultables via l'API Supabase sans compte utilisateur (clé publique embarquée dans l'application) : tout client disposant de cette clé peut lire le catalogue public. Les données privées (recettes personnelles, réserve, planning, etc.) restent protégées par authentification et RLS.
3.3 Ma réserve et scan code-barres
- Données : identifiants produits, état de stock, personnalisations (nom, catégorie, icône).
- Scan : la caméra est utilisée localement pour lire un code-barres. Nous interrogeons Open Food Facts pour récupérer des informations produit publiques. Aucune photo du scan n'est envoyée à Open Food Facts — seule la requête par code.
- Produits scannés inconnus : selon votre offre, un code inconnu peut créer une entrée dans le catalogue commun (sans données personnelles directes, mais contribution au catalogue).
3.4 Planning et courses
- Données : dates, types de repas, recettes ou produits associés, notes libres ; lignes de courses et état coché.
- Finalité : génération automatique de la liste de courses à partir du planning et de la réserve.
3.5 Import URL
- Données transmises : l'URL que vous soumettez est traitée par une Edge Function hébergée chez Supabase, qui récupère la page (dans des limites de taille et de durée) et envoie un extrait de texte à un modèle d'IA (Google Gemini Flash et/ou Groq) pour produire un brouillon structuré.
- Validation : le brouillon n'est enregistré qu'après votre validation dans l'Application.
- Conservation : file d'URLs en attente synchronisée dans votre profil si vous utilisez l'inbox multi-appareils.
3.6 Import photo et OCR
Deux étapes distinctes, importantes pour la transparence :
1. OCR local (sur l'appareil) : la photo est traitée par Google ML Kit sur Android/iOS uniquement. Le texte reconnu est extrait localement. La photo elle-même n'est pas uploadée vers nos serveurs à cette étape.
- Télémétrie ML Kit : les SDK natifs Google ML Kit (Android/iOS) peuvent collecter des données d'usage techniques conformément aux ML Kit Terms of Service de Google. Aucune photo n'est transmise à Google pour l'OCR ; la télémétrie concerne l'utilisation du SDK, pas le contenu de vos recettes.
2. Structuration IA (serveur) : le texte OCR (pas l'image) est envoyé à la même Edge Function Supabase, puis à Gemini et/ou Groq, pour obtenir un brouillon de recette. Vous validez avant sauvegarde.
Sur Web, l'import photo / OCR n'est pas disponible (pas de traitement local équivalent).
3.7 Mode cuisine et commandes vocales
- Synthèse vocale (TTS) et reconnaissance vocale (STT) : traitement local sur l'appareil via les API système (
speech_to_text, moteur TTS). Les commandes vocales servent à naviguer dans les étapes (ex. « suivant », « répéter »). - Microphone : accès demandé uniquement pendant le mode cuisine lorsque vous activez l'écoute. Aucun enregistrement audio n'est stocké sur nos serveurs ; le flux reste sur l'appareil via le moteur OS.
- Plafond gratuit : le mode cuisine pas-à-pas peut être limité à un nombre de recettes selon l'offre (voir CGV).
3.8 Caméra (hors scan)
- Utilisée pour prendre ou choisir une photo en vue de l'import OCR, ou pour le scan code-barres en réserve.
- Permissions demandées à la demande ; refus = fonctionnalité indisponible, reste de l'app utilisable.
4. Données que nous ne vendons pas
Nous ne vendons pas vos données personnelles. Nous ne diffusons pas de publicité comportementale tierce dans l'Application à la date de ce brouillon.
5. Base légale (RGPD)
| Traitement | Base légale |
|---|---|
| Compte, sync, recettes, réserve, planning, courses | Contrat — fourniture du service |
| Import IA (URL, texte OCR) | Contrat + consentement implicite par action d'import (à formaliser dans l'UI avant prod — À valider juridiquement) |
| Caméra, micro | Consentement via permissions OS |
| Sécurité, logs techniques | Intérêt légitime |
| Obligations légales | Obligation légale |
6. Sous-traitants et destinataires
| Prestataire | Rôle | Localisation / transfert |
|---|---|---|
| Supabase Inc. | Hébergement PostgreSQL, Auth, Edge Functions | USA / UE selon projet — DPA et clauses contractuelles types à vérifier |
| Google (Gemini API) | Structuration IA des imports | USA — transfert encadré par contrat Google |
| Groq | Structuration IA (alternative / secours) | USA — idem |
| Google ML Kit | OCR local sur appareil | Traitement local de l'image ; télémétrie d'usage SDK possible (Google ML Kit ToS) |
| Open Food Facts | Informations produit par code-barres | Projet open data — requête HTTP par code |
| Apple / Google | Distribution app et paiement IAP futur | Selon leurs politiques respectives |
Pas de Stripe pour l'abonnement mobile à la date de ce brouillon.
Liste non exhaustive — mettre à jour avant production si ajout OAuth, analytics, crash reporting, etc.
7. Durées de conservation
| Donnée | Durée indicative |
|---|---|
| Compte et contenus utilisateur | Tant que le compte est actif |
| Après suppression de compte | Immédiate pour le compte Auth et les données user-scoped (CASCADE). Les produits catalogue publics déjà créés par scan sont anonymisés (created_by → NULL). Journaux d'infrastructure : durée propre à l'hébergeur, hors délai applicatif. |
| Logs serveur | [durée — À compléter, ex. 90 jours] |
| Brouillons d'import non validés | Jusqu'à abandon ou validation ; file inbox effaçable par l'utilisateur |
8. Sécurité
Mesures incluant notamment :
- authentification par mot de passe et sessions sécurisées ;
- Row Level Security (RLS) PostgreSQL : chaque utilisateur n'accède qu'à ses lignes (
user_id) ; - chiffrement en transit (HTTPS/TLS) ;
- pas de stockage des mots de passe en clair côté éditeur.
Aucune mesure n'offre une sécurité absolue ; signalez toute suspicion à [e-mail sécurité — À compléter].
9. Vos droits
Sous réserve des exceptions légales, vous disposez des droits d'accès, de rectification, d'effacement, de limitation, d'opposition, de portabilité, et de retrait du consentement lorsque le traitement repose sur celui-ci.
Comment exercer vos droits : [adresse e-mail — à compléter], en joignant une copie d'un justificatif d'identité si nécessaire.
Réclamation : vous pouvez introduire une réclamation auprès de la CNIL (France) ou de l'autorité de protection des données de votre pays de résidence.
10. Mineurs
L'Application n'est pas destinée aux enfants de moins de 13 ans sans supervision d'un adulte. Nous ne collectons pas sciemment de données d'enfants sans consentement parental vérifiable. Contactez-nous pour toute demande de suppression.
11. Transferts hors Union européenne
Certains sous-traitants (Supabase, Google, Groq) peuvent traiter des données hors UE. Ces transferts doivent être encadrés par des clauses contractuelles types ou un niveau de protection adéquat — À documenter avec l'avocat.
12. Intelligence artificielle — information spécifique
- Finalité : assistance à la structuration de recettes (pas de profilage publicitaire).
- Entrées : URL, texte de page web extrait, ou texte OCR (pas la photo brute).
- Sortie : brouillon JSON affiché pour validation humaine obligatoire.
- Erreurs : les modèles peuvent se tromper ; vérifiez allergènes, quantités et cuisson.
- Pas d'entraînement : à la date de ce brouillon, les contrats API utilisés ne doivent pas servir à entraîner des modèles publics — vérifier les DPA Google/Groq avant prod.
13. Modifications de cette politique
Nous pouvons mettre à jour cette politique. La date en tête de document sera révisée. En cas de changement majeur, une notification in-app ou par e-mail pourra être envoyée.
14. Contact
Responsable du traitement : Auto-entreprise [nom, SIRET et adresse — à compléter à la création]
E-mail : [adresse e-mail — à compléter]
Adresse postale : [adresse — à compléter à la création]
Document généré comme brouillon de lancement — carte F6, tâche T137. Couvre : e-mail, recettes, réserve, scan, caméra, micro/voix cuisine, import IA Gemini/Groq, Supabase, images externes en URL seulement, envoi de texte OCR à une IA.