Aller au contenu principal

Pratiques de sécurité

La sécurité n'est pas une fonctionnalité que nous ajoutons plus tard — elle est intégrée dans chaque couche de notre architecture. Nous suivons les principes de défense en profondeur, en supposant que n'importe quelle couche pourrait être compromise.

Méthodes d'authentification

Nous prenons en charge plusieurs méthodes d'authentification pour équilibrer sécurité et commodité utilisateur :

  • E-mail/Mot de passe : Avec des exigences de mot de passe renforcées, détection de violation et politiques de verrouillage de compte.
  • Liens magiques : Connexion sans mot de passe via OTP par e-mail pour réduire l'exposition des identifiants.
  • OAuth : Intégration Google et GitHub via Supabase, tirant parti de leur infrastructure de sécurité.
  • SSO entreprise : SAML 2.0, OAuth 2.0 et OpenID Connect pour les identités gérées par l'organisation.
  • WebAuthn : Clés de sécurité matérielles et authentification biométrique utilisant le standard FIDO2.
  • MFA : TOTP, SMS, e-mail et WebAuthn comme seconds facteurs avec des codes de récupération de secours.

Protection CSRF

La falsification de requêtes inter-sites est prévenue par plusieurs mécanismes :

  • Génération de tokens via crypto.getRandomValues()
  • Tokens inclus dans les en-têtes X-CSRF-Token
  • Stockage basé sur la session avec expiration d'1 heure
  • Validation de l'en-tête X-Requested-With
  • Attributs de cookies SameSite

En-têtes de sécurité

Chaque réponse inclut des en-têtes de sécurité complets :

  • X-Frame-Options: DENY — Prévient le clickjacking
  • X-Content-Type-Options: nosniff — Arrête le MIME sniffing
  • Strict-Transport-Security — Force HTTPS avec preload
  • Content-Security-Policy — Restreint les origines des ressources
  • Referrer-Policy: strict-origin-when-cross-origin
  • Permissions-Policy — Refuse la géolocalisation, caméra, microphone

Limitation de débit

Nous implémentons une limitation de débit par niveaux pour prévenir les abus tout en autorisant le trafic légitime :

  • Tentatives de connexion : 5 tentatives par 15 minutes avant verrouillage
  • Endpoints API : Limites par clé basées sur le niveau d'abonnement
  • Endpoints de suivi : Limites plus élevées pour accommoder les pics de trafic
  • Réputation IP : Blocage automatique des acteurs malveillants connus

Gestion des clés API

L'accès API externe est contrôlé via des clés API à portée définie :

  • Les clés sont chiffrées au repos dans la base de données
  • Limitation de débit et suivi d'utilisation par clé
  • Permissions à portée définie (accès complet vs spécifique au site)
  • Capacité de révocation instantanée
  • Options d'expiration automatique

Journaux d'audit

Nous maintenons des pistes d'audit complètes pour la sécurité et la conformité :

  • Tous les événements d'authentification (connexion, déconnexion, tentatives échouées)
  • Changements de paramètres avec valeurs avant/après
  • Création et révocation de clés API
  • Changements d'appartenance à l'équipe
  • Événements de facturation et changements d'abonnement

Conformité RGPD

La vie privée est une fonctionnalité produit principale, pas une réflexion après coup :

  • Fonctionnalité d'export de données pour les demandes des utilisateurs
  • Droit à la suppression avec purge complète des données
  • Périodes de conservation des données configurables
  • Pas de tracking inter-sites ni de cookies tiers
  • Options d'anonymisation des IP
  • Gestion du consentement aux cookies