====== Sprint 19 — Gouvernance, Sécurité Avancée & Conformité ====== ===== Objectif du Sprint ===== Amener la plateforme à un niveau de maturité compatible avec : * Grands comptes * Réseaux internationaux * Franchises * Groupes immobiliers * Exploitants SaaS Enterprise À l'issue du Sprint 19 : * L'authentification forte est disponible * Le SSO d'entreprise est opérationnel * La conformité RGPD est industrialisée * Les consentements sont traçables * Les données sont classifiées * Les risques sont suivis * Les politiques de sécurité sont appliquées * Les audits réglementaires sont facilités Ce sprint constitue la couche de gouvernance et de conformité de niveau Enterprise. ---- ====== Objectifs de Conformité ====== ===== Référentiels visés ===== RGPD ISO 27001 SOC 2 OWASP ASVS NIS2 (préparation) eIDAS (intégrations signature) ---- ====== Périmètre ====== ===== Modules concernés ===== SecurityModule ComplianceModule DataGovernanceModule IdentityModule RiskManagementModule ConsentManagementModule AuditComplianceModule ---- ====== Gestion des identités ====== ===== US-1901 : Authentification MFA ===== **En tant qu'utilisateur** Je souhaite sécuriser mon compte Afin de réduire le risque d'usurpation. ---- ===== Méthodes ===== TOTP Email OTP SMS OTP Application Authenticator ---- ===== Endpoint ===== POST /security/mfa/enable POST /security/mfa/verify ---- ====== US-1902 : Gestion des appareils de confiance ====== ===== Données ===== Navigateur Appareil Date Adresse IP ---- ====== SSO Entreprise ====== ===== US-1903 : Authentification SAML ===== ===== Compatibilité ===== Microsoft Entra ID Okta Google Workspace Keycloak ---- ===== Endpoint ===== POST /identity/saml/configuration ---- ====== US-1904 : Authentification OIDC ===== ===== Compatibilité ===== OpenID Connect OAuth2 Azure AD Auth0 ---- ====== Gestion des sessions ====== ===== US-1905 : Révoquer une session ===== ===== Endpoint ===== DELETE /sessions/{id} ---- ===== Informations ===== IP Pays Navigateur Date connexion ---- ====== Gestion des consentements ====== ===== US-1906 : Collecter un consentement ===== ===== Types ===== RGPD Cookies Marketing SMS Email ---- ===== Endpoint ===== POST /consents ---- ====== US-1907 : Retirer un consentement ===== ===== Endpoint ===== DELETE /consents/{id} ---- ===== Traçabilité ===== Date Version texte IP Canal ---- ====== RGPD ====== ===== US-1908 : Export des données personnelles ===== ===== Endpoint ===== GET /privacy/export ---- ===== Format ===== ZIP JSON PDF ---- ====== US-1909 : Droit à l'effacement ===== ===== Endpoint ===== POST /privacy/erase ---- ===== Stratégie ===== Anonymisation Pseudonymisation Suppression ---- ====== US-1910 : Registre des traitements ===== ===== Objectif ===== Tracer tous les traitements de données. ---- ===== Informations ===== Finalité Base légale Durée conservation Responsable ---- ====== Classification des données ====== ===== US-1911 : Classifier les données ===== ===== Niveaux ===== PUBLIC INTERNAL CONFIDENTIAL RESTRICTED ---- ===== Entités concernées ===== Clients Paiements Contrats Documents Logs ---- ====== US-1912 : Appliquer des règles de rétention ===== ===== Exemple ===== Logs 1 an ---------------- Contrats 10 ans ---------------- Consentements 5 ans ---- ====== Gestion des risques ====== ===== US-1913 : Créer un risque ===== ===== Endpoint ===== POST /risk-management/risks ---- ===== Données ===== Titre Description Probabilité Impact Mesures ---- ====== US-1914 : Évaluer un risque ===== ===== Score ===== :contentReference[oaicite:0]{index=0} ---- ===== Niveaux ===== LOW MEDIUM HIGH CRITICAL ---- ====== Politiques de sécurité ====== ===== US-1915 : Gérer les politiques ===== ===== Exemples ===== Complexité mot de passe Rotation secrets Durée session MFA obligatoire ---- ===== Endpoint ===== GET /security/policies PUT /security/policies ---- ====== Journalisation légale ====== ===== US-1916 : Journal de conformité ===== ===== Informations ===== Utilisateur Action Date IP Résultat ---- ===== Caractéristiques ===== Immuable Horodaté Audité ---- ====== Détection d'incidents ====== ===== US-1917 : Détecter une activité suspecte ===== ===== Exemples ===== Connexions multiples Pays inhabituels Escalade privilèges Export massif ---- ====== US-1918 : Déclarer un incident ===== ===== Workflow ===== Détection ↓ Qualification ↓ Traitement ↓ Clôture ---- ====== Modèle Prisma ====== ===== Consent ===== model Consent { id String @id @default(uuid()) userId String consentType String granted Boolean grantedAt DateTime version String } ---- ===== SecurityPolicy ===== model SecurityPolicy { id String @id @default(uuid()) code String configuration Json } ---- ===== Risk ===== model Risk { id String @id @default(uuid()) title String probability Int impact Int score Int } ---- ===== DataClassification ===== model DataClassification { id String @id @default(uuid()) entityType String classification String } ---- ===== ComplianceAudit ===== model ComplianceAudit { id String @id @default(uuid()) auditType String status String executedAt DateTime } ---- ====== Architecture Backend ====== src/modules/security ├── identity │ ├── mfa │ ├── sso │ ├── privacy │ ├── consents │ ├── compliance │ ├── governance │ └── risks ---- ====== Domain Services ====== IdentityService MfaService ConsentService PrivacyService RiskManagementService ComplianceService ---- ====== Événements métier ====== ===== MfaEnabled ===== MfaEnabled ---- ===== ConsentGranted ===== ConsentGranted ---- ===== RiskCreated ===== RiskCreated ---- ===== SecurityIncidentDetected ===== SecurityIncidentDetected ---- ====== Intégrations ====== ===== SSO ===== Microsoft Entra ID Okta Auth0 Keycloak ---- ===== MFA ===== Google Authenticator Microsoft Authenticator Authy ---- ====== Swagger ====== ===== Tags ===== Security Identity Privacy Compliance Governance RiskManagement ---- ===== Volume API ===== Environ : 35 endpoints ---- ====== Frontend ====== ===== Pages ===== /security /security/mfa /security/sessions /security/consents /security/privacy /security/risks /security/compliance ---- ===== Composants ===== MfaSetupWizard ConsentManager PrivacyCenter RiskMatrix SecurityPolicyEditor ComplianceDashboard ---- ====== Dashboard Gouvernance ====== ===== KPI ===== Consentements Risques ouverts Incidents Sessions actives Conformité RGPD Conformité sécurité ---- ====== Tests ====== ===== Unitaires ===== MfaService ConsentService PrivacyService RiskManagementService ---- ===== Intégration ===== Connexion ↓ MFA ↓ Accès ↓ Audit ---- ===== E2E ===== Activation MFA ↓ Connexion ↓ Consentement ↓ Export RGPD ↓ Audit conformité ---- ====== Définition de terminé ====== Le Sprint 19 est terminé lorsque : * MFA opérationnel * SSO opérationnel * Consentements opérationnels * RGPD opérationnel * Gouvernance opérationnelle * Gestion des risques opérationnelle * Journalisation légale opérationnelle * Swagger à jour * Tests verts * CI verte ---- ====== Livrables ====== * SecurityModule * ComplianceModule * DataGovernanceModule * IdentityModule * RiskManagementModule * ConsentManagementModule * AuditComplianceModule * DTO * Swagger * Tests * Migrations Prisma ---- ====== Bilan Release 3.5 ====== À l'issue du Sprint 19 : * Niveau Enterprise atteint * Sécurité renforcée * Conformité RGPD industrialisée * Gouvernance des données * Gestion des risques * Auditabilité complète La plateforme est désormais compatible avec les exigences des grands groupes et des déploiements internationaux. ---- ====== Sprint suivant ====== ===== Sprint 20 — Scalabilité, Internationalisation & Release Enterprise ===== Objectif : Finaliser la plateforme pour une commercialisation internationale à grande échelle. Modules concernés : InternationalizationModule MultiCurrencyModule LocalizationModule ScalabilityModule EnterpriseReleaseModule Fonctionnalités : * Multi-langues * Multi-devises * Multi-fuseaux horaires * Déploiement multi-régions * Scalabilité horizontale * Optimisations performances * Packaging Enterprise À l'issue du Sprint 20, la plateforme atteindra sa Release Enterprise 4.0 prête pour une commercialisation internationale.