Aller au contenu

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.