Invariants Application Mobile¶
Ce document liste les invariants spécifiques à l'app mobile. Voir les invariants globaux pour les règles projet.
Invariants Zero-Knowledge (client)¶
- INV-ZK-01 : Password jamais transmis au serveur
- INV-ZK-02 : K_master_user jamais en clair hors mémoire
- INV-ZK-03 : Documents déchiffrés uniquement en mémoire
- INV-ZK-04 : Effacement mémoire après déchiffrement (zeroize)
Invariants cryptographiques¶
- INV-CRYPTO-APP-01 : Argon2id 64 MiB minimum pour K_encryption
- INV-CRYPTO-APP-02 : HKDF-SHA3-256 pour dérivation K_doc
- INV-CRYPTO-APP-03 : AES-256-GCM pour tout chiffrement
- INV-CRYPTO-APP-04 : Salt unique 16 bytes par utilisateur
- INV-CRYPTO-APP-05 : Domain separation obligatoire
Invariants stockage¶
- INV-STORE-01 : Keystore dans Secure Store uniquement
- INV-STORE-02 : Pas de données sensibles en AsyncStorage
- INV-STORE-03 : Documents chiffrés avant écriture disque
- INV-STORE-04 : Cache mémoire effacé au lock
Invariants sécurité¶
- INV-SEC-APP-01 : Auto-lock après inactivité
- INV-SEC-APP-02 : Password minimum 12 caractères
- INV-SEC-APP-03 : Verrouillage après 5 tentatives échouées
- INV-SEC-APP-04 : Pas de capture d'écran sur écrans sensibles
Invariants qualité¶
- INV-QA-APP-01 : TypeScript strict
- INV-QA-APP-02 : Coverage ≥ 70%
- INV-QA-APP-03 : Tests pour toutes fonctions crypto
- INV-QA-APP-04 : Vecteurs RFC pour fonctions normalisées
Invariants UX¶
- INV-UX-01 : Feedback immédiat sur actions utilisateur
- INV-UX-02 : Messages d'erreur explicites
- INV-UX-03 : Offline-first (mode dégradé disponible)
Référence complète¶
Voir les invariants globaux.