Intramedial est en bêta restreinte. À l’inscription ou à la connexion, vous devez fournir le mot de passe de bêta-testeur que vous avez reçu ou en demander un à preview@intramedial.com. Merci.
Chargement…
ledger-bundles.snapshotModule 49
Module du plan
Signed evidence bundles
Scellez la chaîne d'audit de votre espace de travail dans un lot signé qu'un auditeur peut vérifier hors ligne, avec une clé publiée pour tous.
ledger-bundles.snapshot signe une plage du journal d'audit avec une clé par juridiction et renvoie le lot. La clé publique correspondante se trouve à un point d'accès JWK connu, et le même code la vérifie sur la route publique et hors ligne : une vérification ne dépend jamais d'une demande à Intramedial.
Les agents agissent quand le plan dit oui, et le registre dit pourquoi.
Faites passer actions d’agents, hash de contenu, contrôles d’API, requêtes DNS, webhooks, appels LLM et commits git par Intramedial. Obtenez un reçu signé vérifiable par tous – sans nous croire.
ÉtatL'ancrage Bitcoin est vérifié par rapport à l'en-tête de bloc
La route publique /ots/verify ré-exécute l'arbre d'opérations de la preuve à partir du condensé ancré et compare la racine Merkle dérivée à l'en-tête du bloc nommé. Un arbre d'opérations altéré nommant un vrai bloc est rejeté. Cela prouve que le condensé existait à ce bloc, pas ce qu'il représente. La racine Merkle du bloc provient d'une seule API Bitcoin publique ; la preuve de travail de l'en-tête et une profondeur de confirmation minimale ne sont pas vérifiées, et notVerified le dit.
Registre
Le registre
Ce qui est enregistré
bundleId
L'identifiant propre du lot.
jurisdiction
La région dont la clé de signature a scellé ce lot.
rangeStart
Le début de la plage scellée, ou non défini quand l'instantané part de la genèse.
La racine des condensés des enregistrements scellés.
recordCount
Le nombre de lignes du journal d'audit couvertes par le lot.
signingKeyId
La clé publiée qui a signé le lot, rapprochée de l'ensemble JWK connu.
ed25519Signature
La signature de la forme canonique du lot.
otsProof
null tant que le cron d'ancrage quotidien n'a pas confirmé un bloc Bitcoin pour la super-racine de ce lot.
Mécanisme
Pas à pas
Comment ça marche
Un instantané est demandé
POST /api/v1/ledger-bundles/snapshot avec scope, rangeStart et rangeEnd facultatifs ; sans plage, tout l'historique d'audit à ce jour est capturé, pas un incrément.
La chaîne est scellée et signée
Les lignes du journal d'audit de la plage sont hachées en une racine Merkle et signées avec la clé Ed25519 de la juridiction de la requête ; sans clé provisionnée pour cette région, la requête répond 503 plutôt que de signer avec la mauvaise clé.
La clé publique est déjà disponible
GET /.well-known/ledger-bundles-keys.json sert l'ensemble JWK sans authentification : la signature d'un lot peut être vérifiée sans recontacter Intramedial.
Une super-racine est ancrée à Bitcoin ensuite
Un cron quotidien regroupe les racines des lots en attente en une super-racine, la soumet une fois à OpenTimestamps, puis enregistre le bloc Bitcoin une fois la preuve confirmée.
Essayer
Démo en direct
Exécutez-le depuis cette page
POST/api/v1/ledger-bundles/snapshot
{}
Les appels de ce module modifient un état réel ou atteignent des services externes ; la démonstration partagée ne les exécute donc pas. Connectez-vous pour l’exécuter dans votre propre workspace. Docs ledger-bundles.snapshot
Réponses
Les appels de ce module modifient un état réel ou atteignent des services externes ; la démonstration partagée ne les exécute donc pas. Connectez-vous pour l’exécuter dans votre propre workspace.
Code
Exemple en direct
Une vraie requête
Une requête dans la forme acceptée par l’API, et un exemple de réponse dans la forme renvoyée par le module.
Un auditeur télécharge un lot et la clé publiée, puis vérifie lui-même la signature et le nombre d'enregistrements, sans rappeler Intramedial.
Sceller un trimestre d'historique d'audit
Un espace de travail fait un instantané de son journal d'audit en fin de trimestre, en nommant la plage explicitement plutôt que de laisser l'instantané par défaut tout recapturer depuis la genèse.
Signature maintenant, preuve Bitcoin plus tard
La signature est vérifiable dès l'émission du lot ; l'ancrage Bitcoin qui confirme son horodatage arrive plus tard, une fois la preuve du cron quotidien validée.
Savoir ce que couvre la vérification en ligne
Un relecteur sécurité lit le champ verified: "merkle_path_to_block_header" de la réponse /ots/verify et sait que l'arbre d'opérations a été ré-exécuté depuis le condensé et correspond à la racine Merkle de l'en-tête du bloc. Un simple horodatage de calendrier demande l'envoi de digestSha256.
Quand utiliser autre chose
Faire un instantané du registre de coordination que lit ledger.blame. Les lots scellent la table audit_log distincte de la région, une piste tout autre.
Un instantané incrémental depuis la dernière fois. Sans plage, l'historique complet à ce jour est capturé, à chaque fois.
Un usage en offre gratuite. La création d'instantanés exige une offre payante ; l'offre gratuite est dirigée vers la chaîne Tops.
Preuves
Garanties
Ce qu’il fait, et ce qu’il ne fait pas
Un module est une affirmation forte sur un sujet étroit. Fiez-vous-y exactement pour ce qu’il est.
Il le fait
La signature d'un lot se vérifie avec l'ensemble JWK publié à partir du seul lot et de cette clé, sans autre appel à Intramedial.
Le même code de vérification tourne dans la route publique /verify et dans le paquet de vérification hors ligne, donc les deux ne peuvent pas diverger en silence.
Une demande d'instantané sans clé provisionnée pour sa juridiction est refusée avec 503, jamais signée avec la clé d'une autre région.
Il ne le fait pas
Que l'horodatage d'un lot pending soit déjà ancré à Bitcoin ; otsProof reste null et la réponse ne fabrique jamais de confirmation.
Que le condensé ancré appartienne à un artefact Intramedial donné ; /ots/verify prouve que le condensé existait à ce bloc attesté, rien sur ce qu'il représente.
Que le bloc Bitcoin lui-même soit authentique : /ots/verify prend la racine Merkle du bloc d'une seule API publique (Blockstream) sans vérifier la preuve de travail ni la profondeur de confirmation.
Qu'un agent appelant l'action MCP puisse définir rangeStart, rangeEnd ou . Son schéma n'expose que ; ces champs n'atteignent le worker REST que depuis le client propre du tableau de bord.
Détails
Notes de conception
Avant de construire
Deux systèmes Merkle, pas un
L'arbre binaire à séparation de domaines de ce module sur les lignes du journal d'audit est une implémentation distincte du regroupement du registre de coordination dans ledger.blame ; ne les décrivez jamais comme un même mécanisme.
L'offre limite la création, pas la vérification
Les espaces de travail gratuits ne peuvent pas créer d'instantané ; Starter et au-dessus peuvent en acheter un par instantané, Pro ajoute un abonnement d'ancrage automatique quotidien, et Enterprise l'inclut. Vérifier un lot que l'on détient est gratuit dans toutes les offres.
Aucun identifiant d'action coordination.*
Les actions MCP de ce module vivent dans leur propre fichier de contrat en dehors de contracts/src/actions/coordination.ts ; aucune n'est donc listée ici comme action coordination.*.
Limites et mesure
Sans rangeStart, un instantané capture tout l'historique d'audit depuis la genèse, ce qui peut être volumineux sur un ancien espace de travail.
Un instantané exige une clé de signature provisionnée pour la juridiction de la requête ; sans elle, il répond 503 plutôt que d'emprunter la clé d'une autre région.
Créer un instantané exige une offre payante ; l'offre gratuite ne peut pas appeler cette route.
Accès
API et MCP
REST et MCP
Authentifiez-vous avec une clé d’API d’espace de travail comme jeton Bearer. L’URL de base est https://api.intramedial.com.
Points d’accès REST
POST/api/v1/ledger-bundles/snapshotSceller et signer une plage de la chaîne d'audit.
GET/api/v1/ledger-bundles/anchorsLister les preuves d'ancrage Bitcoin enregistrées pour les lots de cet espace de travail.
GET/api/v1/ledger-bundles/verify-chainVérifier l'intégrité des liens de hachage de la chaîne d'audit, gratuit et non mesuré.
Actions MCP
Ce module n’a aucune action MCP. Appelez-le via REST depuis n’importe quel agent ou programme.
Planifiez où doivent vivre les registres de coordination de cet espace de travail, voyez exactement ce qui serait déplacé, puis transférez-le vers une autre région quand vous le décidez.