Mettre en place un chiffrement fort pour protéger les données personnelles sensibles, conformément au RGPD.
Sous-tâches :
Analyse des données sensibles
Identifier les champs à chiffrer (ex. nir_encrypted dans assistantes_maternelles, données enfants, etc.).
Choix de l’algorithme
Utiliser AES-256-GCM ou équivalent pour le chiffrement symétrique.
Utiliser pgcrypto dans PostgreSQL ou chiffrement côté application.
Stockage sécurisé des clés
Définir stockage via variables d’environnement (pas dans le code).
Si possible, gestion via un secret manager (Vault, AWS KMS…).
Migration de la base
Modifier schéma si nécessaire (taille champs, type bytea).
Ajouter index si besoin (index partiel sur valeurs chiffrées).
Implémentation & tests
Écrire fonction de chiffrement/déchiffrement.
Vérifier qu’aucune donnée en clair n’est stockée.
Documentation
Décrire procédure d’utilisation et gestion des clés.
Critères d’acceptation :
Données chiffrées en base, non lisibles en clair.
Fonctionnalité de lecture/écriture validée par tests unitaires.
Clés non stockées dans le dépôt de code.
➡ Chaque sous-tâche peut être sous-divisée si nécessaire
➡ Ça facilite la répartition entre plusieurs membres de l’équipe
## Description :
Mettre en place un chiffrement fort pour protéger les données personnelles sensibles, conformément au RGPD.
### Sous-tâches :
1. Analyse des données sensibles
- Identifier les champs à chiffrer (ex. nir_encrypted dans assistantes_maternelles, données enfants, etc.).
2. Choix de l’algorithme
- Utiliser AES-256-GCM ou équivalent pour le chiffrement symétrique.
- Utiliser pgcrypto dans PostgreSQL ou chiffrement côté application.
3. Stockage sécurisé des clés
- Définir stockage via variables d’environnement (pas dans le code).
- Si possible, gestion via un secret manager (Vault, AWS KMS…).
4. Migration de la base
- Modifier schéma si nécessaire (taille champs, type bytea).
- Ajouter index si besoin (index partiel sur valeurs chiffrées).
5. Implémentation & tests
- Écrire fonction de chiffrement/déchiffrement.
- Vérifier qu’aucune donnée en clair n’est stockée.
6. Documentation
- Décrire procédure d’utilisation et gestion des clés.
## Critères d’acceptation :
- Données chiffrées en base, non lisibles en clair.
- Fonctionnalité de lecture/écriture validée par tests unitaires.
- Clés non stockées dans le dépôt de code.
➡ Chaque sous-tâche peut être sous-divisée si nécessaire
➡ Ça facilite la répartition entre plusieurs membres de l’équipe
vdorge
added this to the Sprint 2 – Sécurité & RGPD milestone 2025-08-11 15:10:39 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Description :
Mettre en place un chiffrement fort pour protéger les données personnelles sensibles, conformément au RGPD.
Sous-tâches :
Utiliser AES-256-GCM ou équivalent pour le chiffrement symétrique.
Utiliser pgcrypto dans PostgreSQL ou chiffrement côté application.
Définir stockage via variables d’environnement (pas dans le code).
Si possible, gestion via un secret manager (Vault, AWS KMS…).
Modifier schéma si nécessaire (taille champs, type bytea).
Ajouter index si besoin (index partiel sur valeurs chiffrées).
Écrire fonction de chiffrement/déchiffrement.
Vérifier qu’aucune donnée en clair n’est stockée.
Critères d’acceptation :
Données chiffrées en base, non lisibles en clair.
Fonctionnalité de lecture/écriture validée par tests unitaires.
Clés non stockées dans le dépôt de code.
➡ Chaque sous-tâche peut être sous-divisée si nécessaire
➡ Ça facilite la répartition entre plusieurs membres de l’équipe