PD-106 — Dossier de conformité (Étape 3)¶
Ce dossier est assemblé automatiquement avant la gate PMO. Il constitue la base factuelle sur laquelle le verdict est rendu.
Type de gate : CONFORMITY_CHECK¶
1. Documents de référence¶
| Document | Étape | Statut |
|---|---|---|
| PD-106-besoin.md | 0 | ✓ Présent |
| PD-106-specification.md | 1 | ✓ Présent |
| PD-106-tests.md | 2 | ✓ Présent |
| PD-106-specification-review.md | 3 (phase 1) | ✓ Présent |
| PD-106-confrontation-step3.md | 3 (phase 2) | ✓ Présent |
2. Hypothèses déclarées¶
Extraites de PD-106-specification.md, section 9 :
- H-106-01 : Le backend expose des endpoints opérationnels pour toutes les fonctions PD-106 (MFA, mot de passe, logout, suppression).
- H-106-02 : Le backend fournit une réponse exploitable pour l'état MFA.
- H-106-03 : Le backend applique une mécanique de re-authentification utilisable avant opérations critiques.
- H-106-04 : Le backend supporte la régénération des codes de récupération avec invalidation atomique.
- H-106-05 : Le backend retourne des erreurs de changement de mot de passe qualifiées.
- H-106-06 : Le backend invalide effectivement la session lors du logout.
- H-106-07 : Le backend applique une suppression de compte définitive.
- H-106-08 : Les champs profil minimaux sont disponibles via l'API.
- H-106-09 : Les obligations RGPD/eIDAS sont documentées dans un artefact externe.
3. Preuves de conformité¶
3.1 Invariants ↔ Tests¶
| Invariant | Test(s) couvrant | Couvert ? |
|---|---|---|
| INV-106-01 : Point d'entrée Settings unique | TC-NOM-01 | ✓ |
| INV-106-02 : Profil lecture seule | TC-NOM-01 | ✓ |
| INV-106-03 : Identification non ambiguë | TC-NOM-01 | ✓ |
| INV-106-04 : État MFA serveur + fallback inconnu | TC-NOM-01, TC-ERR-03 | ✓ |
| INV-106-05 : Re-authentification opérations critiques | TC-NOM-03, TC-ERR-06 | ✓ (⚠️ voir DIV-01) |
| INV-106-06 : Re-auth non réutilisable | TC-NOM-03 | ✓ |
| INV-106-07 : Activation MFA après confirmation serveur | TC-NOM-02, TC-ERR-05 | ✓ |
| INV-106-08 : Non-persistance secrets | TC-INV-01 | ✓ (⚠️ périmètre imprécis) |
| INV-106-09 : Affichage unique codes récupération | TC-NOM-02, TC-NOM-10, TC-ERR-07 | ✓ |
| INV-106-10 : Invalidation anciens codes | TC-NOM-04 | ✓ |
| INV-106-11 : Confirmation + reauth pour désactivation | TC-NOM-05, TC-ERR-06 | ✓ |
| INV-106-12 : Changement mot de passe + feedback | TC-NOM-06, TC-ERR-09, TC-ERR-10 | ✓ |
| INV-106-13 : Logout invalide session + nettoyage | TC-NOM-07 | ✓ |
| INV-106-14 : Suppression avec confirmation renforcée | TC-NOM-08, TC-ERR-12, TC-ERR-13 | ✓ |
| INV-106-15 : Compte inutilisable après suppression | TC-NOM-08, TC-ERR-14 | ✓ |
| INV-106-16 : Pas d'échec silencieux | TC-INV-02, TC-ERR-* | ✓ (partiel sur ERR-106-LOGOUT-FAILED) |
| INV-106-17 : Localisation i18n | TC-NOM-09 | ✓ |
| INV-106-18 : Preuve RGPD (hors périmètre) | TC-INV-03 | NON TESTABLE (par nature) |
3.2 Critères d'acceptation ↔ Couverture¶
| Critère | Test(s) | Vérifié ? |
|---|---|---|
| CA-106-01 à CA-106-18 | Voir matrice PD-106-tests.md | ✓ (18/18 couverts) |
| CA-106-19 (RGPD hors périmètre) | TC-INV-03 | NON TESTABLE |
4. Points ouverts¶
Bloquants (nécessitent résolution)¶
- Contradiction INV-106-05 / F-106-05 : la re-authentification est impérative (invariant) mais conditionnelle dans le flux de changement de mot de passe. Arbitrage contractuel requis. (Review Point 05, Confrontation DIV-01)
Majeurs (nécessitent clarification ou réserves)¶
- Fenêtre temporelle de re-authentification non bornée — « immédiatement » sans délai contractuel. (Review Point 01, Confrontation DIV-05)
- Confirmation renforcée — saisie de texte ou double validation, choix non tranché. (Review Point 02)
- Affichage unique — borné par quoi (session, réponse serveur, device) ? (Review Point 03)
- Surfaces de non-persistance non listées exhaustivement. (Review Point 08, Confrontation DIV-02)
- Politique post-changement mot de passe non contractualisée. (Review Point 07, Confrontation ZO-01)
- Comportement après échec logout non tranché. (Review Point 06, Confrontation ZO-02)
- Atomicité de l'invalidation des codes non bornée temporellement. (Review Point 12, Confrontation ZO-03)
- Canaux d'exfiltration visuels/système non traités. (Review Point 14, Confrontation ZO-04)
- TC-NOM-06 introduit une attente non contractualisée. (Review Point 10, Confrontation DIV-04)
Mineurs¶
- TC-NOM-02 rattaché à CA-106-17 sans observable correspondant — incohérence matrice. (Review Point 11, Confrontation DIV-03)
- Exploitabilité du message d'erreur non définie objectivement. (Review Point 09)
- Seuils rate-limit non contractualisés. (Review Point 16)
5. Rapport de confrontation¶
- Voir : PD-106-confrontation-step3.md
- Synthèse : 5 divergences identifiées, 6 zones d'ombre, rework recommandé sur la contradiction bloquante DIV-01.
6. Recommandation pré-verdict¶
- GO — conformité vérifiée, aucun point bloquant
- RESERVE — conformité partielle, conditions à satisfaire
- NON_CONFORME — écarts bloquants identifiés
- ESCALADE — décision humaine requise
Justification : la couverture Invariants ↔ Tests est solide (17/18 couverts, 1 hors périmètre par nature). Cependant, 1 contradiction bloquante (INV-106-05 vs F-106-05) et plusieurs ambiguïtés majeures nécessitent des arbitrages. La recommandation est RESERVE avec résolution obligatoire de la contradiction sur la re-authentification avant l'étape 4 (plan d'implémentation), et clarification des points majeurs 2-9 au plus tard à l'étape 5.