Aller au contenu

📚 FICHE DE COURS ÉLÈVE⚓︎

"Durées de Conservation · Archivage · Purge Automatique"⚓︎

Version 1.0 — BTS SIO SISR — Année 1 — Semaine 7


🎯 Compétences Travaillées⚓︎

Code Compétence
B3.2 Mettre en œuvre les mesures de sécurité de base
B3.3 Gérer les incidents de sécurité

PARTIE I — Principe de Limitation de Conservation⚓︎

I.A. Définition (Art. 5.1.e RGPD)⚓︎

"Les données à caractère personnel doivent être conservées sous une forme permettant l'identification des personnes concernées pendant une durée n'excédant pas celle nécessaire au regard des finalités pour lesquelles elles sont traitées."

En langage simple :

Les données personnelles ne peuvent pas être conservées indéfiniment. Dès que leur utilité prend fin, elles doivent être supprimées ou anonymisées.


I.B. Les 3 Phases de Vie d'une Donnée⚓︎

📋 Texte
   CYCLE DE VIE D'UNE DONNÉE PERSONNELLE
   ═══════════════════════════════════════════════════════════════

   PHASE 1 — BASE ACTIVE (Conservation courante)
   ──────────────────────────────────────────────────────────────
   Données régulièrement utilisées
   Accès fréquent par les équipes opérationnelles
   Stockage : Base de données principale, serveurs de fichiers

   Exemple : Client actif → Données dans le CRM
   Durée : Pendant toute la durée de la relation + quelques années

                              ↓
              (Fin de la relation / utilité terminée)
                              ↓

   PHASE 2 — ARCHIVAGE INTERMÉDIAIRE
   ──────────────────────────────────────────────────────────────
   Données encore nécessaires pour des obligations légales
   (comptabilité, litiges, garanties)
   Accès rare, sur demande spécifique
   Stockage : Serveur d'archivage, accès restreint

   Exemple : Client inactif depuis 3 ans → Données en archive
   (factures conservées 10 ans pour comptabilité)
   Accès : Directeur financier, comptable, juriste uniquement

                              ↓
         (Fin des obligations légales / délais écoulés)
                              ↓

   PHASE 3 — SUPPRESSION OU ANONYMISATION
   ──────────────────────────────────────────────────────────────
   Les données ne sont plus nécessaires → Fin de vie
   ① Suppression : Effacement définitif et irréversible
   ② Anonymisation : Suppression des identifiants
      → Données conservées pour statistiques uniquement

   Exemple : Client inactif 10 ans → Données supprimées
   (ou anonymisées si statistiques utiles)

I.C. Tableau des Durées Légales⚓︎

Type de données Base légale Conservation active Archivage
Données clients (contrats, commandes) Code civil 3 ans après dernier contact 5 ans (prescription)
Données comptables (factures, bilans) Code de commerce 10 ans 10 ans
Données fiscales Code général des impôts 6 ans 6 ans
Données RH (dossiers salariés) Code du travail Durée du contrat + 5 ans 5 ans
Fiches de paie Code du travail 5 ans 5 ans
Logs informatiques LCEN + CNIL 1 an 1 an
Vidéosurveillance Code de la sécurité intérieure 30 jours maximum Interdit
Cookies Directive ePrivacy + CNIL 13 mois maximum Non applicable
Données de prospection RGPD + CNIL 3 ans sans interaction
Curriculum vitae (candidats non retenus) CNIL 2 ans
Données médicales (patients) Code de la santé 20 ans 20 ans
Données de navigation (hébergeurs) LCEN 1 an 1 an

📌 Règle CNIL : En l'absence de texte légal, la durée de conservation doit être proportionnelle à la finalité. Prévoir des durées et les documenter dans le registre des traitements.


I.D. Implémentation Technique : La Purge Automatique⚓︎

Le problème : Les durées de conservation sont inutiles sans mécanisme automatique de suppression.

Solution : Tâche automatisée (CRON job + script SQL)

📋 Texte
   EXEMPLE — Purge des données clients inactifs (3 ans)
   ═══════════════════════════════════════════════════════════════

   SCRIPT SQL (purge_clients.sql)
   ──────────────────────────────────────────────────────────────
   -- Étape 1 : Logger les données avant suppression (audit)
   INSERT INTO audit_purge (table_name, record_id, purge_date, reason)
   SELECT 'clients', id, NOW(), 'Inactivité > 3 ans'
   FROM clients
   WHERE last_activity < DATE_SUB(NOW(), INTERVAL 3 YEAR)
   AND data_deleted = 0;

   -- Étape 2 : Anonymiser (si besoin de conserver les stats)
   UPDATE clients
   SET
     nom = 'SUPPRIME',
     prenom = 'SUPPRIME',
     email = CONCAT('deleted_', id, '@purge.local'),
     telephone = NULL,
     adresse = NULL,
     date_naissance = NULL,
     data_deleted = 1,
     date_deletion = NOW()
   WHERE last_activity < DATE_SUB(NOW(), INTERVAL 3 YEAR)
   AND data_deleted = 0;

   -- Étape 3 : Supprimer si aucune obligation légale
   DELETE FROM clients
   WHERE last_activity < DATE_SUB(NOW(), INTERVAL 10 YEAR)
   AND data_deleted = 1;
   -- (après 10 ans → même les archives comptables sont purgées)


   TÂCHE CRON (Linux) — Exécution chaque nuit à 2h
   ──────────────────────────────────────────────────────────────
   # crontab -e
   0 2 * * * mysql -u rgpd_user -p'motdepasse' ma_base < /opt/scripts/purge_clients.sql >> /var/log/purge_rgpd.log 2>&1


   SCRIPT WINDOWS (PowerShell + Task Scheduler)
   ──────────────────────────────────────────────────────────────
   # purge_clients.ps1
   $date = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
   Invoke-Sqlcmd -Query "
     UPDATE clients SET nom='SUPPRIME', email=CONCAT('del_',id,'@purge.local')
     WHERE last_activity < DATEADD(year, -3, GETDATE())
     AND data_deleted = 0
   " -ServerInstance "SERVEUR\INSTANCE"
   Write-Log "Purge exécutée : $date"

I.E. Purge des Logs Informatiques⚓︎

Durée légale des logs : 1 an (LCEN + recommandation CNIL)

📋 Texte
   GESTION DES LOGS CONFORME RGPD
   ═══════════════════════════════════════════════════════════════

   STRUCTURE RECOMMANDÉE
   ──────────────────────────────────────────────────────────────
   /var/log/
   ├── application/
   │   ├── app-2024-01.log    ← Conservation 12 mois
   │   ├── app-2024-02.log
   │   └── ...
   ├── access/
   │   ├── access-2024-01.log ← Contient IP (donnée perso)
   │   └── ...
   └── audit/
       └── audit-2024-01.log  ← Logs RGPD (accès aux données)

   ROTATION AUTOMATIQUE (logrotate - Linux)
   ──────────────────────────────────────────────────────────────
   # /etc/logrotate.d/application
   /var/log/application/*.log {
     monthly          # Rotation mensuelle
     rotate 12        # Conserver 12 mois
     compress         # Compresser les anciens logs
     delaycompress    # Ne pas compresser le log d'hier
     missingok        # Pas d'erreur si log absent
     notifempty       # Pas de rotation si fichier vide
     postrotate
       # Script de suppression après 12 mois
       find /var/log/application/ -name "*.log.gz" -mtime +365 -delete
     endscript
   }

PARTIE II — Sécurisation des Données (Art. 25 et 32 RGPD)⚓︎

II.A. Les 2 Principes Fondateurs⚓︎

Article 25 — Privacy by Design (Protection dès la Conception)

📋 Texte
   PRIVACY BY DESIGN : 7 PRINCIPES FONDATEURS
   ═══════════════════════════════════════════════════════════════

   ① PROACTIF, PAS RÉACTIF
   ──────────────────────────────────────────────────────────────
   Anticiper les risques AVANT qu'ils se produisent
   ❌ "On verra si on a des problèmes"
   ✅ "Comment protéger les données dès la conception ?"

   ② PROTECTION PAR DÉFAUT
   ──────────────────────────────────────────────────────────────
   Les paramètres par défaut doivent être les plus protecteurs
   ❌ Profil public par défaut (réseau social)
   ✅ Profil privé par défaut → L'utilisateur choisit de le rendre public

   ③ INTÉGRATION DANS LA CONCEPTION
   ──────────────────────────────────────────────────────────────
   La protection n'est pas une surcouche ajoutée après
   ❌ Développer l'app, puis "ajouter la sécurité RGPD"
   ✅ Intégrer la protection dès les premières maquettes

   ④ FONCTIONNALITÉ TOTALE (pas de compromis)
   ──────────────────────────────────────────────────────────────
   Protection ET fonctionnalité vont ensemble
   ❌ "Plus c'est sécurisé, moins c'est fonctionnel"
   ✅ Trouver la solution qui assure les deux

   ⑤ SÉCURITÉ DE BOUT EN BOUT
   ──────────────────────────────────────────────────────────────
   Protection pendant tout le cycle de vie des données
   De la collecte à la suppression

   ⑥ VISIBILITÉ ET TRANSPARENCE
   ──────────────────────────────────────────────────────────────
   Rendre les pratiques vérifiables et auditables

   ⑦ CENTRÉ SUR L'UTILISATEUR
   ──────────────────────────────────────────────────────────────
   Les personnes concernées restent au centre des décisions

Article 25 — Privacy by Default (Protection par Défaut)

📋 Texte
   EXEMPLES CONCRETS
   ═══════════════════════════════════════════════════════════════

   APPLICATION MOBILE
   ──────────────────────────────────────────────────────────────
   ❌ NON CONFORME :
   • Géolocalisation activée par défaut
   • Partage contacts activé par défaut
   • Publicités personnalisées activées par défaut

   ✅ CONFORME :
   • Géolocalisation DÉSACTIVÉE par défaut
   • L'app demande la permission quand la fonctionnalité est utilisée
   • Données minimales collectées (juste ce qu'il faut)

   RÉSEAU SOCIAL
   ──────────────────────────────────────────────────────────────
   ❌ NON CONFORME : Profil public par défaut (visible de tous)
   ✅ CONFORME : Profil privé par défaut → Visible amis seulement

II.B. Mesures de Sécurité Requises (Art. 32)⚓︎

Le RGPD n'impose pas de mesures précises — il impose des mesures PROPORTIONNÉES au risque.

📋 Texte
   MESURES TECHNIQUES ET ORGANISATIONNELLES
   ═══════════════════════════════════════════════════════════════

   CATÉGORIE 1 — CHIFFREMENT
   ──────────────────────────────────────────────────────────────
   ✅ Chiffrement des données au repos (bases de données, fichiers)
      → MySQL : chiffrement TDE (Transparent Data Encryption)
      → Fichiers : VeraCrypt, LUKS, BitLocker

   ✅ Chiffrement des données en transit (communications)
      → HTTPS/TLS 1.3 pour les sites web
      → VPN pour les accès distants
      → SFTP/FTPS pour les transferts de fichiers

   ✅ Chiffrement des sauvegardes
      → Jamais stocker des sauvegardes non chiffrées hors site

   CATÉGORIE 2 — CONTRÔLE DES ACCÈS
   ──────────────────────────────────────────────────────────────
   ✅ Principe du moindre privilège (accès minimal nécessaire)
      → DBA : Accès total BDD
      → Développeur : Accès BDD dev/test uniquement
      → Commercial : Accès aux seules données clients de son périmètre

   ✅ Authentification forte (MFA) pour les accès sensibles
   ✅ Revue périodique des droits (tous les 6 mois)
   ✅ Suppression immédiate des accès (départ salarié)

   CATÉGORIE 3 — TRAÇABILITÉ ET AUDIT
   ──────────────────────────────────────────────────────────────
   ✅ Logs de tous les accès aux données personnelles
      Qui, quoi, quand, depuis où
      → SELECT sur tables données perso = loggué

   ✅ Alertes sur comportements anormaux
      → Accès massif de données hors heures ouvrées
      → Export inhabituel (10 000 lignes d'un coup)

   CATÉGORIE 4 — CONTINUITÉ ET DISPONIBILITÉ
   ──────────────────────────────────────────────────────────────
   ✅ Sauvegardes régulières et testées (vu en S4)
   ✅ Plan de reprise d'activité (PRA)
   ✅ Tests de restauration réguliers

   CATÉGORIE 5 — ORGANISATION
   ──────────────────────────────────────────────────────────────
   ✅ Sensibilisation et formation des salariés
   ✅ Politique de gestion des mots de passe
   ✅ Politique BYOD (appareils personnels)
   ✅ Procédure de gestion des incidents
   ✅ Clause de confidentialité dans les contrats

II.C. L'Analyse d'Impact (AIPD / PIA)⚓︎

AIPD = Analyse d'Impact relative à la Protection des Données PIA = Privacy Impact Assessment (anglais)

Définition : Évaluation préalable des risques d'un traitement à risque élevé pour les personnes.

📋 Texte
   QUAND RÉALISER UNE AIPD ? (Obligatoire)
   ═══════════════════════════════════════════════════════════════

   Le RGPD rend l'AIPD obligatoire si le traitement est
   "susceptible d'engendrer un risque élevé pour les droits
   et libertés des personnes" (Art. 35)

   CRITÈRES DÉCLENCHEURS (2 critères = AIPD obligatoire)
   ──────────────────────────────────────────────────────────────
   ☐ Évaluation / scoring (profilage)
   ☐ Décision automatisée avec effet significatif
   ☐ Surveillance systématique (caméras, localisation)
   ☐ Données sensibles (santé, biométrie, opinion...)
   ☐ Grande échelle (nombreuses personnes)
   ☐ Croisement de données (combinaison de plusieurs sources)
   ☐ Personnes vulnérables (enfants, patients, salariés)
   ☐ Usage innovant d'une technologie nouvelle

   EXEMPLES CONCRETS
   ──────────────────────────────────────────────────────────────
   ✅ AIPD OBLIGATOIRE :
   • Système de badge biométrique pour accès locaux
   • Application de suivi GPS des commerciaux
   • Logiciel RH avec scoring des salariés
   • Base de données de santé régionale

   ❌ AIPD NON OBLIGATOIRE :
   • Gestion des contacts email d'une newsletter
   • Site e-commerce classique
   • Registre des entrées/sorties des visiteurs (papier)