Dernière mise à jour : 2 octobre 2026
CertPilot est conçu pour des environnements professionnels exigeants. Ce document détaille les mesures techniques et organisationnelles mises en œuvre pour protéger vos données.
🌍 Hébergement & localisation des données
- Données hébergées en Europe — serveurs d'application et base de données localisés en Europe (Pays-Bas, région europe-west4) via Railway et son infrastructure cloud.
- Sous-traitants encadrés contractuellement — Brevo (envoi d'emails, hébergé en France 🇫🇷) et Stripe (paiements, USA — DPF + CCT) sont soumis aux garanties RGPD appropriées (clauses contractuelles types, certifications applicables).
- Base de données PostgreSQL dédiée avec volume persistant — vos données ne sont jamais partagées avec d'autres clients.
🏛️ Conformité de la chaîne d'hébergement
- Railway (hébergeur applicatif) — certifié SOC 2 Type II et SOC 3. Rapport d'audit consultable sur trust.railway.com et communicable sur demande sous accord de confidentialité.
- Infrastructure sous-jacente : Google Cloud Platform — certifiée ISO/IEC 27001 (sécurité de l'information), ISO/IEC 27017 (cloud), ISO/IEC 27018 (protection des données personnelles dans le cloud), ainsi que SOC 1, SOC 2 et SOC 3.
- Aucun transfert hors UE pour l'hébergement applicatif — la région europe-west4 (Pays-Bas) traite et stocke l'intégralité des données client à l'intérieur de l'Union Européenne.
🔒 Isolation & cloisonnement des données
- Architecture multi-tenant stricte — chaque entreprise dispose d'un identifiant unique (
companyId) vérifié sur chaque requête API. Aucun accès croisé n'est techniquement possible. - Contrôle d'accès par rôle — trois niveaux de droits distincts : Administrateur, Manager, Lecteur. Chaque utilisateur n'accède qu'aux données de son périmètre. S'y ajoute le rôle de responsable d'entreprise extérieure, invité par le Client, qui n'accède qu'à l'espace de son entreprise et aux intervenants de celle-ci, jamais au tableau de bord du Client.
- Sessions sécurisées — authentification par token JWT signé, expiration automatique des sessions inactives.
- Page publique d'un équipement : adresse fondée sur un identifiant aléatoire, non indexée par les moteurs de recherche, envois du contrôle avant usage limités en nombre, et aucune donnée personnelle affichée.
🔑 Authentification & protection des accès
- Mots de passe hachés avec bcrypt (facteur de coût 12) — standard utilisé par les banques et institutions financières. Même CertPilot ne peut pas lire vos mots de passe.
- Vérification d'email obligatoire à l'inscription — aucun compte actif sans confirmation.
- Double authentification (TOTP) — activation optionnelle d'un second facteur via Google Authenticator ou Authy pour les comptes administrateurs.
- Protection anti-brute force — limitation automatique des tentatives de connexion échouées (10 essais / 15 minutes par compte), avec rate limiting dédié sur les codes TOTP.
- Liens à usage unique pour la vérification de l'email (valables 24 h), la réinitialisation du mot de passe (valables 1 h, conservés sous forme d'empreinte SHA-256) et l'invitation d'un responsable d'entreprise extérieure (valables 7 jours, conservés de la même façon), invalidés dès leur utilisation.
- Mots de passe temporaires cryptographiquement sûrs — générés via
crypto.randomBytes, standard de sécurité pour la génération de secrets non prédictibles.
🔐 Chiffrement des données
- Chiffrement au repos AES-256 — l'ensemble des données stockées (base PostgreSQL et volumes de fichiers) est chiffré au niveau infrastructure (chiffrement de disque/volume) par Railway et Google Cloud Platform, avec des clés gérées par le fournisseur cloud. Ce chiffrement protège contre la compromission physique du support de stockage ; il ne constitue pas un chiffrement applicatif champ par champ.
- HTTPS/TLS sur toutes les communications — aucune donnée ne transite en clair entre votre navigateur et nos serveurs.
- HSTS activé (Strict-Transport-Security, max-age 1 an) — votre navigateur refuse automatiquement toute connexion non chiffrée.
- Headers de sécurité HTTP — protection contre le clickjacking (X-Frame-Options: DENY) et le sniffing de contenu (X-Content-Type-Options: nosniff). La défense contre le XSS repose sur une Content-Security-Policy avec liste blanche explicite des sources autorisées pour les scripts, styles, frames et appels réseau (notamment Stripe pour les paiements) ; l'en-tête legacy X-XSS-Protection est volontairement désactivé (valeur 0), conformément aux recommandations actuelles de l'OWASP.
- Maîtrise des fuites et des API navigateur — Referrer-Policy (strict-origin-when-cross-origin) limite les informations transmises lors de la navigation, et Permissions-Policy désactive par défaut les API sensibles du navigateur (caméra, microphone, géolocalisation).
- Chiffrement de la base de données en transit — connexion chiffrée TLS entre l'application et PostgreSQL.
📋 Traçabilité & audit trail
- Audit Trail complet et exportable — chaque action sensible (création, modification, suppression, signature, export) est horodatée, associée à l'utilisateur et à son adresse IP.
- Signature électronique horodatée — les passeports formation enregistrent la date, l'heure, l'IP et l'image de signature de chaque signataire. Traçabilité complète pour vos contrôles et obligations de conformité.
- Export Excel de l'audit trail — disponible à tout moment depuis le tableau de bord pour vos obligations de conformité.
- Notifications internes — chaque action critique génère une notification dans l'interface pour votre équipe RH.
💾 Sauvegardes, disponibilité & continuité de service
- Objectif de disponibilité (SLA) : 99,5% mensuel hors maintenance planifiée, contractualisé dans les Conditions Générales de Vente. En cas de non-respect, un avoir au prorata du temps d'indisponibilité est accordé sur réclamation du Client (dans un délai de 30 jours).
- Sauvegardes automatiques quotidiennes de la base de données PostgreSQL — gérées par Railway avec rétention intégrée.
- Objectifs de reprise après sinistre — RTO (Recovery Time Objective) : 4 heures pour la restauration du service ; RPO (Recovery Point Objective) : 24 heures maximum de données perdues en cas de sinistre majeur.
- Stockage des justificatifs sur un stockage objet dédié. Les PDF d'attestations et les rapports de vérification des équipements sont conservés sur le stockage objet OVHcloud en France (région eu-west-par), indépendant du conteneur applicatif, et bénéficient de la redondance du fournisseur.
- Export total de vos données à tout moment — format Excel ou PDF, sans dépendance propriétaire. Vous pouvez quitter CertPilot avec toutes vos données en moins de 5 minutes.
- Zéro interruption lors des mises à jour — déploiement continu sans coupure de service.
🚨 Notification des violations de données
- Engagement de notification sous 48 heures maximum — en cas de violation de données personnelles affectant le Client, CertPilot s'engage à notifier le responsable de traitement sans délai injustifié et au plus tard dans les 48 heures suivant la prise de connaissance de l'incident, conformément à l'article 33 du RGPD.
- Contenu de la notification — nature de la violation, catégories et volumes approximatifs de données concernées, conséquences probables, mesures prises ou envisagées pour remédier à la violation et en limiter les effets.
- Canal dédié — la notification est adressée par email au DPO ou point de contact désigné par le Client, doublée d'un canal sécurisé sur demande.
🤖 Intelligence artificielle & non-réutilisation des données
- Aucune donnée client n'est utilisée pour entraîner des modèles d'intelligence artificielle, qu'ils soient internes à CertPilot ou opérés par des tiers. Cet engagement est inscrit dans notre Accord de traitement des données (DPA).
- Aucune donnée client n'est partagée avec des fournisseurs d'IA générative dans le cadre du fonctionnement nominal du service.
🇪🇺 Conformité RGPD
- Accord de traitement des données (DPA) disponible et signable — CertPilot agit en tant que sous-traitant au sens de l'article 28 du RGPD.
- Droit à l'effacement et à la portabilité en libre-service — suppression anonymisée du compte et export JSON de toutes les données personnelles accessibles directement depuis le profil utilisateur des comptes Administrateur et Manager (Art. 17 et 20 RGPD), sans intervention technique requise.
- Données hébergées en Union Européenne — l'hébergement (Railway, Pays-Bas) et l'envoi d'emails (Brevo, France 🇫🇷) maintiennent les données au repos dans l'UE. Par transparence : Railway Corp. (hébergement) et Stripe (paiements) sont des sociétés de droit américain ; Stripe traite par ailleurs des données aux États-Unis. Ces situations sont encadrées par le Data Privacy Framework (DPF) et les clauses contractuelles types (CCT), conformément au RGPD Art. 46.
- Minimisation des données — seules les données nécessaires à la gestion des habilitations sont collectées.
Questionnaire sécurité ou revue de conformité
Votre DSI souhaite approfondir un point ? Nous répondons aux questionnaires de sécurité fournisseur et pouvons fournir une annexe technique détaillée sur demande.
Contacter notre équipe →Documents liés : Accord de traitement des données (DPA) · Politique de confidentialité