Sécurité
Comment nous protégeons vos données
Chiffrement, contrôle d'accès, isolation multi-tenant et divulgation responsable des vulnérabilités — documentés en clair. Pour les engagements organisationnels (RGPD et loi 09-08, sous-traitants, DPA), voir le centre de confiance (/trust).
Chiffrement
| Couche | Mesure |
|---|---|
| Transit (HTTPS) | TLS 1.3 forcé partout, HSTS activé (1 an, includeSubDomains, preload), HTTP/2 |
| Repos (database) | Chiffrement au repos au niveau de l'infrastructure d'hébergement (volume chiffré) |
| Chiffrement applicatif PII (offre Enterprise) | En cours de déploiement. Le socle de chiffrement applicatif des champs sensibles par clé dérivée par tenant (envelope encryption) est implémenté ; il est activable par client Enterprise et n'est pas activé par défaut. |
| Backups | AES-256 + GPG (clé asymétrique) avant transfert vers stockage objet |
| API tokens | Hashés avec SHA-256 + sel unique avant stockage (jamais en clair) |
| Webhooks signature | HMAC-SHA256 avec secret par souscription |
| JWT Clerk | RS256 avec rotation de clés JWKS automatique |
| Stripe webhook secret | Vérification HMAC native Stripe SDK + idempotence par event_id |
Authentification et autorisation
Authentification utilisateurs
- Provider : Clerk (zero-knowledge sur les données métier)
- Méthodes : Email + magic link, Google OAuth, GitHub OAuth
- 2FA : disponible (TOTP, SMS, Backup codes)
- Politique de mot de passe : 8 caractères minimum, complexité non bloquante (NIST 800-63B compliant)
- Session : JWT 1h validité, refresh automatique, révocation immédiate côté Clerk si compromise
- Rate limiting login : 5 tentatives / 15 min par IP
API tokens
- Format :
rs_test_*(test) etrs_live_*(production) - Génération : 32 octets aléatoires, encoding base64url
- Stockage : SHA-256 hash + sel unique (jamais en clair, irréversible)
- Rotation : recommandée tous les 90 jours, révocation immédiate possible depuis le dashboard
- Restriction de portée : prévue T4 2026 (par endpoint, par IP)
Autorisation
- RBAC simple : owner / admin / member par team
- Quotas appliqués par utilisateur ET par team (le plus strict prévaut)
- Audit log : conservation sans limite de durée
Isolation multi-tenant
RiskSonnar est une plateforme multi-tenant. Chaque client est un tenant séparé : les données sont cloisonnées et l'accès est borné au tenant courant par défaut.
- Ségrégation logique : chaque enregistrement porte son
tenant_id; les requêtes sont filtrées par tenant côté serveur - Principe du moindre privilège : accès cloisonnés par défaut, un tenant ne peut pas lire les données d'un autre
- Chiffrement applicatif des PII par clé dérivée par tenant : socle implémenté, en cours de déploiement (offre Enterprise, non activé par défaut)
- Quotas et audit log appliqués par tenant (et par utilisateur au sein du tenant)
Sécurité applicative
| Vecteur | Mitigation |
|---|---|
| SQL injection | SQLAlchemy ORM (paramétré nativement) + sanitization input company_name |
| XSS | Échappement HTML systématique sur toutes les valeurs utilisateur (jamais d’innerHTML non échappé) |
| CSRF | SameSite cookies + JWT Bearer (pas de cookies sensibles) |
| Clickjacking | X-Frame-Options: SAMEORIGIN |
| MIME sniffing | X-Content-Type-Options: nosniff |
| Open redirect | Allowlist des domaines autorisés pour les redirects |
| SSRF (server-side request forgery) | Allowlist des hôtes autorisés pour les fetches externes |
| Rate limiting global | Par IP : 60 req/min ; par utilisateur : selon plan ; burst 5 req/sec |
| DDoS | Protection L3/L4 au niveau de l'infrastructure + Cloudflare (option, plan Business) |
Logs et monitoring
- Logs applicatifs : texte horodaté (module, niveau, message), capturés par la plateforme d'hébergement et consultables par les fondateurs
- Rétention des logs : celle de notre hébergeur — nous n'exploitons pas de collecteur de logs distinct
- Alertes internes : email aux fondateurs sur événement critique (canari de production en échec, 5xx au-delà du seuil, queue webhook bloquée)
- Alertes Slack / Teams : disponibles pour vos propres alertes de surveillance, via webhook sortant configurable depuis le dashboard
- Supervision d'erreurs en temps réel : prévue T2 2026
Code et CI/CD
- Code : closed source, accès limité aux fondateurs
- Repository : GitHub privé avec branch protection sur
main - Reviews : pull request obligatoire, approbation 1+ fondateur
- CI : lint Python + AST check + tests automatisés (100+ tests) + smoke tests sur les routes critiques
- Deploy : auto sur push
main, rollback en 1 clic via revert + redeploy - Secrets : variables d’environnement chiffrées (jamais en clair dans le code)
- Dependency scanning : Dependabot actif, mises à jour mensuelles minimum
Politique de divulgation des vulnérabilités
Safe harbor. Nous nous engageons à ne pas poursuivre tout chercheur en sécurité agissant de bonne foi dans le respect de cette politique.
Comment signaler
- Email : security@risksonnar.com
- Format préféré : description du problème, étapes de reproduction, impact estimé, PoC si possible
- Chiffrement : PGP supporté (clé publique sur demande)
- RFC 9116 :
/.well-known/security.txtdisponible
Délais d’engagement
| Sévérité | Description | Patch SLA |
|---|---|---|
| P0 — critique | RCE, exfiltration massive, account takeover | 24 heures |
| P1 — haute | Injection limitée, leak partiel, privilege escalation | 7 jours |
| P2 — moyenne | XSS reflété, info leak mineur, bug logique | 30 jours |
Reconnaissance
Avec votre accord, votre nom (et lien) sera ajouté au tableau d'honneur sur /trust une fois la vulnérabilité corrigée. Nous n’offrons pas de bug bounty rémunéré pour l’instant (roadmap Q4 2026), mais nous offrons systématiquement un crédit RiskSonnar significatif aux découvreurs de bonne foi.
Hors périmètre
Ne sont pas considérés comme vulnérabilités :
- Absence de SPF/DKIM/DMARC sur des domaines non-sender
- Self-XSS exploitable uniquement par soi-même
- Vulnérabilités sur des sous-domaines tiers (ex. status.risksonnar.com en cours de mise en place)
- Rate limiting ou enumeration mineure sans impact réel
- Best practices SSL/TLS (sauf si vraiment exploitables)
- Vulnérabilités requérant une compromise locale du device de l’utilisateur
Pour aller plus loin
- /trust — engagements organisationnels (chiffrement, isolation multi-tenant, RGPD et loi 09-08, sous-traitants, DPA, résidence des données)
- /sources-methodologie — sources de données et méthodologie scoring
- /api/v1/docs — documentation API avec vérification HMAC des webhooks
/.well-known/security.txt— RFC 9116/humans.txt— équipe et stack
Une question, un doute, une suggestion ? Réponse sous 48h ouvrées, et safe harbor garanti pour toute recherche menée de bonne foi. security@risksonnar.com.