Un contrôle sans preuve est une opinion : le journal de preuves chaîné

Publié le

Le jour où une facture est rejetée en production — ou pire, contestée lors d'un contrôle fiscal — la question n'est pas « était-elle valide ? » mais « pouvez-vous prouver ce que vous avez vérifié, quand, et contre quelles règles ? ». Un validateur qui répond « oui/non » sans laisser de trace vous laisse seul face à cette question.

Ce que contient un paquet de preuves

Chaque appel à l'API renvoie, à côté du résultat, un bloc proof :

"proof": {
  "operation": "validate_invoice",
  "ruleset_version": "2026.08.1",
  "produced_at": "2026-08-23T20:04:11Z",
  "input_sha256": "d05bb694…",
  "outputs": { "validation_report.json": "96297ada…" },
  "verdict": { "valid": true, "errors": 0 },
  "previous_entry_sha256": "f05c01fc…",
  "entry_sha256": "…",
  "signature": "…",
  "signature_key_id": "prod-2026-08"
}

Trois propriétés font la différence avec un simple log :

1. L'empreinte, pas le document. Le journal ne stocke jamais vos factures — uniquement leur SHA-256. Vous pouvez prouver a posteriori que c'est bien ce document-là qui a été contrôlé (recalculez l'empreinte), sans que nous conservions la moindre donnée commerciale. C'est aussi ce qui rend notre politique de confidentialité inhabituellement courte : il n'y a rien à effacer, parce que rien n'est gardé.

2. La chaîne. Chaque entrée embarque l'empreinte de la précédente, comme un registre à ancrage. Impossible d'insérer, de supprimer ou de réordonner une entrée sans casser toute la chaîne aval — et l'API expose un endpoint public de vérification qui la rejoue de bout en bout. Notre supervision l'appelle toutes les quinze minutes ; vous pouvez le faire aussi.

3. La signature datée et versionnée. L'entrée est signée (HMAC, clé identifiée par signature_key_id pour permettre la rotation) et cite la version exacte du référentiel. « Valide au sens des règles 2026.08.1 du 23 août 2026 » est une affirmation opposable ; « valide » tout court n'est qu'une opinion.

Le déterminisme comme prérequis

Une preuve n'a de valeur que si le contrôle est rejouable : même document + même version de règles = même résultat, aujourd'hui ou dans six ans. C'est pourquoi le moteur est délibérément sans modèle probabiliste — pas d'IA dans le chemin de validation, des règles versionnées, des artefacts officiels épinglés. L'IA est un excellent client de ce service ; elle serait un très mauvais juge.

À quoi ça sert, concrètement

  • Pour un éditeur : répondre à un client qui conteste un rejet avec la preuve du contrôle effectué avant émission, référentiel daté à l'appui.
  • Pour un cabinet : documenter la diligence sur chaque pièce d'un dossier, sans archiver les pièces elles-mêmes.
  • Pour un agent autonome : chaque dépense de son budget laisse un reçu vérifiable — la condition pour qu'un humain accepte de lui confier un budget.

Le détail opération par opération est dans la documentation interactive, et le premier contrôle se fait sans clé sur le scanner d'essai.