Que fait Conformité RGPD ?
Règles
- Implémenter un point d'accès de suppression des données (droit à l'effacement) : supprimer ou anonymiser toutes les IPD des utilisateurs sur demande
- Suivre le consentement explicite avec horodatages : à quoi l'utilisateur a consenti, quand et quelle version de la politique
- Anonymiser les IPD dans les analyses et les journaux — utiliser des identifiants opaques, jamais d'emails ou de noms bruts
- Implémenter un point d'accès d'exportation des données (droit à la portabilité) : retourner toutes les données de l'utilisateur au format JSON ou CSV
- Afficher une bannière de consentement aux cookies : aucun script de suivi chargé tant que l'utilisateur n'a pas donné son accord
- Lier vers une politique de confidentialité depuis chaque page contenant des formulaires de collecte de données
- Tenir un journal d'audit pour l'accès aux IPD — qui a consulté quelles données personnelles et quand
- Notification de violation dans les 72 heures : disposer d'un processus documenté et d'une liste de contacts prête
app.delete("/api/user/data", requireAuth, async (req, res) => {
const userId = req.user.id;
await db.transaction(async (tx) => {
await tx.delete(userProfiles).where(eq(userProfiles.userId, userId));
await tx.delete(userSessions).where(eq(userSessions.userId, userId));
await tx.update(users).set({
email: `deleted_${userId}@anonymized.local`,
name: "Utilisateur supprimé",
deletedAt: new Date(),
}).where(eq(users.id, userId));
});
await auditLog("user_data_deleted", { userId, requestedBy: userId });
res.json({ success: true });
});
const consentSchema = z.object({
marketing: z.boolean(),
analytics: z.boolean(),
policyVersion: z.string(),
});
app.post("/api/consent", requireAuth, async (req, res) => {
const consent = consentSchema.parse(req.body);
await db.insert(consentRecords).values({
userId: req.user.id,
...consent,
consentedAt: new Date(),
ipAddress: req.ip,
});
res.json({ success: true });
});
À éviter
- Supprimer en douceur les données utilisateur sans réellement retirer les IPD — les emails des utilisateurs « supprimés » restent dans la base de données
- Charger Google Analytics ou des pixels de suivi avant le consentement aux cookies
- Stocker des emails bruts dans les événements d'analyse ou les journaux d'application
- Aucun mécanisme d'exportation des données — les utilisateurs ont un droit légal à leurs données
- Supposer que le RGPD ne s'applique qu'aux entreprises basées dans l'UE — il s'applique à toute application servant des utilisateurs de l'UE