Aperçu de la sécurité
FeedbackPulse SaaS est construit avec la sécurité comme priorité absolue. Cette page documente toutes les mesures de sécurité en place.
Couches de sécurité
Sécurité du transport
| Fonctionnalité | Implémentation |
|---|---|
| HTTPS | Appliqué via SESSION_SECURE_COOKIE=true et le middleware de redirection |
| HSTS | Strict-Transport-Security: max-age=31536000; includeSubDomains |
| En-têtes de sécurité | Appliqués par le middleware SecurityHeaders à chaque réponse |
Authentification
| Fonctionnalité | Implémentation |
|---|---|
| Hachage des mots de passe | Bcrypt avec 12 rounds |
| Authentification à deux facteurs | TOTP via des applications d'authentification (Google Authenticator, Authy) |
| Connexion sociale | OAuth2 avec Google et GitHub |
| Vérification par email | Requise avant l'accès au tableau de bord |
| URLs signées | Utilisées pour les invitations d'équipe (expiration après 7 jours) |
| Chiffrement de session | Sessions chiffrées au repos |
Autorisation
| Fonctionnalité | Implémentation |
|---|---|
| Accès basé sur les rôles | 4 rôles : superadmin, tenant_admin, tenant_staff, customer |
| Gardes middleware | Contrôle d'accès au niveau des routes |
| Isolation des locataires | Le scope global empêche l'accès aux données inter-locataires |
| Portes basées sur les plans | Fonctionnalités verrouillées derrière le plan d'abonnement |
Sécurité applicative
| Fonctionnalité | Implémentation |
|---|---|
| Protection CSRF | Tokens CSRF Laravel sur tous les formulaires (sauf webhooks/widget) |
| Prévention XSS | Auto-échappement Blade {{ }} |
| Injection SQL | Requêtes paramétrées Eloquent |
| Attribution de masse | Liste blanche $fillable des modèles |
| Limitation de débit | Throttling par route (5-120 req/min) |
Sécurité API
| Fonctionnalité | Implémentation |
|---|---|
| Hachage des clés API | Stockage haché SHA256 |
| Limites de débit par locataire | 60 requêtes/minute par locataire |
| Rotation des clés | Révoquer les anciennes clés, créer de nouvelles |
| Suivi de la dernière utilisation | Horodatage last_used_at mis à jour à chaque utilisation |
Sécurité des données
| Fonctionnalité | Implémentation |
|---|---|
| Chiffrement des données sensibles | Paramètres de la plateforme chiffrés au repos |
| Conformité RGPD | Outils d'export de données, de suppression et d'anonymisation |
| Rétention des données | Suppression automatique des anciennes données selon la politique de rétention du plan |
| Journalisation d'audit | Chaque action significative tracée avec l'IP et l'agent utilisateur |
| Prévention d'injection CSV | Caractères de formule nettoyés dans les exports |
Sécurité des webhooks
| Fonctionnalité | Implémentation |
|---|---|
| Signatures HMAC | Signatures SHA256 sur les webhooks sortants |
| Protection SSRF | Bloque localhost, les IPs privées dans les URLs webhook |
| Vérification Stripe | Vérification de signature webhook |
| Déduplication des événements | Empêche le double traitement via le suivi des IDs d'événements |
En-têtes de sécurité HTTP
Appliqués par le middleware SecurityHeaders :
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Strict-Transport-Security: max-age=31536000; includeSubDomains
Referrer-Policy: strict-origin-when-cross-origin
Content-Security-Policy: [configuré par déploiement]