Attesto

Developer surfaces

Gateway, MCP, OTel en n8n

De kern-SDKs van Attesto dekken directe applicatie-integratie. Gateway, MCP, OpenTelemetry en n8n dekken de systemen rondom applicaties: modelproxying, agent tools, observability-traces en workflowautomatisering. Elk oppervlak moet echte Proofstream-evidence schrijven, source timestamps respecteren en secrets buiten payloads, receipts, bundles, logs en browsercode houden.

Scope

Deze pagina is voor developers en technische operators die Attesto integreren in AI-gateways, agent hosts, telemetry pipelines en automatiseringstools. De pagina documenteert geen interne staff-operaties en vervangt de SDK-, API-, connector- of Local Vault-handleidingen niet. Gebruik hem om het juiste oppervlak te kiezen en te begrijpen welke evidence elk oppervlak maakt.

Wanneer gebruik je welk oppervlak

OppervlakGebruik wanneerProduceertPrimaire eigenaar
Inference GatewayJe OpenAI-compatible model calls wilt vastleggen zonder elke applicatie aan te passen.Request/response commitments, policy metadata, model-routing evidence en receipts.Platform- of AI-engineeringteam.
MCP serverAgent hosts deterministische tools nodig hebben voor events, receipt-verificatie of bundlebouw.Tool-call evidence, stream events en receipt-verificatieresultaten.Agent-platform of developer tooling-team.
OpenTelemetry bridgeJe al spans uitstuurt en geselecteerde traces naar Attesto-evidence wilt omzetten.Span commitments, trace/span source references en service-metadata receipts.Observability- of platformteam.
n8n nodeWorkflowautomatisering verifieerbare step receipts en signed webhook-verificatie nodig heeft.Workflow-step events, source references, receipt IDs en verificatie-uitkomsten.Automation- of operationsteam.

Inference Gateway

De Attesto Inference Gateway is een server-side proxy voor OpenAI-compatible model calls. Applicaties sturen requests naar de gateway; de gateway stuurt door naar de geconfigureerde upstream provider en schrijft Attesto-evidence voordat de provider response wordt teruggegeven. Gebruik dit wanneer teams niet in elke applicatie SDK-calls kunnen toevoegen, of wanneer centraal beleid en modelrouting nodig zijn.

export ATTESTO_API_KEY="$ATTESTO_SYSTEM_KEY"
export OPENAI_BASE_URL=http://127.0.0.1:8765/v1

attesto-gateway --listen 127.0.0.1:8765 \
  --admin-listen 127.0.0.1:8766 \
  --attesto-base-url https://verify.attesto.eu \
  --upstream https://api.openai.com/v1 \
  --stream-id "$ATTESTO_STREAM_ID" \
  --capture commitments
curl -sS "$OPENAI_BASE_URL/chat/completions" \
  -H "Authorization: Bearer ${PROVIDER_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-4.1-mini","messages":[{"role":"user","content":"Summarize this policy"}]}'

MCP server

De Attesto MCP server biedt een smalle set deterministische Attesto tools aan MCP-compatible agent hosts. De huidige tool surface is log_action, get_receipt, verify_receipt, get_stream_head en verify_completeness. De server logt acties, haalt receipts op, verifieert receipts offline, inspecteert stream heads en bewijst dat een sequence range gap-free is zonder de agent brede backend credentials te geven. De MCP server hoort server-side in de agent-runtimeomgeving te draaien. Hij bevat geen AI-model, geen AI-vendor imports en geen verborgen beslislogica; het is een deterministische tool-wrapper rond de Attesto SDK.

pip install attesto-mcp
{
  "mcpServers": {
    "attesto": {
      "command": "attesto-mcp",
      "args": ["--stdio"],
      "env": {
        "ATTESTO_BASE_URL": "https://verify.attesto.eu",
        "ATTESTO_API_KEY": "${ATTESTO_API_KEY}",
        "ATTESTO_STREAM_ID": "${ATTESTO_STREAM_ID}"
      }
    }
  }
}
attesto-mcp --stdio

OpenTelemetry bridge

De OpenTelemetry bridge zet geselecteerde spans om in Attesto events. Dit is nuttig wanneer de trace pipeline al de bron van waarheid is: model-gateway spans, policy-evaluatie spans, connector-sync spans of incidentafhandelingsspans. De bridge moet agressief filteren; stuur niet standaard elke span door.

pip install attesto opentelemetry-sdk
import os
from attesto import AttestoClient
from attesto.otel import AttestoSpanProcessor
from opentelemetry.sdk.trace import TracerProvider

provider = TracerProvider()
provider.add_span_processor(
    AttestoSpanProcessor(
        client=AttestoClient(api_key=os.environ["ATTESTO_API_KEY"]),
        stream_id=os.environ["ATTESTO_STREAM_ID"],
    )
)

n8n node

De Attesto n8n node is bedoeld voor workflowautomatisering die verifieerbare step evidence nodig heeft. Gebruik hem voor approvals, connector-handoffs, incidenttriage, policy checks en klantgerichte automatisering waarbij een auditor later moet kunnen zien wat er gebeurde en wanneer.

npm install n8n-nodes-attesto

Evidence model

Alle vier oppervlakken horen evidence uit te sturen via dezelfde Proofstream-semantiek als de SDKs. Een gateway request, MCP tool call, OTel span of n8n workflow step is niet speciaal: het is een source event met een source reference, timestamp, normalized commitment, receipt en optionele inclusion in latere windows, checkpoints, witnesses en anchors.

VeldVereist gedrag
source_system_idIdentificeer de gateway, agent host, telemetry service of n8n instance.
source_refStabiele idempotency key zoals request id, tool call id, trace/span id of workflow execution id.
source_timeOriginele source timestamp met timezone of offset.
payload_commitmentCommit normalized payload metadata zonder provider secrets op te slaan.
receiptReturn of store receipt id zodat het event later verifieerd kan worden.

Security boundaries

Operations

Behandel deze oppervlakken als productie-integraties. Ze hebben health checks, retry policy, rate-limit handling, idempotency, source-time-validatie en observeerbare failure states nodig. Een oppervlak kan uit een package registry geïnstalleerd zijn, maar is pas production-ready voor een tenant wanneer het een echte Attesto API key, een echte stream en een succesvolle receipt/verify canary heeft.

CheckVerwacht resultaat
Install smokePackage installeert vanuit de officiële registry zonder source maps of source leaks.
Receipt canaryEén echt event wordt gelogd en de receipt verifieert.
Retry canaryHerhaalde source_ref geeft replay/idempotent gedrag, geen dubbele geschiedenis.
Secret scanGeen tenant key, provider key, prompt secret, trace secret of workflow credential verschijnt in logs of bundles.

Failure modes

FailureBetekenisRespons
Attesto unavailableHet oppervlak kan geen receipt verkrijgen.Fail closed wanneer beleid evidence vereist; markeer anders de run als missing evidence.
Provider unavailableDe upstream model/tool/workflow service faalde.Log veilige failure metadata wanneer beleid dat toestaat; verzin geen success event.
Invalid source timeDe source timestamp ontbreekt of is malformed.Reject of normalize volgens tenant policy en leg receive time apart vast.
Secret detectedEen payload of attribute lijkt secret material te bevatten.Blokkeer emission, redacteer bij de bron en roteer wanneer leakage bevestigd is.

Rollout checklist