Files
roadwave/docs/domains/_shared/entities/consents.md
jpgiannetti 23fe67470b docs: migrer schémas BDD de Mermaid vers DBML
Remplace les diagrammes Mermaid par DBML (via kroki-dbml) pour
une meilleure expressivité des schémas de base de données :
- Ajout support notes, contraintes et indexes détaillés
- Migration de tous les schémas d'entités partagées
- Ajout fichier exemple dbml-example.md
- Configuration plugin mkdocs-kroki pour rendu DBML
2026-02-12 20:49:02 +01:00

1.7 KiB

User Consents

📖 Consentements RGPD avec historique et versioning

Diagramme

Table users {
  id uuid [primary key]
}

Table user_consents {
  id uuid [primary key]
  user_id uuid [not null, ref: > users.id]
  consent_type consent_type_enum [not null]
  consent_version varchar(10) [not null, note: 'Format: v1.0, v2.0, etc.']
  accepted boolean [not null, note: 'true = opted-in, false = opted-out']
  given_at timestamp [not null, default: `now()`]
  ip_address inet [not null, note: 'Proof of consent for CNIL audits']
  user_agent text [not null, note: 'Device/browser proof']

  indexes {
    (user_id, consent_type, consent_version) [note: 'Latest consent per type']
    (user_id, given_at) [note: 'Consent history timeline']
  }
}

Enum consent_type_enum {
  geolocation_precise [note: 'Géolocalisation GPS précise (obligatoire pour contenu hyperlocal)']
  analytics [note: 'Analytics Matomo (optionnel)']
  push_notifications [note: 'Notifications push (optionnel)']
  cookies_analytics [note: 'Cookies analytiques (optionnel)']
}

Légende

Types de consentement :

  • geolocation_precise : Géolocalisation GPS précise (obligatoire pour contenu hyperlocal)
  • analytics : Analytics Matomo (optionnel)
  • push_notifications : Notifications push (optionnel)
  • cookies_analytics : Cookies analytiques (optionnel)

Versioning :

  • Chaque changement de CGU/politique = nouvelle version
  • Historique complet conservé (preuve légale)
  • Format version : v1.0, v2.0, etc.

Conformité RGPD :

  • Granularité : fonctionnel / analytique / marketing
  • Consentement libre et éclairé
  • Révocable à tout moment
  • Historique = preuve en cas de contrôle CNIL