RGPD : ce qu'il faut savoir avant de déployer.
Durées de conservation, anonymisation d'un compte sans casser la chaîne d'empreintes du journal d'audit, flux réseau sortants, mesures de l'article 32 : ce que fait le logiciel, tel que le code le fait, et ce qui manque. Un registre des traitements pré-rempli se télécharge, à compléter par le responsable de traitement.
Télécharger l'annexe Les limites connues →Annexe de protection des données et registre pré-rempli
Le document reprend cette page et les rubriques de l'article 30 du RGPD. Ce que le logiciel détermine est pré-rempli ; ce qui relève du responsable de traitement (identité, finalités retenues, base légale, durées, destinataires) est laissé entre crochets. Le fournisseur ne peut pas qualifier la finalité ni la base légale à la place de l'organisme, et n'impose aucune durée de conservation : ce sont des paramètres.
Télécharger l'annexe (.docx) Version LibreOffice (.odt) →
Les chiffres de cette page et du document viennent du code et sont contrôlés par les tests de l'application ; vérifiez-les après chaque mise à jour. Voir aussi le modèle de CCTP pour la rédaction du marché.
Données traitées
| Catégorie | Données | Personnes | Où et combien de temps |
|---|---|---|---|
| Compte d'un agent | Nom, courriel, téléphone (si les codes par SMS sont activés), SIRET et identifiant d'agent s'ils sont renseignés, service, rôles, langue, image de signature. Mot de passe sous forme dérivée, clé privée de signature chiffrée, certificat personnel et son mot de passe chiffrés, clé d'accès WebAuthn (identifiant et clé publique). | Agents de l'organisme | Base de données, tant que le compte existe. Anonymisation sur demande ; suppression possible tant que le compte n'est lié à aucun circuit ni document. |
| Documents | Titre, métadonnées de l'acte, pièces et PDF signé. Le contenu peut citer des tiers : il relève de l'acte, pas du produit. | Agents, usagers ou tiers cités dans l'acte | Volume des documents. Durée paramétrable (voir conservation). |
| Traces de signature et de validation | Date, action (visa, signature, rejet), commentaire, méthode d'authentification, empreinte du document, adresse IP, agent utilisateur. | Agents, signataires | Base de données, avec la ligne du document ; aucune purge. |
| Journal d'audit | Date, événement, auteur (nom et courriel tels qu'ils étaient ce jour-là), document, circuit, adresse IP, agent utilisateur, détail. | Agents, signataires, administrateurs | Base de données ; aucune purge (chaîne d'empreintes). |
| Signataires extérieurs | Nom, courriel, téléphone (si code par SMS), adresse IP, agent utilisateur, empreinte signée. Avec FranceConnect : identifiant, nom, prénoms, date de naissance, niveau de garantie. | Personnes extérieures invitées à signer | Base de données, avec la session de signature ; pas de purge propre. |
| Notifications | Courriels envoyés (destinataire, objet, corps) enregistrés en base ; SMS (numéro, texte) remis à la passerelle ; abonnements aux notifications du navigateur (point de terminaison, agent utilisateur). | Agents, signataires extérieurs | Base de données ; les abonnements sont supprimés à l'anonymisation du compte ; pas de purge des courriels enregistrés. |
| Sécurité des connexions | Compteurs d'échecs de connexion par identifiant saisi ou par adresse IP (nombre, date du dernier essai). Cookie de session signé. | Agents, visiteurs | Base de données, sans purge pour les compteurs ; cookie de 7 jours au plus. |
| Pré-contrôle par IA (facultatif) | Contenu des documents analysés et consignes envoyées au moteur choisi ; résultat de l'analyse. | Personnes citées dans les documents analysés | Résultat en base, avec le document ; le contenu envoyé au moteur dépend de celui-ci (voir flux). |
Durées de conservation : des paramètres, pas des recommandations
Une installation ne perd aucune donnée tant qu'un administrateur n'a pas activé la purge, et aucune durée n'est préremplie : c'est au délégué à la protection des données de les proposer.
| Objet | Règle | Paramètre |
|---|---|---|
| Fichiers des documents signés | La purge est désactivée tant que l'administrateur ne l'active pas. Mode « après versement » (par défaut) : le fichier n'est supprimé que N jours après son versement à un système d'archivage, jamais avant. Mode « sans archivage » : suppression à la durée d'utilité administrative du type de document (par exemple DUA_10_ANS), ou au délai général à défaut, jamais pour un type en conservation définitive. La ligne du document, les signatures et le journal restent. | Activation, mode, délai général en jours. Aucune valeur par défaut. |
| Brouillons jamais soumis | Supprimés entièrement (fichiers et ligne) au-delà du délai. | Délai en jours. Aucune valeur par défaut. |
| Documents rejetés ou expirés | Le fichier est supprimé au-delà du même délai ; la ligne et la trace du rejet restent. | Même délai que les brouillons. |
| Journal d'audit | Aucune purge : chaque entrée est liée à la précédente et en retirer une romprait la chaîne. La durée de conservation est une politique documentaire de l'organisme. | [à fixer par le responsable de traitement] |
| Comptes des agents | Conservés tant que le compte existe. Anonymisation sur action d'un administrateur ; suppression pure et simple tant que le compte n'est lié à aucun circuit ni document. | Action de l'administrateur. |
| Session de connexion | Cookie signé, valable 7 jours au plus. | EZPARAPH_SESSION_MAX_AGE_SECONDS |
| Codes à usage unique | 5 minutes pour les agents, 15 minutes pour les signataires extérieurs. | Fixe. |
| Lien de signature d'un signataire extérieur | Échéance fixée à chaque étape ; 15 jours par défaut. | Délai de l'étape. |
| Courriels de notification enregistrés | Pas de purge automatique. | Point d'attention (section limites). |
| Compteurs d'échecs de connexion | Pas de purge automatique ; ils contiennent l'identifiant saisi ou l'adresse IP, jamais le mot de passe. | Point d'attention (section limites). |
| Données des signataires extérieurs | Pas de purge propre ; elles suivent la ligne du document. | Point d'attention (section limites). |
Anonymisation sans casser la chaîne du journal d'audit
Un compte qui a déjà visé ou signé ne peut pas être supprimé : les signatures passées doivent rester attribuables et vérifiables. L'administrateur l'anonymise. Le journal d'audit est chaîné : chaque entrée porte l'empreinte de la précédente, et en modifier une romprait la vérification de toutes celles qui la suivent. L'anonymisation ne touche donc pas au journal. La chaîne reste intacte parce qu'elle n'est pas modifiée, et le journal garde ce qu'il a enregistré.
Ce que l'anonymisation efface
- Nom, courriel (remplacé par une adresse fictive), téléphone, SIRET, identifiant d'agent, image de signature.
- Mot de passe, clé privée de signature, certificat personnel et son mot de passe, clé d'accès WebAuthn, codes en cours.
- Abonnements aux notifications du navigateur.
- Rattachements (service, rôles) et droits ; le compte ne peut plus se connecter ni signer.
Ce qui reste, et pourquoi
- La ligne du compte, vidée de son identité, qui rattache les signatures passées à « ce compte » et les laisse vérifiables.
- Le journal d'audit tel qu'il a été écrit : nom, courriel et adresse IP de l'époque. Le modifier romprait la chaîne d'empreintes.
- Les traces de signature (commentaire, adresse IP, agent utilisateur).
- Le nom du signataire dans le PDF signé : il figure dans la signature et le certificat, et ne peut pas être retiré sans invalider la signature.
Cette conservation repose sur l'exception de l'article 17, paragraphe 3 (obligation légale ou mission d'intérêt public, point b ; constatation, exercice ou défense de droits en justice, point e), à confirmer par le délégué à la protection des données. L'export des données d'un compte (articles 15 et 20) se fait en JSON depuis les préférences de l'agent.
Flux réseau sortants
Aucune télémétrie, aucune statistique d'usage, aucun traceur publicitaire n'est envoyé à l'éditeur ni à un tiers. Aucune page ne charge de ressource depuis un tiers : les bibliothèques (icônes, visualiseur PDF, éditeur de circuits, pont vers le lecteur de carte) sont servies par l'instance, ce qu'un test de l'application contrôle. Les tableaux de bord (statistiques, goulots d'étranglement) sont calculés sur l'instance, à partir de ses propres données.
| Destination | Quand | Ce qui est transmis | Par défaut |
|---|---|---|---|
| Let's Encrypt (par Caddy) | Délivrance et renouvellement du certificat TLS | Nom de domaine de l'instance | Actif si le reverse proxy fourni est utilisé avec un nom de domaine |
| Autorité d'horodatage (RFC 3161) | À chaque signature horodatée | Empreinte SHA-256 du document ou du manifeste | Désactivé |
| Validateur DSS | Contrôle d'une signature reçue | Le document contrôlé, vers un conteneur de l'instance ; le conteneur peut interroger les services de révocation des certificats | Conteneur fourni dans la pile, sollicité seulement pour ce contrôle |
| Relais SMTP | Notifications et liens d'accès | Destinataire, objet, corps du courriel | Désactivé |
| Passerelle SMS | Code à usage unique | Numéro et code | Désactivé |
| Fournisseur d'identité (LDAP, SAML, OpenID Connect, CAS, ProConnect, FranceConnect) | Connexion ou identification | Données d'authentification de l'agent ou de la personne | Désactivé, une méthode à la fois |
| Prestataire de signature à distance | Signature qualifiée à distance | Empreinte à signer et identifiants du signataire | Désactivé |
| Archivage, GED, Pastell, SIEM, webhooks | Versement, remise, export, notification | Documents, métadonnées, événements du journal | Désactivé ; adresses fixées par l'administrateur |
| Moteur d'IA du pré-contrôle | Analyse d'un document | Contenu du document et consignes. Moteur local sur l'instance, ou fournisseur externe au choix de l'administrateur (Albert, Mistral, Google, Anthropic, OpenAI, DeepSeek, Alibaba) : selon le fournisseur, les données quittent l'Union européenne | Désactivé |
| Registre npm et jsDelivr (synchronisation des bibliothèques) | Chaque nuit, si l'administrateur l'a demandé | Noms de paquets et numéros de version, aucune donnée personnelle ; c'est le serveur qui appelle, pas les navigateurs | Désactivé |
| Ancrage d'intégrité (OpenTimestamps, EBSI, Polygon) | Ancrage quotidien | Racine d'un arbre de Merkle : des empreintes, jamais de documents | Désactivé |
| Collabora Online | Édition et conversion de documents bureautiques | Le document, vers le serveur Collabora de l'établissement ou de son prestataire | À l'installation |
| Services de notification des navigateurs | Notification poussée | Notification vers le point de terminaison du navigateur de l'agent | Désactivé tant que l'agent n'a pas activé la notification |
Mesures de sécurité, article 32
| Mesure | Mise en œuvre | Statut |
|---|---|---|
| Chiffrement en transit | TLS par le reverse proxy fourni, certificat Let's Encrypt renouvelé automatiquement ; drapeau « Secure » des cookies à activer une fois HTTPS en place (EZPARAPH_FORCE_HTTPS). | À configurer |
| Mots de passe | Dérivation PBKDF2-SHA256, 100 000 itérations, sel de 16 octets propre à chaque compte, comparaison à temps constant. | En place |
| Clés et certificats des agents | Clé privée de signature et mot de passe du certificat personnel chiffrés au repos (Fernet), par le type de colonne de la base ; clés maîtresses à sauvegarder à part de la base. | En place |
| Sessions | Cookie signé en HMAC-SHA256, horodatage dans la charge signée, 7 jours au plus (réglable), HttpOnly, SameSite=Lax. | En place |
| Force brute | Cinq échecs en quinze minutes verrouillent l'identifiant ou l'adresse IP concernés pour quinze minutes, avec deux secondes minimum entre essais ; compteurs en base, valables entre redémarrages. | En place |
| Second facteur à la signature | Code à usage unique (courriel ou SMS) ou clé d'accès WebAuthn, exigible à chaque étape de signature ; la méthode est inscrite au dossier de preuve. | À configurer |
| Falsification de requête | SameSite=Lax sur tous les cookies de session, jetons synchroniseurs sur l'administration. | En place |
| API | Clé sans valeur par défaut, cloisonnée par permission, liste d'adresses autorisées, plafond de débit ; webhooks vers des adresses https publiques seulement, signés (HMAC SHA-256). | En place |
| Traçabilité | Journal d'audit chaîné par empreintes, vérifiable, ancré avec les dossiers, exportable en temps réel vers un SIEM (Syslog RFC 5424). | En place |
| Cloisonnement des droits | Rôles, services, administrateurs délégués limités à leur branche. | En place |
| Bibliothèques du navigateur | Icônes, visualiseur PDF, éditeur de circuits et pont vers le lecteur de carte sont servis par l'instance, avec empreinte SHA-256 de chaque fichier. Mise à jour facultative par le serveur lui-même (désactivée par défaut) : même version majeure seulement, version publiée depuis 7 jours au moins, jamais le pont vers la carte. | En place |
| Affichage des PDF | pdf.js sans évaluation du code des polices d'un PDF, contre-mesure à la faille CVE-2024-4367 de la branche 3 : les PDF affichés viennent d'agents et de signataires extérieurs. | En place |
| Chaîne de fabrication | Audit des dépendances, analyse statique de sécurité et suite de tests à chaque modification, avant toute fusion. | En place |
| Chiffrement des fichiers sur le disque | Non assuré par l'application : relève du chiffrement du disque de l'hôte. | Point ouvert |
| Révocation des sessions | Une déconnexion efface le cookie du navigateur, mais la valeur reste valable jusqu'à son expiration : pas de révocation côté serveur. | Point ouvert |
| Test d'intrusion par un tiers | Aucun n'est référencé dans le dépôt. Une revue de code et une analyse statique automatisée sont menées. | Point ouvert |
Trois éléments se sauvegardent ensemble : la base de données, le volume des documents et les clés maîtresses de chiffrement, ces dernières stockées ailleurs que la base. La sauvegarde de l'hôte relève de l'organisme.
Limites connues
Ce qui n'est pas en place, dit ici plutôt que découvert à l'audit.
Un journal d'audit sans purge ni pseudonymisation
Le journal garde nom, courriel et adresse IP de l'époque, sans limite de durée technique. C'est la contrepartie de son inaltérabilité. La base légale à retenir pour cette conservation (article 17, paragraphe 3, points b et e) et sa durée sont à arrêter par le responsable de traitement.
Des données sans purge automatique
Les données des signataires extérieurs, les courriels de notification enregistrés et les compteurs d'échecs de connexion ne sont pas purgés par le produit. Le responsable de traitement doit prévoir une purge sur la base de données ou accepter cette conservation.
Droits des personnes : seuls les comptes d'agents sont couverts
L'export (articles 15 et 20) et l'anonymisation (article 17) portent sur les comptes d'agents. Les signataires extérieurs sont à traiter à la main, en base.
Pré-contrôle par IA
S'il est activé avec un fournisseur externe, le contenu des documents quitte l'instance, et l'Union européenne selon le fournisseur. Le choix d'un moteur local ou hébergé dans l'Union, et l'opportunité d'une analyse d'impact, relèvent du responsable de traitement.
À compléter par le responsable de traitement
- Identité du responsable de traitement et du délégué à la protection des données (Administration, RGPD : ils s'affichent sur la page de confidentialité).
- Finalités et base légale retenues pour chaque usage, notamment pour les signataires extérieurs et pour le pré-contrôle par IA.
- Durées de conservation : paramètres de purge, durée du journal d'audit, durée des données sans purge automatique.
- Liste des destinataires et sous-traitants effectivement activés (relais SMTP, passerelle SMS, autorité d'horodatage, moteur d'IA, hébergeur).
- Analyse d'impact, si les traitements le justifient.
Un point à éclaircir pour votre audit ?
Une question de votre délégué à la protection des données, un flux à expliquer, une mesure à détailler : écrivez-nous.
Messages écrits uniquement, pas d'appels. Si le lien ne s'ouvre pas, cherchez @ezparaph.contact dans WhatsApp.