La sécurité, sans détour
Pas de mots à la mode. Voici ce que nous faisons — et ce que nous ne prétendons pas — pour garder vos sites, clients et revenus en sécurité.
Chiffrement en transit
Chaque connexion utilise TLS 1.3. HSTS preload. Nous refusons TLS 1.0 / 1.1 et les suites de chiffrement faibles. Sans exception pour les clients legacy.
Chiffrement au repos
Volumes de base de données et buckets S3 chiffrés AES-256. Les sauvegardes sont chiffrées avant de quitter le réseau de production.
Authentification à 2 facteurs
2FA TOTP inclus dans chaque plan, avec un fallback optionnel par OTP e-mail. 8 codes de récupération à usage unique par utilisateur. Obligatoire pour les administrateurs.
Hébergement UE uniquement
Région primaire : Francfort. Secondaire : Stockholm. Aucune donnée ne transite vers une juridiction hors EEE sans Clause Contractuelle Type documentée.
Isolation des tenants
Chaque site client tourne dans son propre scope DB. Les extensions s'exécutent dans un sandbox avec profil disable_functions + open_basedir — un tenant ne peut pas affecter un autre.
Rate limiting + journal d'audit
Limites de débit par IP sur chaque formulaire public. Chaque action admin est enregistrée dans le journal d'activité avec sujet, acteur, IP et un diff complet des champs modifiés.
Pratiques que nous suivons
Test d'intrusion externe annuel
Cabinet indépendant basé dans l'UE. Les findings critiques sont corrigés avant la signature du rapport.
SAST en CI
Chaque PR passe une analyse statique (Psalm + Larastan). Les PRs ne peuvent pas merger avec une sévérité de sécurité > moyenne.
Suivi des dépendances
Dépendances Composer + npm scannées quotidiennement. Une CVE critique déclenche un patch le jour même.
Gestion des secrets
Aucun secret dans le repo. Les secrets de production vivent dans HashiCorp Vault avec rotation trimestrielle.
Sauvegardes + exercices de restauration
Snapshots chiffrés quotidiens conservés 30 jours. Nous menons un exercice de restauration complet chaque trimestre.
Réponse aux incidents
Runbook documenté. Les incidents de sévérité 1 ont un post-mortem public sous 14 jours sur /blog.
Webhooks signés
Les webhooks sortants sont signés HMAC-SHA256. Les clients vérifient à chaque requête pour empêcher la falsification.
Hashage des mots de passe
bcrypt au coût 12 (configurable). Aucun mot de passe ne quitte la frontière de la requête sans être hashé.
Divulgation responsable
Vous avez trouvé une vulnérabilité ? Envoyez un e-mail à security@radcms.io avec les étapes de reproduction. Chiffrez avec notre clé PGP pour les findings sensibles.
Notre engagement
- Accuser réception de votre signalement sous 48 heures.
- Fournir une décision de triage sous 5 jours ouvrés (dans le scope / hors scope / doublon).
- Vous tenir informé jusqu'à la résolution du problème.
- Vous créditer publiquement (si vous le souhaitez) à la livraison du correctif.
- Payer une prime pour les findings critiques/élevés valides (au cas par cas, actuellement jusqu'à €5 000).
Merci de ne pas tester contre des données clients, de ne pas lancer de scanners automatisés qui génèrent du volume, et de nous laisser un délai raisonnable pour corriger avant toute divulgation publique.
Audit en cours · objectif 2026
Disponible sur les plans Enterprise