Aller au contenu

Invariants Backend

Ce document liste les invariants spécifiques au backend. Voir les invariants globaux pour les règles projet.

Invariants API

  • INV-API-01 : Toutes les routes authentifiées utilisent JWT
  • INV-API-02 : Validation DTO obligatoire sur tous les endpoints
  • INV-API-03 : Versioning API : /api/v1/
  • INV-API-04 : Réponses standardisées (success/error)
  • INV-API-05 : Rate limiting sur endpoints sensibles

Invariants base de données

  • INV-DB-01 : RLS activé sur toutes les tables utilisateur
  • INV-DB-02 : Toute modification de schéma = migration TypeORM
  • INV-DB-03 : Pas de requêtes SQL raw (sauf cas justifié)
  • INV-DB-04 : Soft delete pour documents certifiés
  • INV-DB-05 : Index sur toutes les colonnes de recherche

Invariants sécurité

  • INV-SEC-BE-01 : Pas de secrets en dur dans le code
  • INV-SEC-BE-02 : Variables sensibles via Vault
  • INV-SEC-BE-03 : Logging sans données personnelles
  • INV-SEC-BE-04 : CORS configuré strictement
  • INV-SEC-BE-05 : Helmet.js activé

Invariants crypto

  • INV-CRYPTO-BE-01 : Opérations HSM via PKCS#11
  • INV-CRYPTO-BE-02 : Clés RSA 4096 bits pour signatures
  • INV-CRYPTO-BE-03 : AES-256-GCM pour chiffrement symétrique
  • INV-CRYPTO-BE-04 : Hash SHA3-256 validé mais non recalculé (Zero-K)

Invariants tests

  • INV-TEST-BE-01 : Coverage ≥ 70% sur services
  • INV-TEST-BE-02 : Tests E2E pour endpoints critiques
  • INV-TEST-BE-03 : Mocks HSM pour tests unitaires

Référence complète

Voir les invariants globaux.