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.