DocsOverview
How Capture and Seal fit.
Run your existing model client through a local proxy, keep encrypted evidence on your machine, and turn only the interactions you choose into independently verifiable OpenTelemetry trace packages.
The workflow#
Capture
Point an SDK or agent at the local proxy. Requests and streamed responses continue normally while each completed provider call becomes an encrypted local capture.
Choose
Captures wait on your disk. Nothing is shared automatically, and interactive model use does not wait for the expensive proof step.
Seal
Turn a selected capture into authenticated TLS evidence and a deterministic OTel GenAI trace. This can happen long after the original model call.
Verify or share
Check the package locally, keep it private, or deliberately share its disclosed conversation and portable proof through a stable link.
One Trace, two evidence states#
Private local evidence
The Trace retains a sensitive encrypted capture that can be sealed later. It is not yet evidence another person can verify.
Portable Trace package
TLSNotary evidence, disclosed authenticated HTTP, canonical OTLP, and a manifest binding the files together.
Sharing is a separate action#
A Sealed Trace can remain local or be shared deliberately. Sharing hosts the exact admitted .llmtrace package and its disclosed conversation; it does not create another evidence state.
What is automatic#
- The first service start creates or opens the local encrypted-capture vault. On a desktop OS, its random key is stored in the system credential service.
- The service discovers the production notary endpoint and public key from the Exalto Seal Registry, then pins that trust information locally.
- Sealing and verification use the pinned notary identity. Normal hosted use does not require copying a public key into an API request.
- Provider credentials remain in your existing SDK or agent environment; the local service does not require a project
.envfile.
A first successful run#
curl -fsSL https://capture.exalto.ai/install.sh | sh
captured
# Open http://127.0.0.1:8788 for the local dashboard.
# Point an OpenAI client at http://127.0.0.1:8787/openai/v1.
capture status
capture traces list