| Transactions | Montant, devise, date, compte, catégorie, description | Jusqu'au hard-delete du compte ou suppression manuelle par l'utilisateur | CASCADE lors du hard-delete de l'utilisateur ou du compte | At rest (BD), TLS in transit |
|---|
| Comptes | Nom, type, devise, solde courant | Jusqu'à la suppression manuelle par l'utilisateur | CASCADE supprime les transactions liées | At rest, TLS |
|---|
| Catégories | Nom, type, icône, codes MCC | Jusqu'à la suppression manuelle par l'utilisateur | CASCADE via user_id | At rest, TLS |
|---|
| Bank API tokens | Token chiffré (Monobank Personal API, consentement GoCardless) | Jusqu'à révocation par l'utilisateur ou expiration PSD2 (90 jours) | Disconnect dans Paramètres → Banques = suppression immédiate | AES-256-GCM (column-level), TLS |
|---|
| Prompts IA (voix/reçu) | Texte du prompt + réponse de Claude (pour usage log) | 30 jours dans `ai_usage_log` | Cron-cleanup après 30 jours ou purge manuelle par l'admin | TLS in transit (Anthropic API) ; le prompt est supprimé de leur infra selon le DPA |
|---|
| Audit log | Action, target, IP, user-agent, source (web/mobile/cron) | 180 jours (admin) / 30 jours (événements utilisateur) | Cron-prune après la fenêtre de rétention | At rest, TLS |
|---|
| Tentatives de connexion | Identifiant (masqué dans l'admin), IP, succès/échec, timestamp | 30 jours (pour login throttling) | Cron-prune après 30 jours | At rest, TLS |
|---|
| Marketing leads | Email, source, intent, IP, flag de consentement | Jusqu'au traitement par l'admin ou demande GDPR Art. 17 | Best-effort erase-hook lors du hard-delete d'un compte au même email | At rest, TLS |
|---|
| Tokens d'appareils push (FCM) | Token FCM, plateforme, locale, timestamp de dernier usage | Jusqu'au désabonnement ou disabled_at (UNREGISTERED depuis FCM) | CASCADE lors de la suppression de l'utilisateur | At rest, TLS |
|---|
| Sauvegardes | Snapshot complet de la BD (chiffré) | 30 jours rolling | Suppression automatique selon la rétention ; purge manuelle disponible | AES-256 avant upload vers le backup-storage |
|---|
| Web analytics (site uniquement) | Conteneur GTM + GA4 : IP anonymisée, page, referrer. Clarity : clics heatmap, DOM masqué (sans le texte des champs) | GA4 : 14 mois (par défaut). Clarity : 13 mois. Réinitialisation — via le cookie-banner « Retirer le consentement ». | Cookie-banner → « Seulement nécessaires » stoppe la collecte immédiatement. Sur /legal/cookies les mêmes toggles sont persistants. | TLS in transit ; les données sont traitées par Google (GTM/GA4) et Microsoft (Clarity) selon leurs DPA |
|---|