La couche de preuve du code écrit par IA
Ce que le modèle a produit, face à quelle exigence, vérifié — scellé au moment où c'est arrivé.
Une chaîne qui se vérifie hors ligne, sans serveur dans la boucle. L'artefact que vous livrez est celui que l'auditeur lit.
Code consultable · BLAKE3 + Ed25519 · ni compte ni réseau pour vérifier
Le problème, tel que le marché le pose
Votre référentiel de conformité suppose qu'une personne a compris le code.
SOC 2, HIPAA, IEC 62304 et les autres ont été écrits pour du code qu'une personne a écrit et qu'une personne a relu. Le code généré par IA met cette hypothèse à l'épreuve, et les auditeurs commencent à poser la question.
Le problème, dit plus précisément : quand le modèle écrit à la fois l'implémentation et les tests, la couverture reflète la lecture que le modèle fait de l'exigence — pas une vérification indépendante de celle-ci. Un chiffre qui a l'air d'une vérification, produit par ce qui est vérifié.
Litatoli enregistre l'écart. Les constats structurels calculés sur un graphe de code typé sont un chiffre distinct de ce que le modèle affirme, et c'est cet écart que l'auditeur a besoin de voir.
La règle dont tout le reste découle
Litatoli prouve du code qu'il n'a pas généré.
Il n'est lié à aucun générateur de code. Pointez-le sur la sortie de Copilot, Cursor, Claude Code, d'un agent maison ou d'une personne.
Ce n'est pas une ligne dans une liste de fonctionnalités. Un outil qui à la fois produit un artefact et s'en porte garant vaut moins, pour un auditeur, qu'un outil qui confie le relevé à un tiers — l'indépendance est donc la vraie source de valeur.
C'est pourquoi Litatoli n'est pas intégré à un IDE, et ne le sera pas.
Ce que vous obtenez
Une chaîne, pas un rapport.
Exigence → génération → contrôle structurel → commit. Chaque maillon est haché en BLAKE3 et scellé en Ed25519 : un seul octet modifié casse la vérification.
Vérifier ne demande rien. Ni clé, ni compte, ni réseau, ni serveur Litatoli. C'est ce qui rend l'artefact utilisable dans un parc coupé du réseau, et ce qui permet à un auditeur de le contrôler des années plus tard sans demander la permission à personne.
Le format de preuve est spécifié intégralement — assez précisément pour qu'un second vérificateur indépendant existe déjà en Python, écrit d'après la spécification et sans une ligne de notre code.
Ce que la plupart des outils ne vous disent pas
Un journal signé peut rester un journal incomplet.
Coupez des entrées à la fin et tout se vérifie encore : la séquence va toujours de 1 à n, chaque maillon correspond, chaque signature est authentique — parce que rien n'a été falsifié. Quelque chose a été retiré, et un retrait ne laisse aucune trace dans le fichier.
Litatoli le dit, dans le résultat et non dans un manuel. Une vérification qui n'a pas établi la complétude le déclare, et alerte.
Deux choses le referment, toutes deux à l'extérieur du fichier. Épinglez la tête que vous avez relevée à la fermeture du journal. Ou utilisez un témoin — un registre externe qui ne fait jamais qu'avancer une chaîne : un journal raccourci arrive donc en retard sur ce que le témoin a déjà vu, et il est refusé.
Le témoin est aussi ce qui donne à l'auditeur une signature qui ne vient pas de vous. Une chaîne que vous avez signée vous-même est une auto-attestation ; un contreseing a eu lieu ou n'a pas eu lieu, et aucune copie du logiciel ne peut en fabriquer un.
Construit à découvert
Le moteur est consultable sous BUSL‑1.1 et devient Apache‑2.0 en 2030. Le format et le vérificateur sont Apache‑2.0 dès aujourd'hui.
Vous ne devriez pas avoir à nous faire confiance pour contrôler vos propres preuves. Le format est publié, le vérificateur est ouvert, et une implémentation indépendante existe déjà.
Ce qui est payant est ce qu'une copie du code ne peut pas vous donner : le contreseing, les correspondances de clauses et les règles qui continuent d'arriver au fil des révisions de normes, et le support qu'exige l'achat d'un acquéreur régulé.
Tout le reste reste ouvert. Vous pouvez faire tourner le moteur entier, produire des chaînes et les vérifier, gratuitement et pour toujours — voir les tarifs.
Facturé par organisation, pas par utilisateur
Le moteur est gratuit. Ce que vous payez, c'est la signature que vous ne pouvez pas produire vous-même.
Litatoli n'est pas un outil que chaque développeur ouvre — il tourne dans la CI et il est lu par des auditeurs. Facturer par utilisateur vous ferait payer pour des gens qui n'y touchent jamais.
Prism
- Le moteur complet, code consultable (BUSL‑1.1)
- Chaînes illimitées, vérifiées hors ligne
- Votre propre témoin local
- Rétention hébergée 7 jours · 100 entrées/jour
Alchemy
- Tout Prism
- Témoin géré — des têtes signées par une clé que vous ne détenez pas
- Rapports de conformité signés
- Rétention hébergée 30 jours · 1 000 entrées/jour
Harmony
- Tout Alchemy
- Export d'audit — le dossier que vous remettez à l'évaluateur
- Espaces d'équipe
- Rétention hébergée 90 jours · 10 000 entrées/jour
Sovereignty
- Tout Harmony
- Déploiement dédié · coupure réseau prise en charge
- Rétention négociée · sans quotas
- SLA sur mesure et assistance à l'audit
La rétention concerne le service hébergé, pas vos preuves. Une chaîne est un fichier. Vous le gardez, vous le vérifiez hors ligne, et rien ici ne le périme. Ce que les offres hébergées conservent, c'est l'agrégat que vous interrogez et le dossier que vous exportez.
Les contreseings ne sont jamais supprimés. Une tête attestée il y a trois ans est toujours là et toujours contrôlable — un contreseing qui expire n'en serait pas un.
Tarifs de lancement. S'ils ne conviennent pas à votre situation, dites-le — nous préférons l'entendre maintenant que le modéliser.
Déjà client ? Changer d'offre ou télécharger vos factures, or connectez-vous à votre espace.
Deux façons de commencer