SDK categories and framework coverage
Every package in the 1.0.0 release enforces policy. Start with the core SDK for your language, then add the Enforce adapter for the framework your application uses. There are 35 Enforce adapters across TypeScript, Python, .NET, Java, Go, and Rust.
Tools and SDKs in the VeriProof portal lists the packages available in your environment. A released package can appear in this guide before it is enabled for your tenant.
Understand the two package categories
| Category | Purpose | Enforcement |
|---|---|---|
| Core SDK | Governs application-owned model calls, tools, workflows, and business actions. | Yes |
| Enforce adapter | Applies VeriProof decisions at one documented framework boundary. | Yes, within that boundary |
Each adapter depends on its language’s core SDK and uses the same typed results and fail-closed behavior. A package is released only after its artifact, clean-install, security, and registry checks pass.
Tracing on its own doesn’t enforce anything. Only a core SDK or an Enforce adapter checks policy, stops work, or withholds a result.
Core SDK parity
| Capability | TypeScript | Python | .NET | Java | Go | Rust |
|---|---|---|---|---|---|---|
| Policy before work and before result release | Yes | Yes | Yes | Yes | Yes | Yes |
| Typed results and safe policy message | Yes | Yes | Yes | Yes | Yes | Yes |
| Signed structured human review | Yes | Yes | Yes | Yes | Yes | Yes |
| Durable execution fence and reconciliation | Yes | Yes | Yes | Yes | Yes | Yes |
| Run and application stop directives | Yes | Yes | Yes | Yes | Yes | Yes |
| Server Ingest and Edge Gateway | Yes | Yes | Yes | Yes | Yes | Yes |
| Application facts and industry vocabulary | Yes | Yes | Yes | Yes | Yes | Yes |
| Per-call content capture and profile-owned sensitive data policy | Yes | Yes | Yes | Yes | Yes | Yes |
| Account-free test harness | Yes | Yes | Yes | Yes | Yes | Yes |
| Hosted review checkpoint store | Yes | Yes | Yes | No | No | No |
| Microsoft Entra workload identity credential | Yes | Yes | Yes | No | No | No |
Restart recovery needs a durable checkpoint store and a worker that resumes paused work. In TypeScript, Python, and .NET, the store can be your own or the hosted checkpoint store. Your application still runs the callback receiver and the worker. Java, Go, and Rust need an application-owned store.
The workload identity credential replaces a stored application key with the workload’s Microsoft Entra identity. Java, Go, and Rust use application keys.
Enforce adapters by language
Checks names the framework operation the adapter controls. Select a framework for its supported version, dependencies, and installation details.
TypeScript
| Framework | Package | Checks | Not covered |
|---|---|---|---|
| Anthropic SDK | @veriproof/sdk-adapter-anthropic | One non-streaming Messages request and selected text result | Streaming, provider-hosted tools, and direct client calls. |
| Express | @veriproof/sdk-adapter-express | The supplied JSON route execute function | Work outside the supplied handler and request cancellation without a host signal. |
| Fastify | @veriproof/sdk-adapter-fastify | The supplied JSON route execute function | Work outside the supplied handler and request cancellation without a host signal. |
| Genkit | @veriproof/sdk-adapter-genkit | Owned generate, flow, and local tool calls | GenerateStream, provider-hosted tools, and custom tool loops. |
| Google GenAI | @veriproof/sdk-adapter-google-ai | One non-streaming generateContent request and selected text result | Streaming, automatic function calling, and direct client calls. |
| LangChain.js | @veriproof/sdk-adapter-langchainjs | LangChain v1 middleware model and local tool calls | Provider-hosted tools, custom runtimes that bypass middleware, and stream chunks. |
| LlamaIndexTS | @veriproof/sdk-adapter-llamaindex | Owned workflow and local FunctionTool calls | Raw streaming, unwrapped tools, and custom workflows outside the adapter. |
| Mastra | @veriproof/sdk-adapter-mastra | Complete agent run boundary | Per-tool policy, streaming, and durable agents and networks. |
| Next.js | @veriproof/sdk-adapter-nextjs | App Router JSON handlers | Pages Router, Server Actions, and streaming responses. |
| OpenAI Agents | @veriproof/sdk-adapter-openai-agents | Model calls and local tool calls | Streaming is not covered until the adapter can withhold every emitted item through a bounded buffer. Framework handoffs outside the controlled run function are not covered. |
| Vercel AI SDK | @veriproof/sdk-ai-sdk | Owned generateText and local tool calls | StreamText and UI streams, provider-hosted tools, and direct model calls. |
Python
| Framework | Package | Checks | Not covered |
|---|---|---|---|
| Anthropic SDK | veriproof-sdk-adapter-anthropic | One async Messages request | Sync clients, incremental streaming, and provider-hosted tools. |
| CrewAI | veriproof-sdk-adapter-crewai | Complete crew kickoff | Independent nested model or tool decisions, streaming, and direct framework calls. |
| Google ADK | veriproof-sdk-adapter-google-adk | Complete buffered ADK event run | Independent nested-tool decisions and direct framework calls. |
| LangGraph | veriproof-sdk-adapter-langgraph | Complete graph ainvoke | Per-node policy, streaming, and direct graph calls. |
| LlamaIndex | veriproof-sdk-adapter-llamaindex | Query-engine aquery | Nested tool policy, streaming, and direct query-engine calls. |
| Microsoft Agent Framework | veriproof-sdk-adapter-agent-framework | Model calls, local tool calls, and streamed output | Provider-hosted tools and framework handoffs that bypass the middleware bundle are not covered. |
| OpenAI Agents | veriproof-sdk-adapter-openai-agents | Complete async agent run | Incremental streaming, provider-hosted tools, and direct framework calls. |
| Pydantic AI | veriproof-sdk-adapter-pydantic-ai | Complete async agent run | Incremental streaming, opaque tool loops, and direct framework calls. |
.NET
| Framework | Package | Checks | Not covered |
|---|---|---|---|
| AutoGen | Veriproof.Sdk.Adapter.AutoGen | Model calls and complete bounded streams | Opaque tool loops and handoffs outside the adapter. |
| Microsoft Agent Framework | Veriproof.Sdk.Adapter.AgentFramework | Model calls, local tool calls, and streamed output | Local tool calls are enforced when functions are passed through AsVeriproofAgent(...); a pre-wrapped FunctionInvokingChatClient anywhere in a DelegatingChatClient-conformant pipeline is rejected before agent construction. Non-delegating custom clients that execute tools internally, provider-hosted tools, and handoffs are not covered. |
| OpenAI .NET | Veriproof.Sdk.Adapter.OpenAI | Text-only non-streaming completions | Tool messages, hosted tools, and streaming. |
| Prompty | Veriproof.Sdk.Adapter.Kernel.Prompty | Bounded template load, render, and model delegate | External tools and work outside the rendered delegate. |
| Semantic Kernel | Veriproof.Sdk.Adapter.SemanticKernel | Explicit function invocation | Planner-owned work and automatic tool loops. |
Java
| Framework | Package | Checks | Not covered |
|---|---|---|---|
| LangChain4j | com.veriproof:veriproof-sdk-adapter-langchain4j | Synchronous text ChatModel calls | Streaming, multimodal input, and hidden tool loops. |
| Micronaut LangChain4j | com.veriproof:veriproof-sdk-adapter-micronaut | Explicitly wrapped Micronaut-managed ChatModel | Generated AI-service tool loops and streaming. |
| OpenAI Java | com.veriproof:veriproof-sdk-adapter-openai | Synchronous text-only Responses calls | Background responses, tools, and structured output and streaming. |
| Quarkus LangChain4j | com.veriproof:veriproof-sdk-adapter-quarkus-langchain4j | Explicitly wrapped raw ChatModel | Generated AI-service tool loops and streaming. |
| Semantic Kernel Java | com.veriproof:veriproof-sdk-adapter-semantic-kernel | Completed text chat calls represented by Mono | Plugin and function execution and streaming. |
| Spring AI | com.veriproof:veriproof-sdk-adapter-spring-ai | Model calls and local tool calls | Streaming and handoffs are not covered until Spring AI exposes qualified withholding and continuation boundaries. |
Go
| Framework | Package | Checks | Not covered |
|---|---|---|---|
| Anthropic SDK Go | veriproof.app/sdk/go/adapter/anthropic | One explicit non-streaming Messages call and its selected text result | Streaming, provider-hosted tools, raw direct clients, and opaque application tool loops. |
| LangChainGo | veriproof.app/sdk/go/adapter/langchaingo | One explicit text-only non-streaming model operation and its result | Streaming, binary or unsupported-role content, chains, agents, or tools that bypass the adapter, and raw direct clients. |
| OpenAI Go | veriproof.app/sdk/go/adapter/openai | One explicit foreground non-streaming Responses call and its selected text result | Streaming, background responses, provider-hosted tools, and raw direct clients. |
Rust
| Framework | Package | Checks | Not covered |
|---|---|---|---|
| async-openai | veriproof-sdk-adapter-async-openai | Model requests and complete bounded streams | Provider-hosted tools, opaque application tool loops, and agent handoffs and direct client calls. |
| Rig | veriproof-sdk-adapter-rig | Model calls and local tool calls | Incremental streaming is not covered because the adapter cannot withhold already emitted deltas; the hook stops streaming before release. Provider-hosted tools, opaque custom tool loops, and handoffs outside the governed action path are not covered. |
Anything under Not covered, and any framework path not listed here, stays with your application. Put the core SDK’s governed action around that work so the policy boundary stays explicit.
Choose the smallest correct installation
| Your need | Install |
|---|---|
| Govern application-owned work | The core SDK |
| Govern a listed framework operation | The core SDK and that framework’s Enforce adapter |
| Govern work an adapter doesn’t cover | The core SDK around that action |
The package catalog lists exact package versions and runtime requirements. Tools and SDKs provides the installation commands for packages enabled in your environment.