Aller au contenu principal

Sécurité & conformité

Dernière mise à jour : mai 2026

BlazeCheck est conçu pour répondre aux exigences de sécurité des professionnels de la maintenance SSI. Cette page détaille notre architecture technique, nos mesures de protection des données et la manière dont nous garantissons l'intégrité des rapports que vous générez.

🏗️Infrastructure hébergée en Europe

Base de données — Turso (Paris, France)

Toutes les données applicatives (comptes, clients, équipements, rapports) sont hébergées sur des serveurs Turso en région Paris, France (EU). Aucun transfert de données hors de l'Union Européenne. Turso utilise libSQL (fork SQLite) avec chiffrement au repos.

Fichiers — Cloudflare R2 (EU)

Les photos d'anomalies, les signatures électroniques et les captures d'écran sont stockées dans Cloudflare R2, configuré en région Europe. Les URLs sont privées par défaut et signées pour chaque accès. Cache immuable 1 an pour les fichiers déjà validés.

Application — Netlify Edge (CDN mondial)

Le code de l'application tourne sur Netlify Functions (serverless) et Netlify Edge, avec un CDN mondial pour les assets statiques. Déploiements atomiques : chaque mise à jour est instantanée et réversible. Uptime cible : 99,9 % (hors maintenance programmée — voir page statut).

Cache — Upstash Redis (EU)

Le cache applicatif et le rate limiting utilisent Upstash Redis, hébergé en Europe. Le cache est invalidé à chaque modification de données pour garantir la fraîcheur des informations.

🔒Sécurité applicative

Authentification — JWT httpOnly + Magic Link

Sessions JWT de 12 heures, stockées dans un cookie httpOnly (inaccessible au JavaScript). Attributs Secure et SameSite=Lax. Magic links à usage unique avec expiration 1 heure. Hachage bcrypt (coût 12) pour les mots de passe. Rate limiting : 10 tentatives de connexion par email sur 15 minutes, 5 inscriptions par IP par heure.

CSP stricte — protection XSS

Content Security Policy appliquée sur toutes les pages et API via le middleware Edge. Directives : default-src 'self', frame-ancestors 'none', object-src 'none', upgrade-insecure-requests. Les scripts tiers autorisés sont listés explicitement. Toute ressource non whitelistée est bloquée.

Isolation multi-tenant stricte

Chaque agence est un tenant isolé par agencyId. Toutes les mutations en base de données vérifient que l'utilisateur appartient au tenant correspondant. Cette isolation est testée automatiquement par une suite de tests unitaires avec base SQLite in-memory. Une agence A ne peut jamais accéder aux données d'une agence B.

Rate limiting — protection DoS

Upstash Redis sliding window (30 req/min par IP sur toutes les routes API). Limites spécifiques sur les routes sensibles : feedback (5/min), magic link (3/15min), inscription (5/h). Fallback in-memory automatique si Redis est indisponible.

Paiements — Stripe PCI-DSS

Aucune donnée bancaire n'est stockée par BlazeCheck. Les paiements sont traités par Stripe (certifié PCI-DSS niveau 1). Chaque webhook Stripe est vérifié par signature HMAC avant traitement.

🔏Intégrité des rapports PDF

Empreinte SHA-256 de chaque rapport

À la création de chaque rapport, BlazeCheck calcule une empreinte SHA-256 des données structurées (technicien, équipements, points de contrôle, anomalies, dates). Cette empreinte est stockée en base de données et affichée dans le pied de page de chaque PDF généré. Toute modification ultérieure des données du rapport produirait une empreinte différente, détectable immédiatement.

Comment vérifier un rapport

L'empreinte abrégée est visible dans le pied de page PDF (format : SHA-256: abc123…). En cas de litige sur l'authenticité d'un rapport, contactez contact@blazecheck.org avec la référence du rapport — nous vous fournirons l'empreinte complète pour vérification indépendante.

Horodatage et traçabilité

Chaque rapport porte sa date et heure de création (ISO 8601 UTC), l'identité du technicien, son numéro de certification et la signature bipartite (technicien + représentant client). Le journal d'activité admin enregistre toutes les actions (création, modification, suppression) avec l'identité de l'opérateur.

Conservation légale

Les données de compte (clients, équipements, techniciens) sont supprimées dans un délai de 30 jours après résiliation. Les rapports de vérification SSI sont soumis à une conservation légale de 10 ans (arrêté du 25 juin 1980 modifié, art. R.123-1 CSI), indépendamment de la résiliation du compte. L'export complet (JSON, XML, PDF-ZIP) est disponible à tout moment depuis le back-office.

⚖️Conformité RGPD

Consentement explicite

Recueilli à l'inscription via une double case à cocher (CGU + traitement des données). La date et l'heure du consentement sont enregistrées en base de données.

Droit à l'effacement (Art. 17)

Suppression de compte disponible depuis le tableau de bord (Profil → Supprimer mon compte). La suppression déclenche une cascade complète : agence, techniciens, clients, équipements, rapports, contrats. L'abonnement Stripe est résilié simultanément.

Portabilité des données (Art. 20)

Export de toutes vos données depuis le back-office (JSON, XML, PDF-ZIP). Disponible à tout moment, sans délai, sans demande préalable.

Responsable du traitement

M. Logan Case — contact@blazecheck.org — Nice, 06000, France. Pour exercer vos droits (accès, rectification, effacement, opposition) : réponse sous 72h.

🐛Reporting de vulnérabilité

Si vous découvrez une vulnérabilité de sécurité dans BlazeCheck, merci de nous la signaler de façon responsable avant toute divulgation publique.

Contact sécurité :

security@blazecheck.org

Nous nous engageons à répondre dans les 48h et à corriger les vulnérabilités critiques dans les 7 jours suivant la réception du rapport.

Questions sur cette page : contact@blazecheck.org

Politique de confidentialité · CGU · Mentions légales