- Ajouter ADR-018 (librairies Go) dans TECHNICAL.md - Transformer Shared en menu dépliable dans mkdocs (cohérence avec autres domaines) - Corriger listes markdown (ajout lignes vides avant listes) - Corriger line breaks dans génération BDD (étapes "Et" sur nouvelles lignes) - Ajouter script fix-markdown-lists.sh pour corrections futures Impacte 86 fichiers de documentation et 164 fichiers BDD générés.
620 lines
17 KiB
Markdown
620 lines
17 KiB
Markdown
## 13. Conformité RGPD
|
|
|
|
### 13.1 Gestion du consentement
|
|
|
|
**Décision** : Tarteaucitron.js + PostgreSQL backend
|
|
|
|
**Implémentation web** :
|
|
|
|
- ✅ Tarteaucitron.js (opensource, self-hosted)
|
|
- ✅ Banner RGPD français, customisable
|
|
- ✅ Granularité : fonctionnel / analytique / marketing
|
|
|
|
**Implémentation backend** :
|
|
|
|
- Table `user_consents` avec versioning
|
|
- Champs : user_id, consent_type, version, accepted, timestamp
|
|
- Historique complet conservé (preuve légale)
|
|
|
|
**Consentements requis** :
|
|
|
|
- **Géolocalisation précise** : obligatoire (banner + permission OS)
|
|
- **Analytics** : optionnel (Matomo)
|
|
- **Notifications push** : optionnel (permission OS)
|
|
|
|
**Justification** :
|
|
|
|
- Opensource, 0€, conformité RGPD garantie
|
|
- Historique backend = preuve légale en cas de contrôle
|
|
- Granularité conforme recommandations CNIL
|
|
|
|
---
|
|
|
|
### 13.2 Anonymisation des données GPS
|
|
|
|
**Décision** : Geohash après 24h
|
|
|
|
**Processus** :
|
|
1. Données précises conservées **24h** (recommandation personnalisée)
|
|
2. Après 24h : conversion en geohash précision 5 (~5km²)
|
|
3. Coordonnées originales supprimées définitivement
|
|
4. Job quotidien automatique via cron
|
|
|
|
**Exceptions** :
|
|
|
|
- ✅ Historique personnel visible (liste trajets) : conservation intégrale tant que compte actif
|
|
- ❌ Analytics globales : uniquement geohash anonyme
|
|
|
|
**Justification** :
|
|
|
|
- Vraie anonymisation RGPD (CNIL compliant)
|
|
- Permet analytics agrégées (heatmaps trafic)
|
|
- PostGIS natif, 0€
|
|
|
|
---
|
|
|
|
### 13.3 Export des données (portabilité)
|
|
|
|
**Décision** : JSON + HTML + ZIP, génération asynchrone
|
|
|
|
**Format export** : Archive ZIP contenant JSON (machine-readable), HTML (human-readable), fichiers audio, README
|
|
|
|
**Données exportées** :
|
|
|
|
- Profil utilisateur (email, pseudo, date inscription, bio)
|
|
- Historique d'écoute (titres, dates, durées)
|
|
- Contenus créés (audio + métadonnées)
|
|
- Abonnements et likes
|
|
- Centres d'intérêt (jauges)
|
|
- Historique consentements
|
|
|
|
**Processus** :
|
|
1. Demande via paramètres compte
|
|
2. Génération asynchrone (worker background)
|
|
3. Email avec lien download (expire **7 jours**)
|
|
4. Délai : **48h maximum** (conformité RGPD)
|
|
|
|
**Limite** :
|
|
|
|
- Maximum **1 export/mois** (anti-abus)
|
|
|
|
**Justification** :
|
|
|
|
- Conformité article 20 RGPD (portabilité)
|
|
- Double format (human + machine)
|
|
- Worker asynchrone évite timeout
|
|
|
|
---
|
|
|
|
### 13.4 Suppression du compte
|
|
|
|
**Décision** : Grace period 30j + anonymisation contenus
|
|
|
|
**Processus** :
|
|
1. Utilisateur clique "Supprimer mon compte"
|
|
2. Compte désactivé immédiatement (login impossible)
|
|
3. Contenus cachés pendant 30 jours (non diffusés)
|
|
4. Email confirmation + lien annulation (valide 30j)
|
|
5. Après 30j sans annulation : suppression effective
|
|
|
|
**Suppression effective** :
|
|
|
|
- ✅ Compte utilisateur supprimé (données personnelles)
|
|
- ✅ Historique d'écoute supprimé
|
|
- ✅ GPS historique supprimé
|
|
- ✅ Sessions et tokens révoqués
|
|
- ⚠️ Contenus créés **anonymisés** (créateur = "Utilisateur supprimé")
|
|
- ⚠️ Likes et abonnements supprimés (mais compteurs préservés)
|
|
|
|
**Contenus conservés anonymement** :
|
|
|
|
- Audio files (CDN)
|
|
- Métadonnées (titre, description, tags, géolocalisation)
|
|
- Statistiques d'écoute
|
|
|
|
**Justification** :
|
|
|
|
- Grace period évite suppressions impulsives
|
|
- Anonymisation contenus = intérêt légitime communauté
|
|
- Conforme RGPD si créateur = donnée supprimée
|
|
|
|
---
|
|
|
|
### 13.5 Mode dégradé (sans GPS précis)
|
|
|
|
**Décision** : GeoIP par défaut, GPS optionnel
|
|
|
|
**Niveaux de précision** :
|
|
|
|
| Niveau | Technologie | Contenus accessibles | Consentement |
|
|
|--------|-------------|---------------------|--------------|
|
|
| **Pays** | Aucune géoloc | Contenus nationaux uniquement | ❌ Non requis |
|
|
| **Ville** | GeoIP (IP2Location) | Contenus régionaux/ville | ❌ Non requis |
|
|
| **Précis** | GPS | Tous contenus (hyperlocaux inclus) | ✅ Requis |
|
|
|
|
**Implémentation** :
|
|
|
|
- Démarrage app : GeoIP automatique (IP → ville)
|
|
- Banner in-app : "Activez la géolocalisation pour découvrir du contenu près de chez vous"
|
|
- Upgrade volontaire vers GPS
|
|
|
|
**API GeoIP** :
|
|
|
|
- IP2Location Lite (gratuit, self-hosted, voir [ADR-019](../../../adr/019-geolocalisation-ip.md))
|
|
- Update DB mensuelle automatique
|
|
- Précision ~80% au niveau ville
|
|
|
|
**Justification** :
|
|
|
|
- RGPD : pas de consentement requis pour GeoIP (pas de donnée personnelle)
|
|
- UX dégradée acceptable (contenus disponibles)
|
|
- Progressive disclosure (upgrade optionnel)
|
|
|
|
---
|
|
|
|
### 13.6 Durée de conservation des données
|
|
|
|
**Décision** : 5 ans inactivité → purge automatique
|
|
|
|
**Règles** :
|
|
|
|
| Type de compte | Seuil inactivité | Action |
|
|
|----------------|------------------|--------|
|
|
| **Auditeur uniquement** | 5 ans sans connexion | Suppression automatique |
|
|
| **Créateur avec contenus actifs** | Jamais (tant qu'écoutes) | Conservation indéfinie |
|
|
| **Créateur inactif** | 5 ans sans connexion + 2 ans sans écoute | Suppression automatique |
|
|
|
|
**Notifications avant suppression** :
|
|
|
|
- Email + push : **90 jours** avant
|
|
- Email + push : **30 jours** avant
|
|
- Email + push : **7 jours** avant
|
|
- Toute connexion = reset compteur inactivité
|
|
|
|
**Contenu conservé** :
|
|
|
|
- Contenus créés par comptes supprimés (anonymisés) : conservation indéfinie
|
|
|
|
**Justification** :
|
|
|
|
- Conformité principe minimisation RGPD
|
|
- 5 ans = équilibre raisonnable (standard industrie)
|
|
- Exception créateurs actifs = intérêt légitime plateforme
|
|
|
|
---
|
|
|
|
### 13.7 Cookies et trackers web
|
|
|
|
**Décision** : Matomo self-hosted, zéro cookie tiers
|
|
|
|
**Cookies utilisés** :
|
|
|
|
| Cookie | Type | Durée | Finalité | Consentement |
|
|
|--------|------|-------|----------|--------------|
|
|
| `session` | Technique | 30j | Authentification | ❌ Non requis |
|
|
| `refresh_token` | Technique | 30j | Session persistante | ❌ Non requis |
|
|
| `_pk_id` | Analytique | 13 mois | Matomo (IP anonyme) | ✅ Requis |
|
|
|
|
**Analytics : Matomo self-hosted** :
|
|
|
|
- Hébergé sur nos serveurs (Docker)
|
|
- IP anonymisées automatiquement (2 derniers octets)
|
|
- Pas de cookie si consentement refusé
|
|
- Alternative : Plausible (SaaS EU, 9€/mois)
|
|
|
|
**Trackers interdits** :
|
|
|
|
- ❌ Google Analytics
|
|
- ❌ Facebook Pixel
|
|
- ❌ Hotjar, Mixpanel, etc.
|
|
|
|
**Justification** :
|
|
|
|
- Souveraineté données (pas de transfert US)
|
|
- Conformité RGPD max (CNIL compatible)
|
|
- Matomo = opensource, 0€ infra
|
|
|
|
---
|
|
|
|
### 13.8 Registre des traitements
|
|
|
|
**Décision** : Document Markdown versionné Git (MVP)
|
|
|
|
**Emplacement** :
|
|
|
|
- `docs/rgpd/registre-traitements.md`
|
|
- Versionné Git (historique modifications)
|
|
|
|
**Contenu obligatoire par traitement** :
|
|
|
|
- Nom et finalité du traitement
|
|
- Catégories de données collectées
|
|
- Base légale (consentement / contrat / intérêt légitime)
|
|
- Durée de conservation
|
|
- Destinataires (sous-traitants, CDN, etc.)
|
|
- Transferts hors UE (aucun prévu)
|
|
|
|
**Responsable** :
|
|
|
|
- DPO / Fondateur
|
|
- Review trimestrielle obligatoire
|
|
- Update immédiate si nouveau traitement
|
|
|
|
**Migration future** :
|
|
|
|
- Si > 100K utilisateurs : interface admin PostgreSQL
|
|
|
|
**Justification** :
|
|
|
|
- Obligation RGPD Article 30
|
|
- Markdown = simple, versionné, auditable
|
|
- 0€
|
|
|
|
---
|
|
|
|
### 13.9 Notification violations de données (breach)
|
|
|
|
**Décision** : Monitoring + alertes + runbook
|
|
|
|
**Détection automatique** :
|
|
|
|
| Événement | Outil | Alerte |
|
|
|-----------|-------|--------|
|
|
| Erreurs backend critiques | Sentry | Discord/Slack immédiat |
|
|
| Pic requêtes anormal | Grafana | Email équipe |
|
|
| Accès non autorisé DB | PostgreSQL logs | SMS fondateur |
|
|
| Authentification suspecte | Zitadel alerts | Email équipe |
|
|
|
|
**Procédure breach** :
|
|
|
|
- Runbook : `docs/rgpd/procedure-breach.md`
|
|
- Checklist 72h CNIL :
|
|
1. H+0 : Détection et confinement
|
|
2. H+24 : Évaluation gravité (données concernées, utilisateurs impactés)
|
|
3. H+48 : Notification CNIL si risque pour utilisateurs
|
|
4. H+72 : Notification utilisateurs si risque élevé
|
|
|
|
**Contact CNIL** :
|
|
|
|
- Email pré-rédigé (template)
|
|
- Formulaire en ligne (account CNIL créé)
|
|
|
|
**Justification** :
|
|
|
|
- Obligation RGPD Article 33 (notification 72h)
|
|
- Monitoring proactif évite découverte tardive
|
|
- Sentry gratuit < 5K events/mois
|
|
|
|
---
|
|
|
|
### 13.10 DPO (Délégué à la Protection des Données)
|
|
|
|
**Décision** : Fondateur = DPO temporaire (MVP)
|
|
|
|
**Raison légale** :
|
|
|
|
- Non obligatoire si :
|
|
- < 250 employés
|
|
- Pas de traitement à grande échelle de données sensibles
|
|
- RoadWave : données localisation = sensible MAIS échelle MVP
|
|
|
|
**Formation** :
|
|
|
|
- CNIL : formation gratuite en ligne (4h)
|
|
- Certification CNIL "Atelier RGPD" (gratuit)
|
|
|
|
**Contact** :
|
|
|
|
- Email : dpo@roadwave.fr
|
|
- Publié dans CGU et mentions légales
|
|
- Délai réponse : **1 mois** (RGPD)
|
|
|
|
**Migration future** :
|
|
|
|
- Si > 100K utilisateurs : DPO externe mutualisé (~200€/mois)
|
|
- Ou recrutement DPO interne si > 10 employés
|
|
|
|
**Justification** :
|
|
|
|
- Conforme RGPD (non obligatoire en phase MVP)
|
|
- 0€, contrôle total
|
|
- Bonne pratique : avoir un contact identifié
|
|
|
|
---
|
|
|
|
### 13.11 Droit de rectification
|
|
|
|
**Décision** : Interface self-service + validation immédiate
|
|
|
|
**Données rectifiables** :
|
|
|
|
- Email (avec re-vérification)
|
|
- Pseudo (unique, disponibilité vérifiée)
|
|
- Bio / description
|
|
- Centres d'intérêt (jauges)
|
|
- Photo de profil
|
|
|
|
**Processus** :
|
|
|
|
- Changements immédiats (sauf email)
|
|
- Email : lien vérification → validation sous 24h
|
|
- Historique modifications conservé (audit trail)
|
|
|
|
**Limitations** :
|
|
|
|
- Pseudo : max 1 changement/30j (anti-squat)
|
|
|
|
**Justification** : Conformité Article 16 RGPD, self-service 0€
|
|
|
|
---
|
|
|
|
### 13.12 Droit d'opposition
|
|
|
|
**Décision** : Opt-out granulaire, effet immédiat
|
|
|
|
| Traitement | Toggle | Effet |
|
|
|------------|--------|-------|
|
|
| **Marketing email** | Paramètres | Stop emails promo |
|
|
| **Notifications push** | Paramètres | Stop push marketing |
|
|
| **Analytics** | Banner RGPD | Exclusion Matomo |
|
|
| **Recommandations personnalisées** | "Mode anonyme" | Reco génériques uniquement |
|
|
|
|
**Mode anonyme** :
|
|
|
|
- Désactive algorithme (jauges ignorées)
|
|
- Recommandations = top contenus zone géo uniquement
|
|
- Historique non utilisé
|
|
|
|
**Justification** : Conformité Article 21 RGPD
|
|
|
|
---
|
|
|
|
### 13.13 Droit à la limitation du traitement
|
|
|
|
**Décision** : "Geler mon compte" temporaire
|
|
|
|
**Effets** :
|
|
|
|
- Compte gelé, contenus cachés, profil invisible
|
|
- Connexion lecture seule OK
|
|
- Réactivation à tout moment
|
|
|
|
**Justification** : Conformité Article 18 RGPD
|
|
|
|
---
|
|
|
|
### 13.14 Politique de confidentialité
|
|
|
|
**Décision** : Page web + popup in-app + versioning Git
|
|
|
|
**Emplacement** :
|
|
|
|
- Web : `roadwave.fr/confidentialite`
|
|
- App : page dédiée paramètres
|
|
- Popup première connexion (scroll requis)
|
|
|
|
**Contenu** : Identité responsable, finalités, base légale, destinataires, durées, droits, transferts UE
|
|
|
|
**Versioning** : Git + DB `privacy_policy_versions`, popup si changement majeur
|
|
|
|
**Justification** : Conformité Articles 13-14 RGPD
|
|
|
|
---
|
|
|
|
### 13.15 Minimisation des données
|
|
|
|
**Décision** : Collecte strictement nécessaire
|
|
|
|
| Donnée | Finalité | Optionnel |
|
|
|--------|----------|-----------|
|
|
| Email | Authentification | ❌ |
|
|
| Pseudo | Identité publique | ❌ |
|
|
| GPS précis | Reco hyperlocales | ✅ (GeoIP fallback) |
|
|
| Jauges intérêt | Reco thématiques | ✅ |
|
|
| Date naissance | Vérifier âge minimum | ❌ (année seule) |
|
|
|
|
**Non collecté** : nom/prénom réels, adresse postale (sauf créateurs payés), téléphone (sauf 2FA optionnel)
|
|
|
|
**Justification** : Conformité Article 5.1.c RGPD
|
|
|
|
---
|
|
|
|
### 13.16 Sécurité des données
|
|
|
|
**Décision** : Chiffrement multi-niveaux
|
|
|
|
| Couche | Implémentation |
|
|
|--------|----------------|
|
|
| Transport | TLS 1.3 ([ADR-006](../../../adr/006-chiffrement.md)) |
|
|
| DB | PostgreSQL encryption at rest AES-256 |
|
|
| Tokens | JWT RS256 + rotation 90j |
|
|
| CDN | Signed URLs expirables |
|
|
| Backups | AES-256 + offsite |
|
|
|
|
**Mesures orga** : Whitelist IP, Vault secrets, logs anonymisés, 2FA admins, pentest annuel
|
|
|
|
**Justification** : Conformité Article 32 RGPD
|
|
|
|
---
|
|
|
|
### 13.17 Transferts hors UE
|
|
|
|
**Décision** : Hébergement 100% France/UE
|
|
|
|
| Service | Localisation | Transfert UE |
|
|
|---------|--------------|--------------|
|
|
| Hébergement | OVH France | ❌ |
|
|
| Database | OVH France | ❌ |
|
|
| CDN | Bunny.net EU | ❌ |
|
|
| Matomo | Self-hosted France | ❌ |
|
|
|
|
**Si CDN global futur** : Clauses Contractuelles Types (CCE) 2021
|
|
|
|
**Justification** : Conformité Articles 44-50 RGPD, souveraineté données
|
|
|
|
---
|
|
|
|
### 13.18 Profilage et décisions automatisées
|
|
|
|
**Décision** : Transparence + droit opposition
|
|
|
|
| Traitement | Impact | Intervention humaine | Opposition |
|
|
|------------|--------|---------------------|------------|
|
|
| Recommandations | Faible | ❌ | ✅ (mode anonyme) |
|
|
| Modération auto | Élevé | ✅ (review 24h) | ✅ (appeal) |
|
|
|
|
**Transparence** : Page "Comment fonctionne l'algo ?", explications simplifiées
|
|
|
|
**Justification** : Conformité Article 22 RGPD
|
|
|
|
---
|
|
|
|
### 13.19 Gestion des mineurs
|
|
|
|
**Décision** : 13 ans minimum + consentement parental 13-15 ans + RoadWave Kids
|
|
|
|
#### App principale (RoadWave)
|
|
|
|
**Âge minimum** : **13 ans** (alignement YouTube/TikTok)
|
|
|
|
**Processus inscription** :
|
|
1. Saisie date naissance (JJ/MM/AAAA)
|
|
2. **Si < 13 ans** : blocage + message redirection RoadWave Kids
|
|
3. **Si 13-15 ans** : workflow consentement parental
|
|
4. **Si ≥ 16 ans** : inscription directe
|
|
|
|
**Workflow consentement parental (13-15 ans)** :
|
|
1. Ado saisit email parent
|
|
2. Email automatique parent avec lien validation (expire 7j)
|
|
3. Parent clique lien → page dédiée avec résumé données collectées, paramètres contrôle parental, checkbox consentement
|
|
4. Validation parent → compte ado activé avec restrictions
|
|
|
|
**Restrictions 13-15 ans** :
|
|
|
|
- ✅ Écoute contenus autorisés
|
|
- ✅ Création contenus (modération renforcée)
|
|
- ⚠️ GPS précis : consentement parental explicite requis
|
|
- ⚠️ Messagerie privée : désactivée par défaut
|
|
- ⚠️ Contenus sensibles : filtrés (pas de contenu +16)
|
|
- ⚠️ Profil public limité (pas d'affichage ville précise)
|
|
|
|
**Contrôles parentaux** :
|
|
|
|
- Dashboard parent : `roadwave.fr/parent/[child_id]`
|
|
- Visualisation historique écoute
|
|
- Activation/désactivation GPS précis
|
|
- Activation/désactivation messagerie
|
|
- Révocation consentement à tout moment
|
|
- Notification hebdomadaire activité
|
|
|
|
**Vérification légère identité parent** :
|
|
|
|
- Email parent ≠ email ado (vérification domaine)
|
|
- Lien expiration 7 jours
|
|
- Pas de vérification identité forte (MVP)
|
|
|
|
#### RoadWave Kids (< 13 ans)
|
|
|
|
**App dédiée** : Version séparée avec contrôles renforcés
|
|
|
|
**Caractéristiques** :
|
|
|
|
- ❌ Pas de GPS précis (GeoIP ville uniquement)
|
|
- ❌ Pas de création contenu
|
|
- ❌ Pas de profil public
|
|
- ❌ Pas de messagerie
|
|
- ✅ Contenus présélectionnés (whitelist éditoriale)
|
|
- ✅ Mode lecture seule
|
|
- ✅ Contrôle parental obligatoire
|
|
|
|
**Contenus autorisés** :
|
|
|
|
- Contes audio enfants
|
|
- Guides touristiques famille
|
|
- Podcasts éducatifs labellisés
|
|
- Histoires locales patrimoine
|
|
|
|
**Workflow inscription** :
|
|
1. Création compte parent (RoadWave standard)
|
|
2. Ajout profil enfant dans dashboard parent
|
|
3. App Kids : login via QR code parent
|
|
4. Pas de compte autonome enfant
|
|
|
|
**Modération** :
|
|
|
|
- 100% contenus présélectionnés par équipe éditoriale
|
|
- Aucun UGC accessible
|
|
- Whitelist créateurs vérifiés uniquement
|
|
|
|
**Justification** :
|
|
|
|
- Conformité Article 8 RGPD (13-16 ans selon pays)
|
|
- 13 ans France = seuil légal avec consentement parental
|
|
- App Kids = protection renforcée < 13 ans
|
|
- Alignement marché (YouTube 13+, YouTube Kids)
|
|
|
|
**Roadmap** :
|
|
|
|
- **MVP** : App principale 16+ uniquement (simplicité)
|
|
- **Phase 2** : Workflow 13-15 ans + consentement parental
|
|
- **Phase 3** : RoadWave Kids (app séparée)
|
|
|
|
---
|
|
|
|
### 13.20 Sous-traitants et DPA
|
|
|
|
**Décision** : DPA systématique, audit annuel
|
|
|
|
| Service | Traitement | Localisation | DPA | Certifications |
|
|
|---------|------------|--------------|-----|----------------|
|
|
| OVH | Hébergement | France | ✅ | ISO 27001, HDS |
|
|
| Bunny.net | CDN | UE | ✅ | ISO 27001 |
|
|
| Brevo | Emailing | France | ✅ | RGPD certified |
|
|
| Mangopay | Paiements | Luxembourg | ✅ | PCI-DSS, ACPR |
|
|
|
|
**Obligations DPA** : Traitement selon instructions, confidentialité, sécurité, assistance droits, suppression fin contrat
|
|
|
|
**Gestion** : `docs/rgpd/sous-traitants.md`, review annuelle
|
|
|
|
**Justification** : Conformité Article 28 RGPD
|
|
|
|
---
|
|
|
|
### 13.21 Analyse d'impact (DPIA)
|
|
|
|
**Décision** : DPIA obligatoire (GPS + profilage grande échelle)
|
|
|
|
**Raisons** :
|
|
|
|
- Traitement grande échelle données GPS sensibles
|
|
- Profilage automatisé recommandations
|
|
- Surveillance zones publiques
|
|
|
|
**Contenu** : Description traitement, finalités, nécessité, risques (tracking, profilage, fuite), mesures atténuation (anonymisation 24h, consentement, chiffrement, mode dégradé)
|
|
|
|
**Fichier** : `docs/rgpd/dpia-geolocalisation.md`, review annuelle
|
|
|
|
**Justification** : Conformité Article 35 RGPD (critères CNIL remplis)
|
|
|
|
---
|
|
|
|
### 13.22 Délai de réponse aux demandes
|
|
|
|
**Décision** : 1 mois max, automatisation maximale
|
|
|
|
**Canaux** : Email dpo@roadwave.fr, formulaire in-app, courrier postal
|
|
|
|
| Droit | Délai cible | Automatisation |
|
|
|-------|-------------|----------------|
|
|
| Accès (export) | 48h | ✅ Worker |
|
|
| Rectification | Immédiat | ✅ Self-service |
|
|
| Suppression | Immédiat | ✅ Self-service |
|
|
| Opposition | Immédiat | ✅ Toggles |
|
|
| Limitation | Immédiat | ✅ Gel compte |
|
|
| Portabilité | 48h | ✅ Export |
|
|
| Contestation décision | 24h | ⚠️ Manuel |
|
|
|
|
**Vérification identité** : Si email vérifié = aucune vérif supplémentaire
|
|
|
|
**Justification** : Conformité Article 12 RGPD
|