Files
roadwave/docs/domains/_shared/entities/breach-incidents.md
jpgiannetti b52ffb8db9 feat(rgpd): compléter documentation RGPD avec 12 nouvelles sections
Règles RGPD (docs/domains/_shared/rules/rgpd.md):
- Ajouter sections 13.11-13.22 (droits utilisateurs, mineurs, sécurité)
- Droit de rectification, opposition, limitation du traitement
- Gestion des mineurs: 13 ans minimum + consentement parental 13-15 ans
- Protection renforcée: RoadWave Kids pour < 13 ans
- Sécurité: chiffrement multi-niveaux, procédure breach 72h CNIL
- Politique de confidentialité avec versioning
- Sous-traitants, DPIA, délais de réponse

Entités (6 nouvelles):
- PARENTAL_CONSENTS + PARENTAL_CONTROLS (workflow 13-15 ans)
- PRIVACY_POLICY_VERSIONS + USER_POLICY_ACCEPTANCES
- ACCOUNT_DELETIONS (grace period 30j)
- BREACH_INCIDENTS + BREACH_AFFECTED_USERS
- USER_PROFILE_HISTORY (audit trail rectification)
- DATA_RETENTION_LOGS (purge 5 ans)

Diagrammes séquences (5 nouveaux):
- Consentement parental avec validation email
- Anonymisation GPS automatique après 24h
- Notification breach CNIL (procédure 72h)
- Export données asynchrone
- Suppression compte avec grace period

Cycles de vie (3 nouveaux + 1 enrichi):
- parental-consent-lifecycle.md
- breach-incident-lifecycle.md
- account-deletion-lifecycle.md
- user-account-lifecycle.md (ajout états mineurs, frozen)

Features BDD (4 nouvelles, 195 scénarios RGPD):
- minors-protection.feature (9 scénarios)
- data-security.feature (12 scénarios)
- privacy-policy.feature (8 scénarios)
- user-rights.feature (8 scénarios)

Infrastructure:
- Réorganiser docs générées: docs/bdd + output → generated/bdd + generated/pdf
- Mettre à jour mkdocs.yml, Makefile, scripts Python
- Ajouter /generated/ au .gitignore
2026-02-08 17:54:46 +01:00

1.4 KiB

Breach Incidents

📖 Registre violations de données (Article 33 RGPD)

Diagramme

erDiagram
    BREACH_INCIDENTS ||--o{ BREACH_AFFECTED_USERS : "impacte"
    USERS ||--o{ BREACH_AFFECTED_USERS : "est impacté"

    BREACH_INCIDENTS {
        uuid id PK
        string severity "low/medium/high/critical"
        text description
        json data_categories_affected
        int estimated_users_count
        timestamp detected_at
        timestamp contained_at
        timestamp cnil_notified_at
        timestamp users_notified_at
        text mitigation_actions
        boolean cnil_notification_required
        boolean user_notification_required
    }

    BREACH_AFFECTED_USERS {
        uuid id PK
        uuid breach_id FK
        uuid user_id FK
        timestamp notified_at
        string notification_channel "email/push/sms"
    }

Légende

Sévérité :

  • low: Pas de notification requise (mesures techniques suffisantes)
  • medium: Notification CNIL uniquement
  • high: Notification CNIL + utilisateurs
  • critical: Notification immédiate tous canaux + SMS fondateur

Timeline 72h :

  • H+0 : Détection, confinement
  • H+24 : Évaluation gravité
  • H+48 : Notification CNIL si requis
  • H+72 : Notification utilisateurs si risque élevé

Catégories de données :

  • data_categories_affected: JSON ["gps", "email", "listening_history"]