// code.noirebox.eu — résumé en français. La référence complète est en anglais.
NoireBox v0.21.0
La boîte noire des agents IA : chaque événement — appel de modèle, sortie, incident, décision — est scellé dans un journal en annexe seule, chaîné par SHA-256, signé en Ed25519, horodaté par des témoins externes (RFC 3161, OpenTimestamps/Bitcoin). N'importe qui — auditeur, DPO, client — peut revérifier l'intégralité hors-ligne, sans vous faire confiance.
pip install noirebox
§Pourquoi
Votre agent IA rédige des comptes rendus qui engagent. Six mois plus tard, qui peut prouver exactement ce qu'il a produit, sur quel entrant, avec quel outil — et que le journal n'a pas été modifié depuis ? Les outils d'observabilité servent à déboguer ; leurs logs restent modifiables. NoireBox produit un dossier qu'un tiers revérifie arithmétiquement, hors-ligne.
Ce que ça garantit
- Annexe seule — pas d'UPDATE, pas de DELETE ; 0,17 ms par événement scellé
- Falsification localisée — réécriture, insertion, suppression : détectées à l'événement exact
- Non-répudiation — Ed25519 ; la clé peut vivre hors du disque (démon keyholder, token PKCS#11)
- Temps externe — ancrage RFC 3161 multi-TSA ; seuls 32 octets de hash sortent
- Indécidable ≠ propre — chaque état non prouvé est nommé, jamais fondu dans un OK
Ce que ce n'est pas
- Pas une blockchain — un émetteur, un vérificateur, pas de taxe de consensus
- Pas un outil d'observabilité — déboguer ≠ prouver
- Pas une certification — un composant qui énonce son périmètre (modèle de menace)
- Pas du SaaS — auto-hébergé, zéro télémétrie, un fichier SQLite par journal
§Démarrage
pip install noirebox # le moteur ML (FR + EN) est dans la roue noirebox serve # API sur http://127.0.0.1:8768 — OpenAPI à /docs curl -X POST http://127.0.0.1:8768/api/v1/events \ -d '{"type":"llm_call","payload":{"model":"…"}}' # sceller un événement curl -X POST http://127.0.0.1:8768/api/v1/anchors # sceller la tête de chaîne (RFC 3161) curl -s http://127.0.0.1:8768/api/v1/export > export.json python verifier/verifier.py export.json # exit 0 = intact et témoins vérifiés · 1 = cassé · 2 = ancrage non prouvé
Ou Docker : docker run -p 8768:8768 ghcr.io/noirebox/noirebox:latest
§La surface technique
- API HTTP — 12 routes FastAPI, OpenAPI interactif, auth JWT optionnelle (détail EN)
- CLI — 20 sous-commandes : sceller, vérifier, réconcilier, ancrage de flotte, custody-grade… (référence EN)
- Serveur MCP — 4 outils agents (scan, log_event, verify, attestation) sur stdio JSON-RPC
- Hook éditeur/agent — sceller un tool-use ou une session entière ; extension VS Code / Cursor
- Garde-fous — 3 moteurs (regex / ML / juge LLM local) ; le vôtre reste une source d'événements parmi d'autres
- Conformité UE — mapping RGPD art. 5(2)/15/20, AI Act art. 12/55(1)(c)/Annexe IV, eIDAS art. 41 (mapping EN)
- 27 ADRs — chaque décision d'architecture, avec ce qui a été écarté et pourquoi (index EN)
La documentation de référence — specs, schémas scellés, contrat de vérification, custody, benchmarks, ADRs — est maintenue en anglais dans le dépôt :
§Liens
| Référence développeur (EN) | code.noirebox.eu |
| README en français | README.fr.md |
| Spécifications | docs/SPECS.md |
| Décisions d'architecture | docs/ADRs.md (27 ADRs) |
| Modèle de menace | docs/THREAT-MODEL.md |
| Code source · MIT | github.com/noirebox/noirebox |