Aller au contenu

PD-103 — Dossier de conformité (Gate 3 — v2)

1. Documents de référence

  • Spécification v2 : PD-103-specification.md (534 lignes, corrections K_doc/DEK, session upload, INV-103-29/30)
  • Tests v2 : PD-103-tests.md (741 lignes, GIVEN/WHEN/THEN, multipart, 409)
  • Review P1 v2 (Claude) : PD-103-review-step3-v2.md (16KB)

2. Corrections v1→v2 appliquées

Écart v1 Statut v2
ECT-01 K_doc/DEK non défini CORRIGÉ — §3bis, §5.4bis, INV-103-30
ECT-02 Transmission DEK CORRIGÉ — dek_wrapped_b64 dans modèle données
ECT-03 Session upload différé CORRIGÉ — session = JWT auth, URL pré-signée renouvelée
DIV-01 Regex timestamp CORRIGÉ — (?:\.\d{1,6})? + skew ±300s
DIV-02 Multipart non documenté CORRIGÉ — §5.5bis flux multipart
DIV-03 UPLOADING→CANCELLED sans INV CORRIGÉ — INV-103-29
DIV-04 Diagramme séquence PARTIELLEMENT — diagramme non mis à jour (voir MIN-01 v2)
DIV-05 INV-103-09 non testable CORRIGÉ — mécanisme RSA-OAEP key wrapping
DIV-08 Tests INV sans GIVEN/WHEN/THEN CORRIGÉ
DIV-09 Intégrité ciphertext S3 PARTIELLEMENT (voir MIN v2)
DIV-10 Skew timestamp CORRIGÉ — ±300s + 400
DIV-11 Code 409 CORRIGÉ

3. Nouveaux écarts v2

BLOQUANTS (3)

ID Description
ECT-01-v2 "payload canonique identique" (idempotence 200 vs 409) jamais défini — non implémentable
ECT-11-v2 Échec unwrap DEK backend (corruption/rotation KEK) — aucun cas d'erreur
ECT-19-v2 Q-103-07 (conservation locale post-TTL) classé Bloquant par tests mais non résolu en spec

MAJEURS (9)

ID Description
ECT-07-v2 SHA3-256 et RSA-OAEP-SHA256 non disponibles nativement en React Native/Expo
ECT-05-v2 Effacement DEK mémoire impossible en JS (garbage collector)
ECT-06-v2 Orphelins S3 (crash entre PUT S3 et POST backend) non couverts par réconciliation
ECT-08-v2 Clearing conditionnel (SEAL_DELAYED) non testable — "cycle conforme" indéfini
ECT-02-v2 "ReKey" dans INV-103-09 — terme fantôme, non défini
ECT-03-v2 capture_id case-insensitive vs comparaison canonique — faux 409
ECT-13-v2 Effacement DEK mobile non testé
ECT-17-v2 Captures UPLOAD_DEFERRED indéchiffrables après rotation KEK
ECT-09-v2 Conditions de déclenchement clearing absentes

MINEURS (10)

Diagrammes incomplets, tolérance skew configurable vs tests figés, sanitisation ocr_text, nonce CSPRNG non contractualisé, URL pré-signée sans protection MITM.

4. Scoring v2

Tous les bloquants v1 sont corrigés. 3 nouveaux bloquants apparaissent, plus fins. Amélioration significative sur completeness et testability.

Critère Score v1 Score v2 Delta
completeness 5.0 6.5 +1.5
testability 5.0 6.5 +1.5
clarity 6.0 7.0 +1.0
traceability 7.0 8.0 +1.0

Moyenne v2 : (6.5 + 6.5 + 7.0 + 8.0) / 4 = 7.0 Moyenne v1 : 5.75 Delta : +1.25 (amélioration significative)