SDK Reference
VeriProof provides SDKs for Python, TypeScript/Node.js, and .NET. Each SDK consists of a core package that handles configuration, transport, and session building, plus optional instrumentation adapters that auto-instrument specific AI frameworks.
Choosing a package
Python
| Package | What it does | When to use |
|---|---|---|
veriproof-sdk | Core: OTel setup, session builder, transport, Merkle utilities | Always — required |
veriproof-sdk-annotations | Decorators and attribute helpers | Custom governance annotations |
veriproof-sdk-instrumentation-langgraph | Auto-instruments LangGraph graphs and nodes | LangGraph agents |
veriproof-sdk-instrumentation-crewai | Auto-instruments CrewAI crews and tasks | CrewAI agents |
veriproof-sdk-instrumentation-openai-agents | Auto-instruments OpenAI Agents SDK | OpenAI Agents SDK |
veriproof-sdk-instrumentation-llamaindex | Auto-instruments LlamaIndex query pipelines | LlamaIndex |
veriproof-sdk-instrumentation-pydantic-ai | Auto-instruments Pydantic AI agents | Pydantic AI |
veriproof-sdk-instrumentation-google-adk | Auto-instruments Google ADK agents | Google ADK |
TypeScript / Node.js
| Package | What it does | When to use |
|---|---|---|
@veriproof/sdk-core | Core: OTel setup, session builder, transport | Always — required |
@veriproof/sdk-annotations | Span attribute helpers | Custom annotations |
@veriproof/sdk-instrumentation-ai-sdk | Auto-instruments Vercel AI SDK | Vercel AI SDK |
@veriproof/sdk-instrumentation-langchainjs | Auto-instruments LangChain.js | LangChain.js |
@veriproof/sdk-instrumentation-nextjs | Next.js API route middleware | Next.js |
@veriproof/sdk-instrumentation-express | Express middleware | Express |
@veriproof/sdk-instrumentation-fastify | Fastify plugin | Fastify |
@veriproof/sdk-instrumentation-llamaindex | Auto-instruments LlamaIndex.TS | LlamaIndex.TS |
.NET
| Package | What it does | When to use |
|---|---|---|
Veriproof.Sdk | Core: OTel exporter, DI extensions, Activity helpers | Always — required |
Veriproof.Sdk.Annotations | Attribute-based governance annotations | Declarative instrumentation |
Veriproof.Sdk.Instrumentation.SemanticKernel | Auto-instruments Semantic Kernel | Semantic Kernel |
Veriproof.Sdk.Instrumentation.AutoGen | Auto-instruments AutoGen | AutoGen |
How the SDK layers work
Your AI code
│
│ Creates OTel spans (Activity in .NET)
▼
Framework adapter (optional)
│ Adds framework-specific span attributes
▼
VeriProof SDK core
│ Enriches spans with governance attributes
│ Computes per-batch Merkle root
│ Buffers and exports via X-API-Key
▼
VeriProof Ingest APIAdapters are purely additive — they enrich spans with framework-specific context (agent names, step types, tool calls) that the core SDK then exports. You can use the core SDK without any adapter and add framework spans manually, or use an adapter for automatic coverage.
Common configuration options
All SDKs share these configuration concepts:
| Option | Required | Default | Description |
|---|---|---|---|
api_key | Yes* | VERIPROOF_API_KEY env var | Your VeriProof API key |
application_id | Yes* | VERIPROOF_APPLICATION_ID env var | Application name (must be registered in portal) |
endpoint | No | https://api.veriproof.app | Override for Enterprise Federated deployments |
enable_content_capture | No | false | Capture prompt/response text in spans |
http_timeout_seconds | No | 30 | Per-request timeout |
circuit_breaker_failure_threshold | No | 3 | Failures before circuit opens |
*Falls back to environment variable if not set.
Content capture is off by default. VeriProof captures governance metadata (decisions, risk levels, annotations) but not prompt or response text unless you set enable_content_capture: true. This gives you precise control over what leaves your environment and simplifies GDPR compliance.
OpenTelemetry compatibility
VeriProof SDKs are built on top of the OpenTelemetry SDK. If your application already uses OpenTelemetry, VeriProof adds an additional span exporter to your existing TracerProvider — your traces continue flowing to existing backends (Jaeger, Datadog, etc.) alongside VeriProof.
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from veriproof_sdk import VeriproofSpanExporter, VeriproofClientOptions
# Add VeriProof as an additional exporter to an existing provider
provider = TracerProvider()
provider.add_span_processor(
BatchSpanProcessor(
VeriproofSpanExporter(
VeriproofClientOptions(api_key="vp_cust_...", application_id="my-app")
)
)
)Next steps
- Python Core SDK —
veriproof-sdkfull API reference - TypeScript Core SDK —
@veriproof/sdk-corefull API reference - .NET Core SDK —
Veriproof.Sdkfull API reference - Examples — runnable code for every supported framework