riskrouter-recorder

Servidor MCP local que registra as decisões de um agente de IA como evidência. O registro permanece no seu próprio diário; apenas seu SHA-256 com salt vai para um log à prova de adulteração, e sem uma chave nada sai da máquina.

Documentação

riskrouter-recorder

Gravadores plug-and-play para Python e Node, sem dependências, que transformam os logs de decisão que você já mantém em evidências. Cada registro e seu salt permanecem no seu próprio diário; apenas o SHA-256 com salt do registro e um tipo curto são enviados para um log de evidências, para que depois qualquer pessoa que possua o registro possa verificar que ele nunca foi alterado. O log pode ser o da RiskRouter (https://api.riskrouter.eu), sua própria instância, ou nenhum: sem chave, nada é enviado e o diário mantém tudo.

InstalaçãoLeitura
Python 3.8+pip install riskrouter-recorderpython/README.md
Node 20+npm install riskrouter-recorderjs/README.md

O que há neles:

  • um gravador com diário local, agrupamento em lote, tentativas e cadeias de completude;
  • um handler Python logging, um decorator (Python) ou wrapper de função (Node), e processadores de span OpenTelemetry;
  • adaptadores de agente para LangChain e LangGraph e para o OpenAI Agents SDK: um registro por execução, com digests de conteúdo, nunca o conteúdo;
  • um servidor MCP local (Node, riskrouter-recorder-mcp) que oferece a qualquer cliente MCP uma ferramenta record_decision. Ele registra a própria declaração do agente sobre o que decidiu e marca cada registro como tal; nunca retorna um registro ou um salt ao agente;
  • riskrouter-logseal, que sela um fluxo de log segmento por segmento, e riskrouter-otlp-sealer, que sela spans e registros de log no OpenTelemetry Collector.
npx -y -p riskrouter-recorder riskrouter-recorder-mcp     # the local MCP server, over stdio

Nas configurações de um cliente MCP (etapas de configuração para um assistente: llms-install.md):

{ "mcpServers": { "riskrouter-recorder": { "command": "npx",
    "args": ["-y", "-p", "riskrouter-recorder", "riskrouter-recorder-mcp"],
    "env": { "RISKROUTER_JOURNAL": "/absolute/path/to/evidence-journal.jsonl" } } } }

Suas ferramentas são record_decision, evidence_lookup e evidence_status; apenas record_decision grava, e nada exclui. Com RISKROUTER_API_KEY definido, o digest com salt de cada registro vai para o log; sem ele, nada sai da máquina.

A RiskRouter também executa um endpoint MCP hospedado para leitura do log e suas provas, em https://api.riskrouter.eu/mcp (eu.riskrouter/evidence-log no Registro MCP oficial). Esse é o serviço, não este pacote.

Verificando o que foi registrado

O pacote de um registro é verificado offline, sem a RiskRouter, por qualquer um dos verificadores de código aberto em https://github.com/aniljangrabe-dev/riskrouter-verify. O formato do registro, o digest com salt e as provas do log são especificados em https://riskrouter.eu/spec.

Sobre este repositório

Este repositório é uma cópia exata de recorders/ no repositório próprio da RiskRouter, que é privado; um fluxo de trabalho copia cada alteração para cá quando ela chega lá. Issues são bem-vindas aqui, e um pull request é lido e, se aceito, aplicado na fonte e copiado de volta. Relate um problema de segurança como https://riskrouter.eu/security diz, não em uma issue.

Licença: Apache-2.0 (LICENSE), como os verificadores, a suíte de conformidade e o kit de integração. O serviço RiskRouter em si não é licenciado.