Intramedial è in beta ristretta. Alla registrazione o all’accesso devi fornire la password da beta tester che hai ricevuto oppure richiederne una a preview@intramedial.com. Grazie.
Caricamento…
Open source
Verifica autonoma
Tutto per verificare una ricevuta senza di noi.
Una ricevuta vale qualcosa solo se chi l’ha emessa non è l’unico a poterla verificare. Per questo verificatori, formato, chiavi e materiale di test sono pubblici. Questa pagina elenca ogni pezzo, la sua licenza, dove si trova oggi e come usarlo.
Gli agenti agiscono quando il piano dice sì, e il registro dice perché.
Fai passare da Intramedial azioni di agenti, hash di contenuti, controlli API, lookup DNS, webhook, chiamate LLM e commit git. Ricevi una ricevuta firmata che chiunque verifica, senza fidarsi di noi.
Il controllo deve essere possibile senza Intramedial.
Verificare è un’operazione: una firma Ed25519 su una forma canonica della ricevuta, controllata con una chiave pubblica. Due implementazioni indipendenti con la stessa ricevuta e chiave danno la stessa risposta. Tutto ciò che serve è pubblicato.
La ricevutaIl JSON che hai ricevuto
Chiave pubblicaDal set pubblicato, o da una copia che hai fissatoledger-bundles-keys.json
Il formatoJSON canonico RFC 8785 ed Ed25519RFC 8785 · RFC 8032
La parte che potrebbe contestare un record, Intramedial o il cliente, non può essere l'unica in grado di verificarlo.
La verifica è deterministica: un verificatore scritto da chiunque dal formato dà lo stesso verdetto del nostro.
Una ricevuta valida all’emissione resta valida finché la sua chiave resta pubblicata, e le vecchie chiavi restano pubblicate.
La verifica aperta non rende vera ogni ricevuta. Una firma valida prova chi ha firmato quali byte e che nulla è cambiato poi; per i fatti dichiarati non prova che il fatto sia accaduto. Cosa una ricevuta non prova →
02
Panoramica
Lo stato in sintesi
Ogni riga dice cosa esiste oggi. Dove qualcosa non è pubblicato lo diciamo, e indichiamo la via che funziona ora. Nessuna data è promessa per ciò che non è pubblicato.
Entrambe le librerie verificano le stesse due cose: ricevute di ogni tool e bundle di artifact firmati con prova di inclusione Merkle. Danno gli stessi motivi di errore e fissano lo stesso test vector firmato, così una deriva di canonicalizzazione o codifica fa fallire ciascuna suite.
intramedial-verifyJavaScript e TypeScript
Non pubblicato
Zero dipendenze, solo WebCrypto. Verifica una ricevuta con un set di chiavi che passi tu, senza rete, o scarica prima le chiavi pubblicate. Se un runtime non ha Ed25519 restituisce unsupported_runtime invece di giudicare la ricevuta.
04
Specifiche
La specifica del formato
Il formato wire implementato da entrambi i verificatori è scritto come specifica normativa, v1, con licenza MIT. È pubblica perché la verifica sia possibile senza fidarsi del nostro verificatore. Oggi il contenuto è nelle docs; la specifica dovrebbe passare a un proprio repository pubblico.
ledger-bundlesmodule docsno licence statedDocumento pubblico
Cosa copre la specifica v1
§1Busta ricevuta
I sette membri firmati e la regola che il type del body sia quello della busta.
05
Public key
Chiavi pubblicate
Le chiavi pubbliche Ed25519 che firmano le ricevute sono servite senza autenticazione, aperte al cross-origin e in cache per un’ora. Le vecchie chiavi restano pubblicate, così le vecchie ricevute restano valide. Le chiavi private stanno in AWS KMS e non escono mai.
Dove è servito il set chiavi
https://intramedial.com/.well-known/ledger-bundles-keys.jsonIl set JWK, sul sito. Reindirizza alla route API; segui i redirect.
https://ledger-bundles.api.intramedial.com/.well-known/ledger-bundles-keys.jsonLo stesso set, sull’host API.
06
Casi di test
Test vector
Una ricevuta a risposta nota, firmata da una chiave usa e getta fissa, è stampata nelle docs e fissata nei test di entrambi i verificatori. Prova lì la tua implementazione prima di affidarle ricevute reali.
verdict.jsonshape only, not a vector
{
"ok": true,
:
}
07
Azione CI
La GitHub Action commit-attest
Una piccola Action composita che legge con git il commit in checkout, fa l’hash del messaggio di commit sul runner e chiede una ricevuta commit.attest firmata. Il testo del messaggio non lascia mai il runner.
github.enforcehosted moduleDocumento pubblico
Il sorgente è completo con licenza MIT e non è ancora pubblicato. Un workflow che la richiama fallisce allo step di setup finché non lo sarà: oggi usa lo step curl delle docs. Fa la stessa cosa.
Quando sarà pubblicata
08
Scoperta
File MCP e discovery
Agenti e assistenti di coding cercano file descrittivi a indirizzi prevedibili. Questi sono pubblici, generati dalle stesse definizioni di action del server MCP, e non richiedono account. Fa fede la risposta del server live; se un file e le docs differiscono, vincono le docs.
/.well-known/mcp/server.json
Nome del server MCP, endpoint HTTP streamable e modalità di accesso accettate.
/.well-known/mcp/tools.json
I tool con schemi di input e output, come li restituisce tools/list.
/.well-known/agent-card.json
Identità dell’agente gateway, trasporti e una capability per action, per client A2A.
09
Non pubblicato
Anche nel repository, non pubblicato
Il repository contiene più sorgenti di quelli elencati sopra in questa pagina. Nessuno è pubblicato o documentato come pacchetto, quindi non ci sono passi di installazione. Li elenchiamo perché nulla qui sia una sorpresa in seguito.
mcp-server stdioNon pubblicato
Una seconda implementazione Python indipendente del formato ricevute, senza codice in comune con l’emittente.
Licenza
MIT
Sorgente
10
Comunità
Segnala problemi e contribuisci.
Non c’è ancora un repository pubblico su cui aprire issue o pull request; ogni pacchetto dovrebbe passare a un proprio repository pubblico. Fino ad allora, questi sono i canali che esistono.
Problema di sicurezza
In un verificatore, nel set di chiavi o nel formato. Scrivici in privato e non pubblicare dettagli prima del fix.
Un verificatore in disaccordo con il test vector, un esempio delle docs che fallisce o un manifest diverso dal server live. Invia l’input e cosa ti aspettavi.
Provala ora.
Incolla una ricevuta nel verificatore. La verifica gira nel browser; l’unica richiesta di rete è il download delle chiavi.
Le stesse funzioni in snake case, scritte solo con la libreria standard, incluso un piccolo verificatore Ed25519 autonomo, così tutta la superficie di fiducia sta in pochi file che puoi leggere.
La firma non corrisponde ai byte canonici con la chiave indicata.
kind
Nessuna chiave pubblicata ha quell’ID.
reason
L’input non ha la forma di una ricevuta.
details
Per un bundle: la prova di inclusione non risale alla root ancorata.
§2
Canonicalizzazione
RFC 8785 alla lettera: ordine chiavi, forma numeri, escape e cosa va rifiutato.
§3Firma e ID chiave
Ed25519 sui byte canonici, base64url senza padding, e come si ricava l’ID della chiave.
§4Body dei tool
I membri del body di ogni tool, digest dei watch inclusi.
§5Busta degli artifact
La variante a tipo aperto della ricevuta per artifact di compliance.
§6Bundle e ancoraggio
Hash di foglie e nodi con prefissi di dominio, e come risale una prova di inclusione.
§7Discovery chiavi
Dove è servito il set di chiavi, gli header e perché la rotazione è additiva.
§8Procedura di verifica
I quattro passi e i motivi di errore leggibili da macchina.
§9Versionamento
Le aggiunte non rompono i verificatori v1; i documenti v1 si verificano sempre con regole v1.
I byte che vengono firmati
Togli signature, serializza il resto in forma canonica e verifica la firma Ed25519 su quei byte UTF-8. È la stringa canonica del test vector qui sotto.
Per il controllo più solido, scarica una chiave una volta, conserva kid e x nei tuoi record e verifica su quella copia. Ogni posizione sopra è servita da noi, quindi confrontarle protegge da una route difettosa, non da un Intramedial compromesso. Chiavi di firma e rotazione →
"kind"
"notarian-bundle"
Risultati attesi
Input
Verdetto
Ricevuta e set di chiavi come pubblicati
ok: true
La stessa ricevuta con byteLength cambiato in 5
ok: false
La stessa ricevuta con un altro ID chiave
ok: false
Un oggetto con solo una version
ok: false
Il body del vector è materiale di test illustrativo. La chiave è di test e non firma nulla di reale.
Un verificatore offline più ampio per gli altri tipi di prove firmate della piattaforma, come bundle di artifact ed export a catena di hash.
Licenza
Nessuna licenza open source per ora
Sorgente
contracts/
Adapter framework agentiNon pubblicato
Un pacchetto base e un pacchetto per framework di agenti che trasformano un run del framework in richieste di attestazione. I framework sono dei loro autori; solo gli adapter sono nostri.