Politique de confidentialité de Cartdock

En vigueur à partir du : 2026-10-16

Cartdock est une application Android et iOS de listes pour chaque objectif, avec les tickets de caisse et les dépenses qui les accompagnent. Cartdock comprend aussi son service et une page web sur laquelle une liste partagée peut être consultée au moyen d’un lien. Cette politique explique quelles données nous traitons, pourquoi, où et combien de temps nous les conservons, et comment vous pouvez les maîtriser.

1. Qui est responsable des données

Responsable du traitement : Siarhei Mishchanka, personne physique, Koposche aviatsonyaya 13, 247, Biélorussie, e-mail: support@cartdock.app. Dans cette politique, « nous » et « notre » désignent le responsable du traitement.

Questions et demandes concernant vos données : privacy@cartdock.app.

2. En bref

  • Sans votre consentement à la lecture des tickets par IA, les photos de tickets ne quittent jamais votre appareil.
  • Les photos de tickets sont supprimées du service 30 jours après leur lecture.
  • L’application ne contient pas de publicité. Les statistiques d’utilisation (Google Analytics for Firebase) ne sont envoyées qu’avec votre consentement ; les rapports de plantage (Firebase Crashlytics) sont envoyés tant que vous ne les désactivez pas (section 3.11).
  • L’export des données, la suppression du compte et les consentements se trouvent dans l’application : Profil → Données, sur l’écran « Mes données ».

3. Quelles données nous traitons

3.1. Installation et compte

  • Au premier lancement, l’application crée un identifiant d’installation aléatoire et l’envoie au service avec la plateforme (Android ou iOS). Cela crée un compte anonyme, sans nom et sans adresse e-mail. Les jetons d’accès sont conservés sur l’appareil dans le stockage sécurisé du système, et sur le service uniquement sous forme de hachages.
  • Si vous vous connectez avec Google ou avec une adresse e-mail et un mot de passe, la connexion est effectuée par Firebase Authentication (Google). Nous conservons la méthode de connexion, votre identifiant Firebase et votre adresse e-mail. Lorsque vous vous connectez avec Google, nous recevons et conservons le nom de votre profil Google ; nous ne conservons pas sa photo ni les autres données du profil. Vous pouvez saisir vous-même un prénom et un nom pour les listes partagées sur l’écran du compte ; c’est facultatif. Votre mot de passe transite par notre service vers Firebase Authentication et n’est pas conservé par nous.
  • Les e-mails qui confirment votre adresse ou réinitialisent votre mot de passe sont envoyés par Firebase.
  • Lorsque vous vous connectez, les données créées sur l’appareil avant la connexion passent dans votre compte.
  • Pour protéger les comptes contre les tentatives de deviner les mots de passe, nous comptons les tentatives de connexion ; pour cela, l’adresse e-mail n’est conservée que sous forme de hachage, et les enregistrements sont supprimés au bout d’un jour.

3.2. Listes de courses

  • Les listes sont conservées sur votre appareil. Lorsque vous partagez une liste (cela nécessite un compte), elle est aussi conservée sur le service : son titre, ses lignes (nom, quantité, unité, note, rayon, marque « acheté », qui l’a ajoutée), ainsi que ses membres et leurs rôles.
  • Les membres se voient entre eux par leur nom : le prénom et le nom que vous avez saisis vous-même, sinon le nom de votre profil Google, sinon la partie de l’adresse e-mail située avant le « @ ». L’adresse complète n’est jamais affichée. Les invités apparaissent sous un pseudonyme (un nom d’animal).
  • Les lignes retirées d’une liste partagée sont définitivement supprimées du service au bout de 30 jours.
  • Si le propriétaire supprime une liste partagée ou son compte, la liste est supprimée du service, avec les lignes que les membres ont ajoutées. Lorsqu’un membre perd l’accès à une liste (par exemple parce que le propriétaire a supprimé la liste ou son propre compte, ou a retiré ce membre), une copie de la liste reste sur l’appareil du membre : elle n’est plus mise à jour et n’est pas conservée sur le service. Le membre peut supprimer cette copie lui-même.
  • Un lien contient une clé aléatoire ; le service ne conserve que son hachage. Toute personne qui possède le lien peut consulter la liste tant que le lien est valide.
  • Un lien est soit « Lecture seule », soit « Participer » (on participe dans l’application). Il dure 24 heures, 30 jours (par défaut) ou n’a pas de date de fin.
  • Au moyen d’un lien, on peut voir le titre de la liste, le nom du propriétaire (choisi comme pour les membres ; toute personne qui possède le lien le voit), les lignes (nom, quantité, unité, rayon, marque « acheté »), le niveau du lien, l’heure de la dernière modification et la date d’expiration du lien. Les notes des lignes, les membres, les tickets et les dépenses ne sont pas visibles.
  • Révoquer un lien le ferme immédiatement et retire les invités et les lecteurs qui ont rejoint la liste par ce lien.

3.4. Tickets et photos

  • Les photos de tickets restent sur votre appareil jusqu’à leur envoi, et elles ne sont envoyées que si vous avez autorisé le « traitement par IA ».
  • Les photos envoyées sont conservées dans un Supabase Storage privé (région eu-central-1, UE).
  • Un ticket enregistré est conservé sur le service : le magasin, la date d’achat, la devise, le total, les lignes avec les quantités, les prix et les catégories, ainsi que le résultat de la reconnaissance. Si vous liez un ticket à une liste, le service conserve aussi l’identifiant de cette liste (pas son titre ni ses lignes).
  • Si vous notez combien une liste a coûté sans ticket, le service conserve ce montant dans votre compte : le montant, la devise, le jour et l’identifiant de la liste. Les autres membres de la liste ne le voient pas.
  • Pour repérer un ticket envoyé deux fois, nous comparons les hachages des photos au sein de votre compte.
  • Sur Android, les bords du ticket sur une photo sont détectés par un modèle Google ML Kit sur l’appareil lui-même. La photo n’est envoyée nulle part, mais après la première recherche des bords, la bibliothèque envoie à Google des informations techniques sur son fonctionnement.
  • Si vous signalez un problème avec un ticket, nous recevons le type de problème, votre commentaire et une référence à la tâche de reconnaissance. Aucune photo n’est jointe au signalement.
  • Nous comptons combien de tickets vous avez scannés et combien de questions vous avez posées à l’assistant au cours d’un mois, pour les limites mensuelles.
  • L’application associe les logos des magasins de la liste des tickets sur l’appareil. Au plus une fois par jour, quand la liste des tickets est ouverte, elle télécharge depuis notre site le catalogue commun des logos et tous ses fichiers — le même ensemble pour toutes les installations. La requête ne contient ni noms de magasins, ni données de tickets, ni données de compte : le journal du site ne montre donc pas où vous faites vos achats. Le site voit l’adresse IP et l’heure de la requête.
  • Les logos des magasins appartiennent à leurs propriétaires. Pour faire retirer un logo, écrivez à privacy@cartdock.app.

3.5. Lecture des tickets par IA

  • Les tickets sont lus par OpenAI. OpenAI reçoit les images des pages du ticket et nos instructions. Nous n’incluons dans cette requête ni votre identifiant, ni votre adresse e-mail, ni d’autres données du compte. La requête est envoyée avec le stockage des réponses chez OpenAI désactivé (store=false). Si les lignes du ticket ne sont pas dans la langue de l’application et que la traduction est activée dans Profil → Données → Traitement des données, OpenAI traduit leurs noms dans la langue de l’application dans la même requête. Nous conservons à la fois la traduction et le nom tel qu’il est imprimé sur le ticket.
  • Lorsqu’OpenAI n’est pas disponible, le ticket est lu par Anthropic à sa place. Anthropic reçoit les mêmes images et instructions, également sans votre identifiant, votre adresse e-mail ni d’autres données du compte, et traduit les noms des articles de la même façon. Anthropic n’a pas de réglage comparable à store=false ; la durée pendant laquelle il conserve les requêtes figure à la section 6.
  • Pour chaque appel, nous conservons des enregistrements de service sans aucun texte du ticket : le modèle, la durée, la taille, le coût et des compteurs de qualité de la reconnaissance.
  • Sans consentement, aucune photo n’est envoyée. Après le retrait du consentement, aucune nouvelle photo n’est envoyée, et les photos déjà prises attendent sur l’appareil.

3.6. Assistant

  • Dans l’application, l’assistant s’appelle Rinka. Rinka est une IA, pas une personne : les réponses sont rédigées par un modèle de langage d’OpenAI ou d’Anthropic. Nous choisissons lequel dans les réglages du service, et l’autre peut prendre le relais lorsque le premier n’est pas disponible.
  • Lorsqu’Anthropic rédige une réponse, il reçoit les mêmes données qu’OpenAI selon les points ci-dessous, également sans votre adresse e-mail ni votre nom.
  • Lorsque vous posez une question à l’assistant, OpenAI reçoit le texte de la question, les identifiants de vos listes (pas leur contenu), le nombre de tickets récents et un identifiant technique de votre compte chez nous (sans adresse e-mail ni nom).
  • Le modèle ne reçoit ni le contenu de vos listes ou de vos tickets, ni vos dépenses. Pour suivre la conversation, OpenAI reçoit avec votre question jusqu’à 6 questions et réponses précédentes de la même conversation — pas plus de 6 000 caractères et uniquement des dernières 48 heures. Les réponses précédentes peuvent contenir des noms d’articles que Rinka a elle-même proposés. Les questions d’autres conversations ne sont pas envoyées. La requête est envoyée avec le stockage des réponses chez OpenAI désactivé (store=false).
  • La question et la réponse sont conservées sur le service pendant 48 heures, puis leur texte est supprimé. Un enregistrement indiquant qu’une question a été posée subsiste, pour la limite mensuelle.
  • Pour chaque réponse, nous conservons des enregistrements de service sans le texte de la question ni de la réponse : le modèle, la durée, la taille de la réponse et le coût.
  • L’assistant ne fonctionne qu’avec le consentement au « traitement par IA », le même que celui des tickets : sans lui, ou une fois qu’il est retiré, aucune question n’est envoyée et une réponse encore en cours de rédaction est interrompue. Les données ne sont envoyées que lorsque vous posez une question.
  • Sous chaque réponse de Rinka se trouve un bouton « Signaler ». Si vous signalez une réponse, notre service reçoit cette réponse, votre question, la liste que Rinka y a proposée (le cas échéant), le motif choisi et votre commentaire (jusqu’à 500 caractères) ; le signalement est lié à votre compte. Tant que le service conserve sa propre copie de la question et de la réponse (48 heures), il enregistre cette copie au lieu de celle de votre appareil. Le service ajoute au signalement le modèle, la version des instructions, le forfait et la plateforme (Android ou iOS) avec lesquels la réponse a été rédigée, ainsi que la manière dont elle s’est terminée (complète, interrompue ou en erreur). Le signalement ne contient pas le contenu de vos listes ou de vos tickets, et ni OpenAI ni Anthropic ne le reçoivent.
  • Les signalements servent à vérifier les réponses et à améliorer Rinka. Les textes d’un signalement — la question, la réponse, la liste proposée et le commentaire — sont supprimés 30 jours après sa réception ; le motif et les informations sur la réponse restent jusqu’à la suppression du compte, pour compter les signalements. Sans connexion, le signalement attend sur l’appareil et est envoyé plus tard ; une fois que le service a répondu, l’appareil ne garde que son statut. Un signalement ne nécessite pas le consentement au « traitement par IA ». Vous pouvez vous opposer à ce traitement en écrivant à privacy@cartdock.app ; nous supprimerons alors le signalement.

3.7. Saisie vocale

  • Vous pouvez dicter une question à l’assistant. La parole est reconnue par le service de reconnaissance vocale d’Android ou d’iOS. Selon l’appareil, cela se fait sur l’appareil lui-même ou sur les serveurs du fournisseur du système (Google, Apple), selon ses conditions.
  • L’application ne reçoit que le texte reconnu et ne conserve pas l’enregistrement. Le micro est actif tant que l’écran affiche « À l’écoute » ; vous pouvez arrêter l’enregistrement avec le bouton.

3.8. Ce qui reste sur l’appareil

  • Les totaux des dépenses et la planification des achats sont calculés sur l’appareil à partir de vos tickets, de vos listes et des montants notés sans ticket. Le service ne conserve que les tickets et les montants décrits à la section 3.4.
  • Les rappels sont des notifications locales de l’appareil, sans serveur et sans envois d’e-mails.
  • Vos réponses concernant les consentements sont conservées sur l’appareil.
  • Lorsque vous vous déconnectez, les listes personnelles de votre compte, les copies de listes partagées auxquelles vous n’avez plus accès et les tickets de votre compte avec leurs photos ne sont pas supprimés de ce téléphone mais masqués : l’application les conserve uniquement avec l’identifiant du compte (sans adresse e-mail) et les rétablit lorsque vous vous reconnectez au même compte sur ce téléphone. Les tickets qui ne sont pas encore enregistrés dans le compte n’y arriveront qu’après cette connexion. Un invité et les autres comptes sur ce téléphone ne les voient pas. La suppression du compte dans l’application sur ce téléphone les efface ; les listes et les tickets masqués d’autres comptes sur ce téléphone sont conservés.
  • Sur Android, le système sauvegarde les données de l’application dans deux cas seulement. Le premier est une sauvegarde dans le cloud de votre compte Google : seulement si la sauvegarde est activée et si Android peut chiffrer la sauvegarde sur le téléphone, ce qui exige un verrouillage de l’écran (code PIN, schéma ou mot de passe). Si la sauvegarde ne peut pas être chiffrée, les données de l’application ne sont pas incluses dans la sauvegarde dans le cloud. Le second est un transfert de l’ancien téléphone vers un nouveau quand vous changez de téléphone. Android 7 et 8 ne vérifient pas le chiffrement de la sauvegarde : sur ces versions, nous ne promettons donc pas que la sauvegarde dans le cloud est chiffrée.
  • La sauvegarde contient vos listes, les tickets sans photos, les conversations avec Rinka, la langue de l’application et les réglages, dont vos réponses concernant les consentements et, si vous êtes connecté, l’adresse e-mail et le nom de votre compte. Elle contient aussi les listes et les tickets (sans photos) masqués sur ce téléphone lors d’une déconnexion, y compris ceux d’autres comptes : avec l’identifiant du compte, sans adresse e-mail. La sauvegarde ne contient ni les jetons d’accès, ni l’identifiant d’installation, ni les photos de tickets, ni les rappels. Après une restauration, reconnectez-vous et réactivez les rappels.

3.9. Journaux du service

  • Chaque fois que l’application contacte le service, un enregistrement de journal est conservé : l’adresse IP, la méthode et l’adresse de la requête sans paramètres, et le code de réponse. Les clés de liens et les adresses temporaires de téléversement sont remplacées par une marque dans notre journal.
  • La plateforme Google Cloud Run tient aussi son propre journal des requêtes. Il conserve l’adresse complète de la requête, y compris la clé du lien lorsque l’application ouvre une liste au moyen d’un lien. Ces journaux ne peuvent être consultés que par les personnes ayant accès aux journaux du projet. Conservation des journaux : 30 jours.
  • Le service note aussi les jours où votre compte l’a contacté et depuis quelle plateforme (Android ou iOS), pour compter les utilisateurs actifs. Ces enregistrements sont supprimés au bout de 35 jours ; les rapports ne gardent que des chiffres totaux, sans comptes. Le dernier de ces jours est aussi conservé dans l’enregistrement de l’appareil jusqu’à la suppression de l’appareil. Ces enregistrements ne dépendent pas du choix concernant les statistiques d’utilisation (section 7).

3.10. La page de la liste partagée dans un navigateur

  • La page fonctionne sur le site web de Cartdock (Google Cloud Run, région europe-west1) et charge la liste depuis Supabase (région eu-central-1) : la clé du lien est envoyée dans le corps de la requête, et non dans l’adresse. Les modifications arrivent par Supabase Realtime sous forme de signal sans données de la liste. Les requêtes vers les pages /s/ sont exclues du journal des requêtes de la plateforme. En cas d’erreur d’affichage d’une page, le journal des erreurs du conteneur peut conserver l’adresse complète, y compris la clé du lien dans le chemin /s/, pendant 30 jours.
  • Les données de la liste ne sont pas enregistrées dans le navigateur.
  • Les statistiques de visite (Google Analytics 4) ne sont activées que si vous appuyez sur « Oui » dans la question de la page. Jusque-là, la page ne contacte pas Google. Après « Oui », Google reçoit des événements — page ouverte, appui sur le bouton « Ouvrir dans Cartdock » et sur les boutons Google Play et App Store, liste enregistrée en TXT ou CSV, lien qui n’est plus valide — avec le type de plateforme, le format du fichier ou le motif. La clé du lien, le titre et les lignes de la liste et le nom du propriétaire n’y figurent pas, et l’adresse de la page est remplacée par un /s/ générique. Google Signals et les fonctions publicitaires sont désactivés.
  • Cette page de la politique n’utilise aucune analyse et ne fait aucune requête vers d’autres sites ; le seul cookie du site web est décrit à la section 9.

3.11. Rapports de plantage et statistiques d’utilisation

  • Android et iOS envoient des rapports de plantage. Seul Android envoie des statistiques d’utilisation. Les versions Debug n’envoient aucune de ces données.
  • Les rapports de plantage sont activés tant que vous ne les désactivez pas : la case « Envoyer les rapports de plantage » au premier lancement, ou plus tard Profil → Données → Traitement des données → « Rapports de plantage ». Si l’application plante, un rapport est envoyé à Firebase Crashlytics (Google) : l’endroit du code où l’application a échoué, le type et le message de l’erreur, l’heure du plantage, la version de l’application, le modèle de l’appareil, la version du système, la quantité de mémoire et de stockage, si l’appareil dispose d’un accès root, et un identifiant d’installation aléatoire de Crashlytics. Pour compter les sessions, Firebase reçoit aussi un identifiant d’installation Firebase aléatoire et la durée pendant laquelle l’application était à l’écran.
  • Un rapport de plantage ne contient ni l’identifiant de votre compte, ni votre adresse e-mail, ni le contenu de vos listes ou tickets, ni vos questions à Rinka. Les messages d’erreur de notre code ne contiennent pas de telles données.
  • Sans connexion, un rapport attend sur l’appareil et est envoyé au lancement suivant. Si vous désactivez les rapports de plantage, les rapports pas encore envoyés sont supprimés de l’appareil au lancement suivant.
  • Les statistiques d’utilisation (Google Analytics for Firebase) sont désactivées tant que vous ne les autorisez pas : la case « Autoriser les statistiques d’utilisation » au premier lancement, ou plus tard Profil → Données → Traitement des données → « Statistiques d’utilisation ». Avec votre consentement, Google reçoit les événements que la bibliothèque enregistre elle-même — le premier lancement, le début et la durée des sessions, les mises à jour de l’application et du système — avec la version de l’application, le modèle de l’appareil, la version du système, la région approximative et un identifiant aléatoire de l’instance de l’application. Nous n’envoyons ni événements propres, ni noms d’écrans, ni identifiant de compte, ni identifiant publicitaire ; les fonctions publicitaires sont désactivées.
  • Lorsque vous retirez votre consentement, les statistiques s’arrêtent aussitôt et l’application réinitialise son identifiant de statistiques. Les rapports de plantage et les statistiques ne sont pas liés à votre compte : ils ne figurent pas dans l’archive de données et ne sont pas supprimés avec le compte ; Google les supprime à l’issue des durées de la section 6.

3.12. Abonnements

  • Les forfaits Lite et Plus s’achètent dans l’application sous forme d’abonnements via Google Play ou l’App Store, et uniquement après connexion. Vous payez la boutique : elle traite le paiement selon ses propres conditions et sa politique de confidentialité, et nous ne recevons jamais les données de votre carte ni d’autres données de paiement.
  • Pour vérifier les achats, nous utilisons RevenueCat. L’application et la boutique transmettent à RevenueCat l’identifiant de votre compte chez nous (sans adresse e-mail ni nom), le produit, la boutique, la devise et les paramètres régionaux de la boutique et l’enregistrement de l’achat. RevenueCat conserve l’historique des achats, renouvellements, annulations et remboursements de votre compte. RevenueCat reçoit cet identifiant de compte lorsque vous demandez les offres d’abonnement après connexion, avant même un achat. Nous utilisons aussi l’historique des achats dans RevenueCat pour consulter les statistiques des abonnements.
  • Notre service interroge RevenueCat sur votre abonnement et conserve le forfait, le produit, la boutique, la date d’achat, le début et la fin de la période en cours, le renouvellement ou non, un problème de paiement et un remboursement. Avec ces données, le service attribue son forfait à votre compte.
  • Supprimer le compte ou l’application n’annule pas un abonnement dans la boutique. La manière de l’annuler est décrite sur la page « Suppression du compte ».
  • Le prix, le renouvellement, la résiliation, la rétractation et le remboursement des abonnements sont décrits dans les conditions d’utilisation. Lorsque vous demandez à Apple le remboursement d’un abonnement acheté sur l’App Store, notre service indique à Apple, via RevenueCat, si l’abonnement a été fourni ; il n’envoie rien de vos listes, tickets ou questions. La base juridique est notre intérêt légitime à une décision correcte sur le remboursement (art. 6, paragraphe 1, point f), du RGPD) ; vous pouvez vous y opposer à privacy@cartdock.app avant de vous adresser à Apple (conditions d’utilisation, section 6).

4. Qui reçoit les données et où elles sont traitées

  • Google Cloud Run — notre service, région europe-west1 (UE).
  • Google Cloud Run — le site web de Cartdock : la page d’accueil, la page de la liste partagée et cette page.
  • Supabase — base de données, stockage des photos et des archives d’export, mises à jour de la page web ; région eu-central-1 (UE).
  • Firebase (Google) — Authentication : connexion et e-mails ; les données sont traitées uniquement aux États-Unis. Le fondement du transfert est la certification de Google LLC au titre de l’EU-U.S. Data Privacy Framework (décision d’adéquation, art. 45 du RGPD) ; si elle cesse de s’appliquer, les clauses contractuelles types de la Commission européenne (art. 46, paragraphe 2, point c), du RGPD) figurant dans les conditions de traitement des données de Google s’appliquent.
  • OpenAI Ireland Ltd. (Irlande) — sous-traitant agissant pour notre compte : lecture et traduction des tickets, réponses de Rinka. OpenAI peut transférer des données à ses sociétés affiliées et à ses sous-traitants ultérieurs hors de l’EEE, y compris aux États-Unis, sur la base des clauses contractuelles types de la Commission européenne (art. 46, paragraphe 2, point c), du RGPD) ou d’une décision d’adéquation (art. 45 du RGPD). Vous pouvez demander une copie de ces conditions à privacy@cartdock.app. OpenAI n’utilise pas ces données pour entraîner des modèles et les conserve jusqu’à 30 jours dans des journaux de surveillance des abus ; le paramètre store=false ne modifie pas cette durée.
  • Anthropic Ireland, Limited (Irlande) — sous-traitant agissant pour notre compte : lecture et traduction des tickets lorsqu’OpenAI n’est pas disponible, réponses de Rinka. Anthropic peut traiter des données hors de l’EEE, y compris aux États-Unis, sur la base des clauses contractuelles types de la Commission européenne (art. 46, paragraphe 2, point c), du RGPD) prévues par son avenant relatif au traitement des données, qui fait partie des Commercial Terms d’Anthropic. Anthropic n’utilise pas ces données pour entraîner des modèles.
  • Firebase Crashlytics (Google) — rapports de plantage des applications Android et iOS ; Google les traite sur son infrastructure mondiale, y compris aux États-Unis. Le fondement du transfert est le même que pour Firebase Authentication : l’EU-U.S. Data Privacy Framework, à défaut les clauses contractuelles types.
  • Google Analytics for Firebase (Google) — statistiques d’utilisation de l’application Android, uniquement après votre consentement ; le même fondement de transfert.
  • RevenueCat, Inc. (États-Unis) — sous-traitant agissant pour notre compte : vérification des achats d’abonnements et conservation de leur historique. Le fondement du transfert est constitué des clauses contractuelles types de la Commission européenne (art. 46, paragraphe 2, point c), du RGPD) prévues par l’avenant de RevenueCat relatif au traitement des données.
  • Google Play, App Store — vente des abonnements et encaissement du paiement, selon les conditions et les politiques de confidentialité de Google et d’Apple.
  • Google Analytics — uniquement sur la page de la liste partagée et uniquement après votre consentement.
  • Google ou Apple — reconnaissance vocale par le système de l’appareil, uniquement lorsque vous dictez.

Notre service n’appelle aucun autre service externe.

Personnes en Suisse : les mêmes destinataires et les mêmes pays s’appliquent. La Suisse reconnaît comme adéquate la protection des données dans les États de l’UE et de l’EEE et, pour les États-Unis, uniquement celle des entreprises certifiées au titre du Swiss-U.S. Data Privacy Framework, comme Google LLC. Les transferts vers RevenueCat aux États-Unis, ainsi que les transferts effectués par OpenAI et Anthropic hors de l’EEE, reposent sur les clauses contractuelles types de la Commission européenne avec les adaptations au droit suisse (art. 16, al. 2, let. d, de la loi fédérale sur la protection des données, LPD).

5. Bases juridiques

  • Consentement (art. 6, paragraphe 1, point a), du RGPD) — lecture et traduction des tickets par IA, réponses de Rinka et mémoire de la conversation, statistiques de visite sur la page de liste partagée.
  • Exécution d’un contrat (art. 6, paragraphe 1, point b), du RGPD) — compte et connexion, synchronisation et listes partagées, conservation des tickets, export et suppression.
  • Intérêt légitime (art. 6, paragraphe 1, point f), du RGPD) — journaux, protection contre la recherche de mots de passe par essais et contre les abus, limites mensuelles, décompte des utilisateurs actifs, signalements de réponses de Rinka. Notre intérêt est la sécurité du service, une répartition équitable des limites gratuites, savoir combien de personnes utilisent le service, ainsi que repérer et corriger les réponses de Rinka nuisibles ou erronées.
  • Intérêt légitime (art. 6, paragraphe 1, point f), du RGPD) — également la détection des abus, les restrictions du compte, les enregistrements de nos décisions et le code d’une adresse e-mail après la suppression du compte (section 6, section 12). Notre intérêt est que les limites gratuites et l’IA ne soient pas épuisées par une seule personne ou un programme, et que la suppression d’un compte ne lève ni les limites ni les restrictions. Pour détecter les abus, nous n’utilisons que des données que nous conservons déjà, et nous ne conservons l’adresse e-mail que sous forme de code.
  • Consentement (art. 6, paragraphe 1, point a), du RGPD) — également les statistiques d’utilisation dans l’application (section 3.11).
  • Intérêt légitime (art. 6, paragraphe 1, point f), du RGPD) — les rapports de plantage de l’application. Notre intérêt est de trouver et de corriger les plantages de l’application. Un rapport ne contient aucune donnée de compte, et vous pouvez désactiver les rapports à tout moment (section 3.11) ; les désactiver vaut opposition (art. 21 du RGPD).
  • Exécution d’un contrat (art. 6, paragraphe 1, point b), du RGPD) — également les abonnements : vérifier un achat et attribuer son forfait à votre compte (section 3.12).

6. Combien de temps nous conservons les données

  • Photos de tickets — 30 jours après leur lecture, ou moins dès qu’un ticket supprimé ne peut plus être restauré.
  • Un ticket supprimé peut être restauré pendant 7 jours ; 30 jours après la fin de ce délai, il est supprimé définitivement.
  • Questions et réponses de l’assistant — 48 heures.
  • Requêtes chez Anthropic — supprimées dans un délai de 30 jours ; si une requête est signalée comme contraire aux règles d’utilisation d’Anthropic, elle est conservée jusqu’à 2 ans, et les scores de ses contrôles de sécurité jusqu’à 7 ans.
  • Enregistrements de service des appels à l’IA pour les tickets et Rinka, sans aucun texte — jusqu’à la suppression du compte.
  • Compteurs de scans et de questions pour le budget mensuel de chaque forfait, sans lien avec un compte — le mois en cours et le mois précédent.
  • Rapports de plantage — 90 jours chez Google (Firebase Crashlytics) ; un rapport pas encore envoyé est supprimé de l’appareil dès que vous désactivez les rapports.
  • Événements des statistiques d’utilisation — 2 mois chez Google (Google Analytics for Firebase) ; les rapports ne conservent que des totaux.
  • Données d’abonnement sur notre service et chez RevenueCat — jusqu’à la suppression du compte ; lors de la suppression du compte, notre service supprime aussi votre enregistrement chez RevenueCat. La boutique conserve ses propres enregistrements d’achats selon ses conditions.
  • Signalements de réponses de Rinka — les textes jusqu’à 30 jours après la réception du signalement ; le motif et les informations sur la réponse jusqu’à la suppression du compte.
  • Lignes retirées des listes partagées — 30 jours.
  • Archive d’export — 3 jours ; le lien de téléchargement fonctionne pendant 15 minutes et est émis à nouveau sur demande.
  • Jetons de connexion — jusqu’à 90 jours ; leurs enregistrements sont supprimés 30 jours après leur expiration.
  • Compteurs de tentatives de connexion — un jour.
  • Journaux — 30 jours.
  • Enregistrements des jours d’activité — 35 jours.
  • Enregistrement d’une suppression de compte effectuée ou annulée (identifiants du compte et de l’appareil, état de la demande, dates et heures) — 12 mois après son exécution ou son annulation ; si le service a lui-même supprimé les données d’un invité — 35 jours.
  • Données sans compte (invité) — tant que l’application contacte le service ; après 14 jours sans contact, le service les supprime de la même manière qu’une suppression que vous demandez. Les données sur l’appareil restent.
  • Après la suppression d’un compte avec une adresse e-mail — jusqu’à la fin du mois plus 1 jour : un code de cette adresse (un HMAC avec une clé secrète ; l’adresse elle-même n’est pas conservée) et le nombre de scans et de questions à l’assistant de ce mois, afin qu’une nouvelle inscription avec la même adresse ce mois-là ne remette pas à zéro les limites mensuelles.
  • Une restriction du compte (section 12) — tant qu’elle s’applique et 30 jours de plus après sa fin ; si nous la levons plus tôt ou si le compte est supprimé, elle est effacée immédiatement.
  • Les enregistrements de nos décisions sur les restrictions — 12 mois à compter de la décision ; après la suppression du compte, ils sont conservés sans son identifiant ; pour un blocage d’inscription, l’enregistrement contient les 8 premiers caractères du code de l’adresse.
  • Un blocage d’inscription — un code de l’adresse e-mail (un HMAC avec une clé secrète) — jusqu’à 6 mois à compter de notre décision ; après la suppression d’un compte suspendu pour non-respect des règles, 6 mois à compter de la suppression ou jusqu’à la fin de la suspension si elle se termine plus tard.
  • Compte, tickets, listes et signalements de problèmes — jusqu’à ce que vous les supprimiez ou supprimiez le compte.
  • Montants notés sans ticket — jusqu’à la suppression du compte. Un montant que vous supprimez est marqué comme supprimé et ne figure plus dans l’archive, mais son enregistrement reste jusqu’à la suppression du compte, afin qu’une modification plus ancienne venant d’un autre appareil ne le fasse pas revenir.

Les durées ci-dessus indiquent quand les données doivent être supprimées. Elles sont ensuite supprimées par une tâche du service qui s’exécute toutes les 10 minutes tant que le service fonctionne. Quand personne n’utilise le service, il s’arrête, et la tâche s’exécute à son prochain démarrage ; les données peuvent donc être supprimées après la fin de leur durée. Les journaux sont supprimés par la plateforme Google Cloud Run elle-même.

7. Consentements

  • Au premier lancement, vous choisissez d’autoriser ou non le traitement par IA (lecture des tickets et réponses de l’assistant) et les statistiques d’utilisation et d’envoyer ou non les rapports de plantage, et vous confirmez que vous avez 16 ans ou plus.
  • La case « Autoriser le traitement par IA » n’est pas cochée par défaut. Sans consentement à l’IA, les listes fonctionnent ; la lecture des tickets et Rinka sont désactivées.
  • Les statistiques d’utilisation sont désactivées tant que vous ne les autorisez pas. Les rapports de plantage sont activés tant que vous ne les désactivez pas : ils ne reposent pas sur le consentement mais sur notre intérêt légitime (section 5), et les désactiver les arrête de la même façon. Les enregistrements des jours d’activité du service (section 3.9) sont distincts et ne dépendent pas de ces choix.
  • Vous pouvez modifier ou retirer votre consentement à tout moment : Profil → Données → Traitement des données. Le retrait prend effet immédiatement et n’affecte pas ce qui a été envoyé auparavant.
  • Sur la page de la liste partagée, le choix se modifie avec le lien « Modifier » en bas de la page.

8. Vos droits

Vous avez le droit d’accéder à vos données et d’en obtenir une copie, ainsi que les droits de rectification, d’effacement, de limitation du traitement, de portabilité des données, d’opposition au traitement et de retrait du consentement.

  • Une copie de vos données — Profil → Données → Archive → Préparer l’archive. L’archive contient les données de votre compte (le prénom et le nom que vous avez saisis, le cas échéant, le nom de votre profil Google, l’adresse e-mail, les méthodes de connexion, le forfait et les jours d’activité de la section 3.9), les appareils, les listes partagées que vous avez créées ou rejointes, avec leurs lignes, les tickets enregistrés, les montants notés sans ticket, les tâches de reconnaissance, les signalements de problèmes, les questions à l’assistant et les réponses, les signalements de réponses de Rinka, la restriction du compte et nos décisions à son sujet, et les photos. Les listes que vous n’avez pas partagées, les copies de listes partagées auxquelles vous n’avez plus accès et les tickets que vous n’avez pas encore enregistrés ne sont que sur votre appareil et ne figurent pas dans l’archive. Toute autre donnée que nous détenons à votre sujet peut être demandée à privacy@cartdock.app.
  • L’archive contient aussi vos abonnements tels que notre service les conserve (section 3.12).
  • Effacement — Profil → Données → Suppression → « Supprimer le compte et toutes les données ». Pendant 24 heures, la suppression peut être annulée ; ensuite, le service supprime le compte Firebase, les tickets, les photos, les montants notés sans ticket, les enregistrements des jours d’activité, votre participation aux listes d’autres personnes et vos appareils, et l’application efface les données du compte de l’appareil ; les listes et les tickets masqués d’autres comptes sur ce téléphone sont conservés (section 3.8). Les listes partagées que vous avez créées sont supprimées du service, avec les lignes que les membres ont ajoutées ; les membres en gardent sur leurs appareils une copie qui n’est plus mise à jour. Les lignes que vous avez ajoutées aux listes d’autres personnes y restent sans auteur. Sont conservés un enregistrement indiquant que la suppression a été effectuée et, si le compte avait une adresse e-mail, un code de cette adresse avec les chiffres du mois (section 6), ainsi que, si le compte était suspendu pour non-respect des règles, un blocage d’inscription lié à ce code (section 12). Vous pouvez supprimer le compte sans l’application, par e-mail ; la marche à suivre et ce qui est encore conservé sont décrits sur la page « Suppression du compte ».
  • Rectification — les tickets et les listes peuvent être modifiés dans l’application.
  • Pour toute autre demande, écrivez à privacy@cartdock.app.
  • Vous pouvez introduire une réclamation auprès de l’autorité de contrôle de la protection des données de votre pays ; en Pologne, il s’agit du Président de l’Office de protection des données personnelles (UODO, uodo.gov.pl) ; en Suisse, il s’agit du Préposé fédéral à la protection des données et à la transparence (PFPDT, edoeb.admin.ch), auquel vous pouvez signaler une violation des règles de protection des données.

9. Cookies et stockage du navigateur

  • La page de la liste partagée conserve dans localStorage uniquement votre réponse à la question sur les statistiques.
  • Les cookies de Google Analytics (_ga, _ga_…) n’apparaissent qu’après « Oui » et sont supprimés si vous refusez ensuite.
  • Le site web dépose un cookie, lang, contenant le code de la langue choisie, pour 1 an — uniquement lorsque vous choisissez vous-même une langue dans le sélecteur de langue. La page d’accueil et cette page n’enregistrent rien d’autre dans le navigateur.

10. Âge

L’application est destinée aux personnes de 16 ans ou plus : vous confirmez votre âge au premier lancement. La page de la liste partagée ne demande pas l’âge.

Si vous êtes en Turquie et avez moins de 18 ans, utilisez l’application avec le consentement d’un parent ou d’un représentant légal.

11. Comment les données sont protégées

  • L’application et la page échangent des données avec les services via HTTPS.
  • Les jetons d’accès et les clés de liens ne sont conservés sur le service que sous forme de hachages.
  • Les photos et les archives sont conservées dans un stockage privé ; elles ne peuvent être téléversées et téléchargées qu’au moyen d’une adresse signée temporaire valable 15 minutes.
  • Sur l’appareil, les données de connexion sont conservées dans le stockage sécurisé du système (Keychain sur iOS, Keystore sur Android).

12. Règles et restrictions du compte

Les limites gratuites, Rinka et la reconnaissance des tickets sont prévues pour un usage personnel. Lorsque vous utilisez le service, respectez quatre règles :

  1. Utilisez le service par l’application et le site web ; n’envoyez pas de requêtes avec un programme ou un script.
  2. Ne contournez pas les limites mensuelles — par exemple, ne supprimez pas votre compte pour vous réinscrire et obtenir de nouvelles limites.
  3. N’envoyez pas de liens vers des listes en masse ni à des personnes qui n’ont pas accepté de les recevoir.
  4. Ne conservez pas de contenu illicite dans des listes partagées et ne le montrez pas par un lien.

Si une règle n’est pas respectée, nous pouvons restreindre le compte. Les mesures, de la plus légère à la plus stricte :

  • Ralentissement. S’il y a trop de requêtes, le service les refuse pendant un temps (pas plus de 24 heures) et vous demande de réessayer plus tard. C’est la seule mesure qu’un programme applique sans décision d’une personne.
  • Pause de l’IA — jusqu’à 90 jours. Rinka et la reconnaissance des tickets ne fonctionnent pas pour votre compte ; une question ou un scan refusés ne sont pas décomptés de vos limites. Les listes fonctionnent.
  • Suspension — jusqu’à 180 jours. Le service n’accepte aucune modification du compte — listes partagées, tickets, liens et nom du compte — et Rinka et la reconnaissance des tickets ne fonctionnent pas. Vous pouvez toujours voir vos données, télécharger l’archive, supprimer des listes, révoquer des liens, supprimer le compte et vous déconnecter. Les listes de votre téléphone que vous n’avez pas partagées fonctionnent comme avant. Les liens vers vos listes partagées continuent de s’ouvrir ; si un signalement de contenu illicite est confirmé, nous pouvons les révoquer.
  • Blocage d’inscription — jusqu’à 6 mois à compter de la décision. Aucun nouveau compte ne peut être créé avec l’adresse e-mail ; la connexion à un compte existant fonctionne toujours. Si vous supprimez votre compte pendant qu’il est suspendu pour non-respect des règles, ses adresses e-mail sont bloquées sans nouvelle décision — en vertu de notre décision de suspension — pour 6 mois à compter de la suppression ou jusqu’à la fin de la suspension si elle se termine plus tard. L’adresse n’est conservée que sous forme de code (un HMAC avec une clé secrète).

Comment nous décidons et ce que vous pouvez faire :

  • La pause de l’IA, la suspension et le blocage d’inscription sont décidés par une personne — Siarhei Mishchanka, qui gère le service — après vérification des faits, et non par un programme. Chaque décision indique son motif et sa date de fin ; une mesure ne peut être prolongée que par une nouvelle décision. À la fin de la période, la restriction est levée d’elle-même. Un compte invité (sans connexion) n’est pas restreint ainsi : les limites mensuelles et le ralentissement s’y appliquent.
  • Pour repérer les abus, nous examinons des indicateurs tirés de données que nous conservons déjà : les coûts d’IA par compte, le nombre de nouveaux liens, les limites atteintes, les réinscriptions avec la même adresse e-mail après une suppression et le nombre de signalements de réponses de Rinka. Le contenu des listes et des tickets n’est pas utilisé pour cela, et nous ne collectons aucune nouvelle donnée.
  • Nous vous informons d’une pause de l’IA, d’une suspension ou d’un blocage d’inscription par e-mail à l’adresse du compte au plus tard lorsque la mesure prend effet : ce qui est restreint et jusqu’à quand, quelle règle n’a pas été respectée et quels faits le montrent, comment nous l’avons constaté et comment contester la décision.
  • Vos données ne sont pas supprimées pendant une restriction. La restriction et nos décisions concernant votre compte figurent dans votre archive de données (section 8) ; les enregistrements de nos décisions sont conservés 12 mois (section 6).
  • Vous pouvez contester une telle décision dans un délai de 6 mois à compter de la notification : répondez à notre e-mail ou écrivez à privacy@cartdock.app. Une personne réexamine la décision ; nous répondons dans un délai de 14 jours à compter de la réception de la contestation et, si nous sommes d’accord, levons la restriction le jour de notre réponse. Vous pouvez aussi vous opposer au traitement de données pour la détection des abus et les restrictions (art. 21 du RGPD), introduire une réclamation auprès d’une autorité de contrôle de la protection des données (art. 77 du RGPD, section 8) et saisir la justice.
  • Si vous demandez la limitation du traitement de vos données (art. 18 du RGPD), nous suspendons le compte pour ce motif le temps de traiter votre demande (jusqu’à 180 jours par décision ; si nécessaire, nous la prolongeons) : les données sont seulement conservées, et vous pouvez toujours les voir et les exporter. Les liens vers vos listes partagées continuent de fonctionner — nous vous demanderons s’il faut les révoquer, et vous pouvez aussi les révoquer vous-même. Une telle suspension n’est pas une mesure prise pour non-respect des règles : si vous supprimez le compte pendant celle-ci, aucun blocage d’inscription n’est créé, et vous pouvez vous réinscrire avec la même adresse e-mail. Avant de lever la limitation du traitement, nous vous en informerons.
  • Pour signaler un contenu illicite dans une liste partagée, utilisez le lien « Signaler un contenu illicite » sur la page de la liste ou écrivez à privacy@cartdock.app. Indiquez le numéro de lien (la page de la liste l’affiche), ce qui est illicite et pourquoi, votre nom et votre adresse e-mail, et confirmez que les informations sont exactes et complètes. Nous accuserons réception et vous informerons de notre décision.

13. Personnes aux États-Unis et au Canada

  • Do Not Track. Nous ne suivons pas les personnes sur d’autres sites ou services ; l’application et le site fonctionnent donc de la même façon avec ou sans le signal « Do Not Track » du navigateur. Sur la page de la liste partagée, Google Analytics ne fonctionne qu’après votre « Oui » (section 3.10), et l’application n’envoie de statistiques d’utilisation à Google qu’avec votre consentement (section 3.11) ; dans les deux cas, les fonctions publicitaires sont désactivées. En dehors de cela, aucun tiers ne collecte, par l’intermédiaire de Cartdock, de données sur votre activité.
  • Nous ne vendons pas de renseignements personnels et ne les communiquons pas à des fins publicitaires.
  • Canada. Notre service et ses sous-traitants conservent et traitent les données hors du Canada — dans l’Union européenne et aux États-Unis (section 4). Là, les tribunaux, les forces de l’ordre et d’autres autorités de ces pays peuvent accéder aux données en vertu de leurs lois.
  • Québec. La personne responsable de la protection des renseignements personnels est le responsable du traitement, Siarhei Mishchanka ; écrivez à privacy@cartdock.app. Avant de communiquer hors du Québec des renseignements de personnes du Québec, nous avons réalisé une évaluation des facteurs relatifs à la vie privée de ce transfert (article 17 de la Loi sur la protection des renseignements personnels dans le secteur privé).

14. Modifications de cette politique

La version en vigueur est toujours publiée à cette adresse ; sa date d’entrée en vigueur figure en haut de la page.