Politique de rétention des données
Article 5.1.e RGPD · Dernière mise à jour : 2026-05-09
Conformément au principe de limitation de la conservation (Article 5.1.e RGPD), GELOC ne conserve les données personnelles que pour la durée nécessaire à la finalité du traitement. Le tableau ci-dessous détaille, par catégorie de donnée, la durée de conservation, la base légale et le mécanisme de purge appliqué.
| Catégorie | Stockage | Durée | Base légale | Purge |
|---|---|---|---|---|
| PDFs sources des deals (uploads cabinet) | Supabase Storage `dd-documents` + `dd_documents` rows | 5 ans après dernière activité du deal | Article L.123-22 Code de commerce (conservation pièces comptables) + obligation déontologique cabinet | Job Inngest `cleanup-old-doc-versions` (cron quotidien) + RTBF immédiat sur demande utilisateur |
| Findings (Red Flags), embeddings deal chunks | `dd_findings`, `dd_chunks` (embeddings voyage-law-2) | 5 ans | Aligné sur durée des PDFs sources (analyse dérivée) | Cascade `ON DELETE` lors suppression du deal parent |
| Comments, notes deal room | `dd_deal_room_comments`, `dd_comment_mentions` | 5 ans | Aligné sur durée du deal | Cascade `ON DELETE` lors suppression du deal parent |
| Conversations copilote (chat) | `dd_copilot_messages`, `dd_copilot_sessions` | 90 jours après dernier message | Données techniques transitoires (assistance utilisateur) | Cron `cleanup-rag-sessions` (hebdomadaire) |
| Audit log (immuable) | `dd_audit_log`, `dd_tabular_audit_log`, `dd_doc_edit_audit` | 5 ans | Article 30 RGPD (registre des traitements) + obligation traçabilité (CNIL recommandation 2018) | Pseudonymisation du `user_id` lors RTBF (la ligne reste pour traçabilité) — la suppression dure 5 ans après dernière activité |
| Comptes utilisateurs (auth) | `auth.users`, `profiles` | Durée de la relation contractuelle + 1 an | Article 6.1.b RGPD (exécution contrat) + L.110-4 Code de commerce | RTBF immédiat sur demande (Article 17). Délai contradictoire : 1 mois max. |
| Logs Sentry (erreurs) | Sentry SaaS | 90 jours (rétention plan Pro) | Données techniques (debugging, sécurité) | Auto-purge Sentry après 90j |
| Analytics PostHog | PostHog EU (`eu.i.posthog.com`) | 12 mois events bruts, indéfini agrégats | Consentement utilisateur (cookie banner) | Opt-out via cookie banner = arrêt envoi events |
| Embeddings jurisprudence (corpus public) | `dd_jurisprudence` (voyage-4) | Indéfinie (données publiques Légifrance) | Données publiques Légifrance — pas de PII utilisateur | N/A |
| Backups Supabase (PITR) | Supabase Pro plan | 7 jours rolling window | Continuité de service (RGPD compatible si ≤ 30j) | Auto-purge Supabase après 7j |
Droit à l'effacement (Article 17)
À tout moment, l'utilisateur peut demander l'effacement de ses données via DELETE /api/user/account/delete depuis son compte authentifié, ou par email à dpo@geloc.eu. Délai de traitement : 1 mois maximum (Article 12.3).
L'audit log conserve une trace de la suppression (timestamp, IP), mais le user_id est pseudonymisé en 00000000-0000-0000-0000-000000000000 — il est impossible de retrouver l'utilisateur à partir des entrées d'audit après suppression. Cette pseudonymisation est techniquement appliquée via une fonction SQL SECURITY DEFINERprivilégiée qui contourne le trigger d'immutabilité de l'audit log uniquement pour les besoins de l'Article 17 (compromis documenté).
Droit à la portabilité (Article 20)
L'utilisateur peut télécharger l'intégralité de ses données via GET /api/user/export. Le ZIP fourni contient les deals, findings, comments, métadonnées documents au format JSON ainsi qu'un manifeste listant ce qui est inclus / exclus avec la raison.
Backups & PITR
Les sauvegardes Supabase Pro (PITR) ont une fenêtre de 7 jours. Une donnée supprimée par l'utilisateur peut subsister dans les backups jusqu'à 7 jours, après quoi elle est purgée automatiquement par Supabase. Cette durée respecte les recommandations CNIL sur les sauvegardes (≤ 30 jours).
Contact
Toute question sur cette politique : dpo@geloc.eu