Aller au contenu

Review Conformité — PD-31

1. Analyse de complétude

Points globalement couverts : - Le besoin est bien structuré dans la spec en 8 fonctionnalités (F-31-01 à F-31-08) cohérentes avec le périmètre attendu (capture, immutabilité, ancrage, alerting, export, rétention). - Les dimensions clés sont présentes : append-only, hash chaîné, intégration Merkle/TSA/blockchain, export judiciaire, rétention légale.

Points potentiellement manquants ou insuffisamment explicites : - Le besoin impose 8 types d'événements auth : non confirmé explicitement dans l'extrait de spec. - Le besoin impose 3 canaux (ios, pwa, api) : non confirmé explicitement. - Le besoin impose 15 champs de métadonnées : non confirmé explicitement dans le modèle présenté. - Le besoin impose performance < 5ms insertion et > 1000 evt/s : la spec fonctionnelle ne montre pas clairement ces seuils comme exigences normatives (même si des tests perf existent). - Le besoin impose Zero-Knowledge (pas de données sensibles) : non explicitement garanti par exigences de minimisation/redaction/chiffrement dans l'extrait.

2. Analyse de testabilité

  • Le dossier annonce une matrice CA → TC complète et 70 TC, ce qui indique une bonne couverture formelle.
  • Répartition des tests cohérente (unitaires/intégration/E2E/perf/sécurité/non-régression), adaptée à une story critique d'audit.
  • Les tests semblent couvrir les dimensions techniques et non fonctionnelles.
  • Réserve : sans détail ligne à ligne de la matrice, la couverture de certains points du besoin (8 événements, 3 canaux, 15 métadonnées, Zero-Knowledge) ne peut pas être vérifiée comme strictement exhaustive.

3. Analyse de clarté

  • La spec est globalement structurée et lisible (features, invariants, modèle de données, API, erreurs).
  • Présence de 3 questions ouvertes (QO-31-01..03) sur des sujets structurants (source de vérité alerting, gestion non-ancrés, clé de signature), ce qui crée des zones d'ambiguïté de conception.
  • Ces ambiguïtés peuvent impacter l'implémentation, la conformité probatoire et la reproductibilité des tests.

4. Analyse de traçabilité

  • Chaîne besoin → spec → tests en place via CA et matrice annoncée.
  • Traçabilité fonctionnelle bonne au niveau macro (mapping des blocs).
  • Traçabilité fine partiellement fragile sur les exigences quantitatives/explicites du besoin (8/3/15, seuils perf, Zero-Knowledge) faute d'assertion explicite dans l'extrait.

5. Écarts détectés

ECT-31-01 : Couverture explicite des 8 types d'événements non démontrée

  • Type : DIV (divergence)
  • Sévérité : MAJEUR
  • Description : L'extrait de spec ne prouve pas explicitement la liste exhaustive des 8 événements auth demandés.
  • Impact : Risque de couverture partielle du journal d'audit.
  • Recommandation : Ajouter une section normative listant les 8 événements et leur mapping CA/TC.

ECT-31-02 : Canaux iOS/PWA/API non explicitement normés

  • Type : DIV (divergence)
  • Sévérité : MAJEUR
  • Description : Le besoin mentionne 3 canaux, mais la spec ne montre pas clairement les contraintes par canal.
  • Impact : Risque d'implémentation incomplète ou asymétrique.
  • Recommandation : Ajouter un tableau de couverture par canal avec CA et TC associés.

ECT-31-03 : Exigence des 15 métadonnées non traçable

  • Type : ECT (écart technique)
  • Sévérité : MAJEUR
  • Description : Le modèle de données (5 tables) est donné, mais pas la validation explicite des 15 champs attendus.
  • Impact : Perte d'exhaustivité probatoire.
  • Recommandation : Spécifier les 15 champs (nom, type, obligatoire, source) + tests de complétude.

ECT-31-04 : Performance non cadrée comme exigence normative dans la spec

  • Type : PERF (performance)
  • Sévérité : MAJEUR
  • Description : Seuils < 5ms et > 1000 evt/s du besoin non visibles explicitement dans l'extrait spec.
  • Impact : Critères d'acceptation potentiellement non opposables en gate.
  • Recommandation : Ajouter NFR chiffrés dans la spec + conditions de mesure reproductibles.

ECT-31-05 : Zero-Knowledge insuffisamment spécifié

  • Type : SEC (sécurité)
  • Sévérité : BLOQUANT
  • Description : Le besoin interdit les données sensibles, mais les règles de minimisation/redaction/hachage/chiffrement ne sont pas explicites dans l'extrait.
  • Impact : Risque de non-conformité sécurité/RGPD et invalidation probatoire.
  • Recommandation : Formaliser une politique Zero-Knowledge (champs interdits, contrôles d'entrée, tests négatifs, audit de conformité).

ECT-31-06 : Questions ouvertes critiques non résolues

  • Type : AMB (ambiguïté)
  • Sévérité : MAJEUR
  • Description : QO-31-01..03 touchent des décisions structurantes.
  • Impact : Variabilité d'implémentation, tests instables, dette de conformité.
  • Recommandation : Lever les QO avant implémentation, puis rebasculer les décisions en CA explicites.

6. Scoring

Critère Score /10 Justification
Completeness 7 Bonne couverture macro, mais exigences clés du besoin (8/3/15, Zero-Knowledge, seuils perf) non explicitement démontrées
Testability 8 Matrice CA→TC annoncée complète + 70 TC multi-niveaux ; légère réserve sur preuves fines des exigences quantitatives
Clarity 7 Structure solide mais 3 QO sur des sujets critiques maintiennent une ambiguïté réelle
Traceability 8 Chaîne globale en place ; traçabilité détaillée perfectible sur exigences strictes du besoin
Moyenne 7.50

7. Verdict préliminaire

  • GO (tous >= 8)
  • RESERVE (moyenne >= 7, au moins un < 8)
  • NON_CONFORME (moyenne < 7 OU un score < 6)

Review générée par ChatGPT (gpt-5.3-codex) dans le cadre du workflow de gouvernance ProbatioVault.