Skip to Content
SDK ReferenceOverview & Choosing a Package

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

PackageWhat it doesWhen to use
veriproof-sdkCore: OTel setup, session builder, transport, Merkle utilitiesAlways — required
veriproof-sdk-annotationsDecorators and attribute helpersCustom governance annotations
veriproof-sdk-instrumentation-langgraphAuto-instruments LangGraph graphs and nodesLangGraph agents
veriproof-sdk-instrumentation-crewaiAuto-instruments CrewAI crews and tasksCrewAI agents
veriproof-sdk-instrumentation-openai-agentsAuto-instruments OpenAI Agents SDKOpenAI Agents SDK
veriproof-sdk-instrumentation-llamaindexAuto-instruments LlamaIndex query pipelinesLlamaIndex
veriproof-sdk-instrumentation-pydantic-aiAuto-instruments Pydantic AI agentsPydantic AI
veriproof-sdk-instrumentation-google-adkAuto-instruments Google ADK agentsGoogle ADK

TypeScript / Node.js

PackageWhat it doesWhen to use
@veriproof/sdk-coreCore: OTel setup, session builder, transportAlways — required
@veriproof/sdk-annotationsSpan attribute helpersCustom annotations
@veriproof/sdk-instrumentation-ai-sdkAuto-instruments Vercel AI SDKVercel AI SDK
@veriproof/sdk-instrumentation-langchainjsAuto-instruments LangChain.jsLangChain.js
@veriproof/sdk-instrumentation-nextjsNext.js API route middlewareNext.js
@veriproof/sdk-instrumentation-expressExpress middlewareExpress
@veriproof/sdk-instrumentation-fastifyFastify pluginFastify
@veriproof/sdk-instrumentation-llamaindexAuto-instruments LlamaIndex.TSLlamaIndex.TS

.NET

PackageWhat it doesWhen to use
Veriproof.SdkCore: OTel exporter, DI extensions, Activity helpersAlways — required
Veriproof.Sdk.AnnotationsAttribute-based governance annotationsDeclarative instrumentation
Veriproof.Sdk.Instrumentation.SemanticKernelAuto-instruments Semantic KernelSemantic Kernel
Veriproof.Sdk.Instrumentation.AutoGenAuto-instruments AutoGenAutoGen

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 API

Adapters 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:

OptionRequiredDefaultDescription
api_keyYes*VERIPROOF_API_KEY env varYour VeriProof API key
application_idYes*VERIPROOF_APPLICATION_ID env varApplication name (must be registered in portal)
endpointNohttps://veriproof-api.rjrlabs.comOverride for Enterprise Federated deployments
enable_content_captureNofalseCapture prompt/response text in spans
http_timeout_secondsNo30Per-request timeout
circuit_breaker_failure_thresholdNo3Failures 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

Last updated on