Atribuir culpa a um recurso e reproduzir um evento
Liste quem tocou em um recurso, do mais recente ao mais antigo, e depois reconstrua um evento com sua prova Merkle.
ledger.blame
Liste quem tocou em um recurso, do mais recente ao mais antigo, e depois reconstrua um evento com sua prova Merkle.
ledger.blamePasse ações de agentes, hashes de conteúdo, checagens de API, DNS, webhooks, chamadas de LLM e commits git pela Intramedial. Receba um recibo assinado que todos verificam – sem confiar em nós.
Algo mudou em um recurso compartilhado e você quer saber quem o tocou por último. Blame percorre o livro-razão somente de acréscimo para ele, e replay reconstrói um evento.
O código lê a chave de INTRAMEDIAL_KEY. Guarde-a no seu shell ou no seu cofre de segredos, nunca em um arquivo que você faz commit. Chamadas que exigem uma pessoa logada não podem usar chave: o console as faz.
Envie o recurso exato. A correspondência é de igualdade em resource ou subject do evento, nunca uma busca de texto, e os toques voltam do mais recente ao mais antigo.
standing de um evento reproduzido é classificado a partir do que foi reconstruído.ledger.blameledger-blame
curl -sS -X POST https://api.intramedial.com/api/v1/acp/ledger/blame \
-H "Authorization: Bearer $INTRAMEDIAL_KEY" \
-H "Content-Type: application/json" \
-d '{
"resource": "repo:payments/main"
}'const res = await fetch("https://api.intramedial.com/api/v1/acp/ledger/blame", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.INTRAMEDIAL_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
resource: "repo:payments/main",
}),
});
console.log(res.status, await res.json());import os, requests
res = requests.post(
"https://api.intramedial.com/api/v1/acp/ledger/blame",
headers={"Authorization": "Bearer " + os.environ["INTRAMEDIAL_KEY"]},
json={
"resource": "repo:payments/main",
},
timeout=30,
)
print(res.status_code, res.json()){
"projection": "blame",
"resource": "repo:payments/main",
"events": [
{
"id": "evt_90c1",
"kind": "coordination.admission",
"actor": "did:web:acme.example:agent:release",
"at": "2026-10-31T22:04:11.000Z"
}
],
"lastTouch": {
"actor": "did:web:acme.example:agent:release",
"at": "2026-10-31T22:04:11.000Z"
},
"unknown": [],
"why": "resource or subject equals the given resource"
}Envie o id do evento. Ele é reconstruído com uma prova Merkle; uma raiz que discorda da armazenada remove as alegações de testemunha.
curl -sS -X POST https://api.intramedial.com/api/v1/acp/ledger/replay \
-H "Authorization: Bearer $INTRAMEDIAL_KEY" \
-H "Content-Type: application/json" \
-d '{
"id": "evt_90c1"
}'const res = await fetch("https://api.intramedial.com/api/v1/acp/ledger/replay", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.INTRAMEDIAL_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
id: "evt_90c1",
}),
});
console.log(res.status, await res.json());import os, requests
res = requests.post(
"https://api.intramedial.com/api/v1/acp/ledger/replay",
headers={"Authorization": "Bearer " + os.environ["INTRAMEDIAL_KEY"]},
json={
"id": "evt_90c1",
},
timeout=30,
)
print(res.status_code, res.json())Copiado de: /docs/ledger-blame
O livro-razão é somente de acréscimo e selado sob raízes Merkle. A hora de uma entrada é o relógio da própria Intramedial, e um bundle assinado pode ser conferido offline com a chave publicada.
Sele o log de auditoria em um bundle assinado com raiz Merkle e confira-o offline com a chave publicada.
ledger.bundles-snapshotInvoque a exportação do Artigo 12 do EU AI Act e leia o relatório de cobertura, que mapeia a evidência que você tem para controles e nomeia as lacunas.
compliance.packLeia os chamadores que o gateway MCP já viu e depois oficialize um como identidade ou mantenha-o rastreado como shadow.
mcp.shadowidentity.enrollUm e-mail curto quando somamos receitas. Nenhum outro e-mail, e você cancela por qualquer mensagem.
Sem conta: 35 chamadas em 7 dias nas rotas attest, com recibos marcados como teste. Cadastre-se quando quiser seguir adiante.