Politique de Confidentialité
Dernière mise à jour : 2026-08-25
ZeniCash est une application de finances personnelles, de trésorerie et de suivi de factures utilisée par des particuliers, des indépendants et des petites entreprises, éditée par Manor Systems, Unipessoal Lda (NIPC 519 377 753), Rua da Figueira 126, 4820-645 São Clemente, Fafe, Portugal ("nous"). Cette politique décrit quelles données nous traitons, pourquoi, où elles sont stockées, et les droits que vous avez à leur sujet.
1. Résumé
- L'application est conçue pour fonctionner hors-ligne — vos données vivent sur votre appareil par défaut.
- La Synchronisation Cloud, la connexion, la facturation et les exportations sont opt-in.
- L'OCR des reçus s'exécute sur votre appareil par défaut ; les photos de reçus ne le quittent jamais. La lecture par IA — qui envoie la photo à Google Gemini — est désactivée par défaut et ne s'exécute que si vous l'activez.
- Les rapports de plantage sont toujours actifs, pour que nous puissions corriger ce qui casse. Ils signalent la panne, pas vous.
- L'analytique produit ne fonctionne que si vous l'autorisez, et vous pouvez retirer cette autorisation à tout moment dans les Réglages.
- Nous n'utilisons pas de SDK publicitaire, et nous désactivons l'identifiant publicitaire que l'analytique collecterait par défaut.
- Nous ne vendons ni ne louons vos données.
- Nous ne faisons ni profilage, ni scoring, ni décision automatisée à votre sujet.
- Les documents que vous joignez aux écritures (photos de reçus et factures PDF) restent sur votre appareil. À partir de la version 1.5.0, avec la Synchronisation Cloud activée, ils sont également conservés dans votre espace privé, afin que vous puissiez les ouvrir depuis n'importe quel appareil.
2. Ce que nous collectons, et quand
2.1 Toujours — rien
Un utilisateur qui installe l'application et ne se connecte jamais ne produit aucune donnée sur nos serveurs. La base SQLite locale de l'application est protégée par l'isolement par application du système d'exploitation et par votre PIN / biométrie / verrouillage de l'application.
2.2 Lorsque vous vous connectez (facultatif)
La connexion n'est nécessaire que si vous choisissez d'activer la Synchronisation Cloud. Nous vous authentifions via Google Sign-In ou Apple Sign-In, et Firebase Authentication renvoie :
- Votre nom affiché (fourni par Google/Apple)
- Votre adresse e-mail
- Un identifiant utilisateur (le Firebase UID — une chaîne pseudo-aléatoire)
Ces éléments servent à cloisonner vos données dans Cloud Firestore
sous users/{uid}/… afin que vos
appareils se reconnaissent à la synchronisation.
2.3 Lorsque vous activez la Synchronisation Cloud (facultatif)
Les enregistrements financiers que vous créez — comptes, transactions, budgets, catégories, factures, avances, transactions récurrentes et similaires — sont copiés dans votre espace Firestore privé, chiffrés en transit (TLS) et au repos (Firebase). Seule votre session authentifiée peut lire ou écrire dans votre espace ; nous n'y accédons pas.
À partir de la version 1.5.0, outre les enregistrements, les documents que vous avez
joints aux écritures — photos de reçus et factures PDF — sont
également copiés. Ils résident dans un espace privé accessible
uniquement à votre session authentifiée, à
users/{uid}/receipts/. Les fichiers de
plus de 10 Mo ne sont pas copiés et restent uniquement sur
l'appareil depuis lequel ils ont été joints. Les documents sont envoyés
à l'enregistrement de l'écriture et ne sont téléchargés que
lorsque vous les ouvrez.
2.3b Lorsque vous rejoignez un espace partagé (facultatif)
Un espace partagé permet à plusieurs personnes de tenir un livre en commun. Vous n'y êtes jamais placé sans le vouloir : soit vous créez l'espace, soit vous saisissez un code d'invitation qu'on vous a donné.
Tant que vous êtes dans un espace, ce que la synchronisation cloud garderait privé devient visible pour tous ses membres — comptes, transactions, budgets, catégories, projets, transactions récurrentes, événements de trésorerie, taux de change manuels et entités, y compris tout numéro fiscal que vous avez enregistré pour un client ou un fournisseur. Votre nom et votre adresse e-mail, tels qu'ils figurent sur le compte avec lequel vous vous êtes connecté, sont également visibles par les autres membres, afin que l'application puisse indiquer à qui appartient chaque compte.
Les enregistrements de membres différents ne sont jamais fusionnés : deux comptes portant le même nom restent deux comptes. Si vous quittez un espace, votre propre livre est restauré sur votre appareil, mais ce que vous y avez apporté reste avec les membres qui demeurent — partir ne le retire pas.
Si vos enregistrements concernent d'autres personnes — le nom et le numéro fiscal d'un client, par exemple —, les partager avec les autres membres est votre décision, et il vous appartient d'avoir une base légale pour le faire.
2.4 Lorsque vous vous abonnez au Premium (facultatif)
Les abonnements in-app sont traités par Google Play Billing (Android) ou App Store In-App Purchase (iOS). La boutique gère vos données de paiement ; nous recevons uniquement l'état de votre abonnement (actif / annulé / expiré) pour que l'application débloque les fonctionnalités Premium. Nous ne voyons jamais les numéros de carte.
2.5 Taux de change
Pour convertir des soldes entre devises, l'application appelle des API publiques et gratuites de taux de change, dans cet ordre :
- exchangerate-api.com via le point d'accès open.er-api.com (principal).
- Le jeu de données CC0 fawazahmed0/exchange-api, servi par cdn.jsdelivr.net et currency-api.pages.dev en repli.
Ces requêtes ne portent qu'un code de devise de base (p. ex.
EUR) — aucun identifiant, aucune donnée de compte
ou de transaction. Les résultats sont mis en cache localement
pendant 6 heures.
2.6 OCR des reçus — sur l'appareil par défaut
Par défaut, la lecture des reçus s'exécute entièrement sur votre appareil. Lorsque vous photographiez un reçu, l'application utilise la reconnaissance de texte on-device de Google ML Kit pour extraire le fournisseur, le montant, la date et le numéro de document. L'image est traitée localement ; rien n'est envoyé à nous ni à quiconque à des fins d'OCR.
Lecture des reçus par IA — optionnelle, désactivée par défaut. Certains reçus, en particulier les tickets thermiques passés, ne peuvent pas être lus de manière fiable sur l'appareil. Pour ceux-là, vous pouvez activer la lecture des reçus par IA dans les Réglages. C'est une fonctionnalité Premium : au-delà de votre consentement, un abonnement Premium actif est requis, et sans Premium la photo du reçu reste sur l'appareil même lorsque l'option est activée. Tant que cette option est activée et que Premium est actif, la photo du reçu est envoyée à l'API Gemini de Google, qui la lit et renvoie les champs extraits. Nous vous demandons confirmation avant de l'activer, et vous pouvez la désactiver à tout moment — lorsqu'elle est désactivée, aucune photo de reçu ne quitte votre appareil.
La photo est envoyée uniquement pour effectuer cette lecture. Selon les conditions du niveau payant de l'API de Google, le contenu envoyé à l'API Gemini n'est pas utilisé pour entraîner les modèles de Google. ZeniCash ne conserve pas la photo sur ses serveurs : elle est transmise, traitée, puis supprimée. Le texte extrait est ensuite stocké sur l'appareil (et synchronisé via Cloud Firestore si la Sync est activée, comme toute autre note de transaction que vous auriez saisie vous-même).
Base légale : votre consentement (art. 6.1.a du RGPD), donné en activant l'option. Vous pouvez le retirer à tout moment en la désactivant, sans effet sur ce qui a déjà été lu.
2.7 Import de relevés bancaires
Vous pouvez importer un fichier CSV, XLSX ou OFX de relevé bancaire pour créer des transactions. Le fichier est analysé localement puis jeté ; seules les transactions que vous confirmez atterrissent dans l'application (et dans Cloud Firestore si la Sync est activée).
2b. Rapports de plantage et analytique facultative
Deux choses mesurent l'application elle-même, et non vos finances. Elles sont traitées différemment à dessein, car ce ne sont pas les mêmes données.
Rapports de plantage — toujours actifs
Quand l'application plante, Firebase Crashlytics nous transmet la panne afin que nous puissions la corriger. Ignorer que l'application a cassé sur votre téléphone n'aide personne, vous le premier. Un rapport contient la trace de l'erreur et son horodatage, la version de l'application, le modèle de l'appareil, l'architecture du processeur, la version du système et la mémoire et l'espace disponibles à ce moment, avec un identifiant d'installation. Il ne contient aucune donnée financière — ni comptes, ni opérations, ni factures, ni reçus.
Analytique produit — seulement si vous l'autorisez
Google Analytics for Firebase est installé mais ne collecte rien tant que vous n'avez pas accepté. L'application pose la question une fois ; si vous refusez, elle ne la repose jamais et rien n'est envoyé. Vous pouvez changer d'avis dans les deux sens sous Réglages → Sécurité.
Avec votre accord, elle enregistre l'usage de l'application — la fréquence d'ouverture, la durée des sessions, la version, le modèle de l'appareil et le système, ainsi qu'un pays approximatif déduit de votre adresse IP — sous un identifiant d'instance. Elle n'enregistre pas ce que vous saisissez, ce que vous gagnez ou dépensez, qui sont vos clients, ni quoi que ce soit de votre comptabilité.
3. Ce que nous NE collectons PAS
- Aucun identifiant publicitaire ou d'attribution. Google Analytics for Firebase collecterait par défaut l'identifiant publicitaire Android ; nous désactivons cette collecte dans le manifeste.
- Aucun GPS ni localisation précise. Si vous autorisez l'analytique, Google déduit un pays approximatif à partir de votre adresse IP — c'est la seule information géographique en jeu.
- Aucun contact de l'appareil (l'application stocke les fiches clients/fournisseurs que vous saisissez, pas votre carnet d'adresses)
- Aucun microphone, aucun calendrier, aucune donnée biométrique de notre côté (le SE gère la biométrie du verrouillage de l'app localement)
- Aucun profilage, scoring ou ciblage comportemental
4. Base juridique du traitement (RGPD / LGPD)
Au titre de l'Article 6 du RGPD — et des dispositions analogues de la LGPD brésilienne — nos bases juridiques sont :
- Exécution d'un contrat (Art. 6(1)(b)) — pour la création de compte, la connexion, la Synchronisation Cloud, la gestion de l'abonnement et les fonctionnalités in-app que vous choisissez d'utiliser.
- Intérêts légitimes (Art. 6(1)(f)) — pour maintenir l'infrastructure sécurisée, prévenir l'abus et la fraude, et répondre aux demandes de support que vous nous envoyez. L'évaluation d'intérêt légitime est disponible sur demande.
- Obligation légale (Art. 6(1)(c)) — pour conserver les registres minimaux de facturation requis par la législation fiscale portugaise (obligation de conservation des factures jusqu'à 10 ans).
- Consentement (Art. 6(1)(a)) — pour toute fonctionnalité opt-in future (p. ex. newsletter par e-mail). Aucune n'est actuellement exploitée.
5. Pas de profilage, pas de décision automatisée
Nous n'appliquons aucune prise de décision automatisée ni profilage au sens de l'Article 22 du RGPD à vos données. Nous ne pratiquons ni credit-scoring, ni notation de risque, ni ciblage, ni segmentation, ni autre analyse de vos données financières pour prendre des décisions ayant des effets juridiques ou significativement comparables à votre égard. Les fonctionnalités locales de l'application (alertes budgétaires, projections de trésorerie, notifications de plafond de compte) sont des calculs déterministes sur des données que vous avez vous-même saisies ; ce ne sont pas du profilage.
6. Où vivent vos données
- Sur votre appareil : dans la base SQLite de l'application, isolée par le système d'exploitation.
- Firebase Authentication et Cloud Firestore (si la Synchronisation Cloud est activée) : exploités par Google Ireland Ltd, principalement dans des régions de l'UE, avec une infrastructure de reprise après sinistre dans d'autres régions Google. Google agit en tant que sous-traitant en vertu d'un Data Processing Addendum, et les transferts internationaux (lorsqu'ils ont lieu à des fins de sauvegarde) reposent sur les Clauses Contractuelles Types (CCT/SCC).
- Firebase Cloud Storage (à partir de la version 1.5.0, si la Synchronisation Cloud est activée) : les documents joints sont stockés dans la région europe-west1 (Belgique), exploitée par Google Ireland Ltd. Seule votre session authentifiée peut les lire, les écrire ou les supprimer ; nous n'y accédons pas.
7. Sous-traitants
Nous nous appuyons sur les sous-traitants suivants. Nous disposons avec chacun d'eux d'un Data Processing Addendum ou d'une protection contractuelle équivalente.
- Google Ireland Ltd — Firebase Authentication (connexion), Cloud Firestore (stockage Sync), Google Play Billing (paiement des abonnements sur Android), ML Kit Text Recognition (uniquement on-device — aucun contenu de reçu ne quitte votre appareil) et — uniquement si vous activez la lecture des reçus par IA — l'API Gemini, qui reçoit la photo du reçu afin d'en extraire les champs (non utilisée pour entraîner des modèles).
- Apple Distribution International Ltd — Sign in with Apple (connexion sur iOS) et App Store Billing (paiement des abonnements sur iOS).
- jsDelivr (Prospect One sp. z o.o.) — CDN mondial servant le fichier JSON CC0 de taux de change du projet fawazahmed0/exchange-api.
- Cloudflare, Inc. — sert la copie de repli (Cloudflare Pages) du même jeu de données CC0.
- Hostinger International Ltd — héberge le site zenicash.com et les boîtes support@ / privacy@.
- Google Ireland Ltd — Cloud Storage for Firebase : stockage des documents que vous joignez aux écritures, dans la région europe-west1 (à partir de la version 1.5.0).
Les appels aux fournisseurs de taux de change (open.er-api.com, jsDelivr, Cloudflare) ne transportent qu'un code de devise de base à 3 lettres — aucun identifiant utilisateur, aucune donnée financière.
Nous informons les utilisateurs lorsque nous modifions matériellement cette liste, avant que le nouveau sous-traitant ne commence à traiter des données.
8. Combien de temps nous les conservons
- Données locales : jusqu'à ce que vous les supprimiez dans l'application, désinstalliez, ou utilisiez Paramètres > Avancé > Réinitialiser les données.
- Données synchronisées : jusqu'à ce que vous les supprimiez, effaciez la copie cloud dans Paramètres > Cloud Sync > Effacer les données cloud, ou supprimiez votre compte.
- Après suppression du compte : les données sont retirées immédiatement du Firestore actif ; les sauvegardes chiffrées de Firebase expirent sous 30 jours.
- Registres de facturation : l'état minimal de l'abonnement (actif / annulé / expiré et id du reçu de la boutique) est conservé jusqu'à 10 ans en application de l'obligation fiscale portugaise.
- Correspondance de support : les e-mails à support@ et privacy@ sont conservés jusqu'à 3 ans pour la traçabilité, puis supprimés.
- Documents joints dans le cloud (à partir de la version 1.5.0) : conservés tant que votre compte existe. Si vous résiliez votre abonnement, les documents déjà envoyés sont conservés 12 mois supplémentaires ; passé ce délai ils sont supprimés, et nous vous prévenons par courriel au moins 30 jours à l'avance afin que vous puissiez les télécharger. Un réabonnement fait repartir le délai. Vos copies locales ne sont jamais touchées.
9. Partage
Nous ne vendons, ne louons ni ne partageons vos données personnelles ou financières à des tiers à des fins publicitaires. Le partage au sein d'un espace partagé n'a lieu que là où vous l'avez demandé, et il est décrit à la Section 2.3b. Nous utilisons les sous-traitants listés à la Section 7 pour fournir l'infrastructure décrite. Nous pouvons divulguer des données lorsque nous y sommes légalement contraints (p. ex. décision de justice contraignante) et, lorsque la loi le permet, nous vous informerons d'une telle demande.
10. Sécurité et notification des violations
Les connexions à Firebase et aux API de taux de change utilisent TLS. Cloud Firestore chiffre les données au repos. Sur l'appareil, la base SQLite est protégée par l'isolement de stockage par application du système d'exploitation, et vous pouvez en outre activer un PIN / verrouillage biométrique in-app dans Paramètres > Sécurité. Le PIN lui-même est haché (SHA-256 avec sel) avant d'être stocké localement.
Si nous prenons connaissance d'une violation de données personnelles susceptible d'engendrer un risque pour vos droits et libertés, nous notifierons l'autorité de contrôle compétente (au Portugal, la CNPD) dans un délai de 72 heures après en avoir pris connaissance, conformément à l'Article 33 du RGPD. Si la violation est susceptible d'entraîner un risque élevé pour les utilisateurs affectés, nous les en informerons également sans retard injustifié (Article 34).
11. Vos droits
Si vous résidez dans l'UE/EEE (RGPD) ou au Royaume-Uni, vous avez le droit d'accéder, de rectifier, de porter, de restreindre ou de vous opposer au traitement de vos données, et d'introduire une réclamation auprès d'une autorité de contrôle. Au Portugal, l'autorité est la CNPD ; en France, la CNIL. Si vous résidez au Brésil (LGPD), vous bénéficiez de droits analogues.
Vous pouvez exercer la plupart de ces droits directement dans l'application :
- Accès / portabilité : Paramètres > Exporter (CSV / XLSX / PDF) — fonctionnalité Premium.
- Effacement des données cloud : Paramètres > Cloud Sync > Effacer les données cloud.
- Effacement du compte lui-même : Paramètres > Cloud Sync > Supprimer le compte, ou suivez la page publique de demande de suppression.
- Effacement local : Paramètres > Avancé > Réinitialiser les données.
Pour toute demande que nous ne pouvons satisfaire dans l'application, écrivez à privacy@zenicash.com. Nous répondons sous 30 jours.
12. Mineurs
ZeniCash est un outil destiné aux adultes et aux utilisateurs professionnels. Nous ne destinons pas le produit aux utilisateurs de moins de 16 ans et nous ne collectons pas sciemment leurs données. Si vous pensez qu'un mineur s'est connecté, écrivez à privacy@zenicash.com et nous supprimerons le compte.
13. Modifications
Nous pouvons mettre à jour cette politique lorsque l'application évolue. Les modifications matérielles seront annoncées dans l'application et sur cette page au moins 30 jours avant leur entrée en vigueur. La date "Dernière mise à jour" ci-dessus reflète toujours la version actuelle ; les versions antérieures peuvent être obtenues sur demande par e-mail.
14. Contact
Responsable du traitement : Manor Systems, Unipessoal Lda — NIPC 519 377 753.
Demandes de confidentialité et de protection des données :
privacy@zenicash.com.
Support général : support@zenicash.com.