Comprendre

La confiance, expliquée à tous

Une même question — « pourquoi croire cette preuve ? » — trois réponses, selon qui vous êtes. Choisissez votre registre : aucune n'exige les deux autres.

Si vous découvrez, sans être technicien

Un greffier numérique que personne ne peut faire mentir — pas même nous

Quand quelqu'un valide un acte important — signer un contrat, approuver un document — ProofIt joue le rôle d'un greffier : il vérifie que c'est bien la bonne personne (un code reçu sur son téléphone), puis il écrit chaque étape dans un registre où l'on ne peut qu'ajouter des pages. Jamais en modifier une, jamais en arracher une : c'est la base de données elle-même qui refuse, pas une promesse.

Chaque page est signée par deux stylos indépendants — celui de votre entreprise et le nôtre — et tient la main de la page précédente : en changer une seule casserait visiblement toute la suite. Régulièrement, l'état du registre est tamponné par des horloges extérieures que personne ne contrôle : la blockchain Bitcoin et un horodateur officiel. Impossible d'antidater.

Et pour la question qui fâche — « et si c'est vous qui trichiez ? » — votre entreprise contre-signe elle-même des photos régulières du registre, avec une clé que nous n'avons pas. Si nous réécrivions quoi que ce soit, sa photo signée nous contredirait. La tricherie ne serait pas juste interdite : elle serait prouvable.

À la fin, vous recevez une valise de preuve — un fichier que n'importe quel expert peut vérifier, hors ligne, avec des outils publics, sans nous croire sur parole et sans nous demander la permission. C'est ça, la différence entre « faites-nous confiance » et « vérifiez vous-même ».

Ce que ça ne fait pas — et qu'on préfère dire : le code SMS prouve que la personne tenait le téléphone, pas son identité d'état civil (des niveaux plus forts existent en option). Un système qui annonce ses limites est un système qu'on peut croire.

Si vous êtes product manager

Ce que ça change dans votre produit, concrètement

Le parcours utilisateur

Un seul ajout visible : un code à 6 chiffres au moment de l'acte sensible, envoyé sous votre marque (votre expéditeur SMS, vos emails — mode marque blanche). Tout le reste est invisible : journalisation, ancrage, bundle.

Le livrable

Par session validée : un fichier de preuve standard (ASiC-E) archivé automatiquement, uniquement quand il est complet — jamais de brouillon ambigu. Votre client peut le remettre tel quel à un expert en cas de litige.

Le déploiement

Activation progressive par feature flag — pilote sur une organisation, kill-switch instantané, comportement historique strictement inchangé quand c'est éteint. Une panne ProofIt après validation ne bloque jamais votre flux métier.

Le discours client

« Chaque validation est prouvable devant un tiers — intégrité, horodatage officiel, vérification indépendante — et nous ne pouvons pas nous-mêmes réécrire l'historique : nos clients en sont témoins cryptographiques. » Les limites (niveau d'identité) sont étiquetées dans la preuve : pas de sur-promesse.

À cadrer avec nous : le niveau d'authentification voulu par acte (SMS → TOTP → passkey → identité vérifiée), la durée de conservation des preuves, et qui reçoit les emails témoins.

Si vous êtes développeur

Le contrat en six appels, deux webhooks et un vérificateur

POST /v1/sessions                          # ouvre la session (OTP envoyé — ou délégué à votre app)
POST /v1/sessions/{id}/validate            # l'utilisateur saisit le code → session OPEN
POST /v1/sessions/{id}/actions             # DOCUMENT_READ, INTENT_DECLARED… (hash du document)
POST /v1/sessions/{id}/artifacts           # lie un sceau externe (Yousign…) par son hash
POST /v1/sessions/{id}/close               # clôture → ancrage immédiat de la session
POST /v1/proofs {require_anchored: true}   # bundle ASiC-E final (422 tant que non ancré)
  • Auth : Authorization: Bearer sp_… + X-Organisation-Id, scopes fins par clé.
  • Idempotence partout : header Idempotency-Key sur toute route mutante — même clé + même corps = réponse rejouée, jamais de doublon ; corps différent = 409.
  • Webhooks HMAC-signés (anti-rejeu ±5 min) : bundle.generated vous livre la preuve finale (anchor_coverage: complete) ; checkpoint.created vous invite à contre-signer la tête de chaîne — c'est votre clé Ed25519 qui rend toute réécriture détectable.
  • Vérification indépendante : pip install session-proof-verify puis session-proof-verify bundle.asice --root-key <clé publique> — structure, hashes, chaîne, Merkle, ancres, checkpoints. Hors ligne.
  • Consistance témoin : GET /v1/entries/{seq} — l'entrée que vous avez co-signée doit porter la même empreinte pour toujours.

Guides complets : Démarrage rapide · Webhooks · Ancrage · SDKs PHP / Node / Python.

Pour aller plus loin : le fonctionnement de la chaîne, la philosophie du faisceau de preuves, et — pour les juristes — le modèle de menace honnête documenté dans le dépôt (docs/OPPOSABILITE.md).