Files
roadwave/docs/domains/_shared/entities/privacy-policy-versions.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.8 KiB

Privacy Policy Versions

📖 Versioning politique de confidentialité (Articles 13-14 RGPD)

Diagramme

Table privacy_policy_versions {
  id uuid [primary key]
  version varchar(10) [not null, unique, note: 'Format: v1.0, v2.0, etc.']
  content_markdown text [not null, note: 'Source: docs/legal/politique-confidentialite.md (versionné Git)']
  major_change boolean [not null, default: false, note: 'true = popup obligatoire pour tous les users']
  changelog text [not null, note: 'Résumé des changements pour communication']
  effective_date timestamp [not null, note: 'Date d entrée en vigueur de cette version']
  created_at timestamp [not null, default: `now()`]

  indexes {
    (version) [unique]
    (effective_date) [note: 'Order versions chronologically']
  }
}

Table users {
  id uuid [primary key]
}

Table user_policy_acceptances {
  id uuid [primary key]
  user_id uuid [not null, ref: > users.id]
  policy_version_id uuid [not null, ref: > privacy_policy_versions.id]
  accepted boolean [not null, note: 'true = accepté, false = refusé (compte gelé)']
  accepted_at timestamp [not null, default: `now()`]
  ip_address inet [not null, note: 'IP de l utilisateur lors de l acceptation (preuve CNIL)']

  indexes {
    (user_id, policy_version_id) [unique, note: 'Un user ne peut accepter qu une fois une version']
    (user_id, accepted_at) [note: 'Historique acceptations user']
    (policy_version_id) [note: 'Count acceptances par version']
  }
}

Légende

Versioning :

  • major_change: true → popup obligatoire pour tous les utilisateurs
  • major_change: false → notification simple
  • Fichier source : docs/legal/politique-confidentialite.md (versionné Git)

Popup si changement majeur :

  • Utilisateur doit accepter nouvelle version pour continuer
  • Refus → compte gelé (lecture seule)