Invariants globaux ProbatioVault¶
Ce document liste les règles non négociables qui s'appliquent à l'ensemble du projet.
Invariants de sécurité¶
Zero-Knowledge¶
- INV-SEC-01 : Le serveur ne voit jamais les données en clair
- INV-SEC-02 : Le password utilisateur ne quitte jamais le device client
- INV-SEC-03 : K_master_user n'est jamais transmise en clair au serveur
- INV-SEC-04 : Tout chiffrement/déchiffrement se fait côté client
Cryptographie¶
- INV-CRYPTO-01 : SHA3-256 pour tous les hash probatoires (FIPS 202)
- INV-CRYPTO-02 : AES-256-GCM pour tout chiffrement (NIST SP 800-38D)
- INV-CRYPTO-03 : Argon2id pour dérivation password (RFC 9106, 64 MiB minimum)
- INV-CRYPTO-04 : HKDF-SHA3-256 pour dérivation de clés documentaires
- INV-CRYPTO-05 : Clés RSA 4096 bits minimum pour HSM
Données¶
- INV-DATA-01 : Un document = un hash unique (contrainte DB)
- INV-DATA-02 : RLS activé sur toutes les tables utilisateur
- INV-DATA-03 : Pas de suppression physique de documents certifiés (soft delete)
- INV-DATA-04 : Hash complet jamais loggé (RGPD)
Invariants d'architecture¶
Backend¶
- INV-ARCH-01 : API RESTful avec versioning
/api/v1/ - INV-ARCH-02 : TypeORM pour toutes les opérations DB
- INV-ARCH-03 : NestJS pour le framework backend
- INV-ARCH-04 : PostgreSQL comme base de données principale
Frontend¶
- INV-ARCH-05 : Expo/React Native pour l'application mobile
- INV-ARCH-06 : TypeScript strict sur tous les projets
- INV-ARCH-07 : Secure Store pour stockage sensible côté client
Infrastructure¶
- INV-ARCH-08 : Terraform pour tout provisioning infrastructure
- INV-ARCH-09 : AWS CloudHSM pour opérations HSM
- INV-ARCH-10 : S3 avec Object Lock pour stockage WORM
- INV-ARCH-11 : VPN site-to-site pour accès HSM
Invariants de qualité¶
Tests¶
- INV-QA-01 : Coverage minimum 70% sur nouveau code
- INV-QA-02 : Tests unitaires obligatoires pour services crypto
- INV-QA-03 : Vecteurs de test RFC pour fonctions normalisées
Documentation¶
- INV-DOC-01 : Toute User Story = 4 fichiers (spec, plan, accept, rex)
- INV-DOC-02 : JIRA n'est jamais la source de vérité documentaire
- INV-DOC-03 : Documentation en français
CI/CD¶
- INV-CI-01 : Pipeline : lint → test → sonar → build
- INV-CI-02 : Quality gate Sonar obligatoire
- INV-CI-03 : Pas de déploiement sans tests passants
Invariants de conformité¶
- INV-COMPL-01 : Conformité RGPD pour données personnelles
- INV-COMPL-02 : Conformité eIDAS pour signatures électroniques
- INV-COMPL-03 : Conformité FIPS pour algorithmes crypto