Skip to Content

Go SDK

The VeriProof Go SDK requires Go 1.26.6 or later. It checks policy before a governed action runs and before its result is released, records session evidence, handles signed human review, and stops an active governed run through the governed context’s stop signal.

Available modules

PackageCategoryFramework support
veriproof.app/sdk/goCore SDKApplication-owned actions
veriproof.app/sdk/go/adapter/anthropicEnforce adapterAnthropic SDK Go 1.73.0
veriproof.app/sdk/go/adapter/langchaingoEnforce adapterLangChainGo 0.1.14
veriproof.app/sdk/go/adapter/openaiEnforce adapterOpenAI Go 3.61.0

Each adapter module depends on the core module. The core module does not depend on an adapter.

What the core module includes

  • veriproof.FromEnv() and veriproof.Configure(apiKey, options) for one application-scoped client.
  • veriproof.Govern(ctx, client, actionName, input, action, options) with typed results and a review_required checkpoint.
  • NewHumanReviewRuntime with Save, Receive, Resume, Reconcile, and Cancel, plus NewSQLiteReviewStore and NewInMemoryReviewStore.
  • Generated industry vocabularies under veriproof.app/sdk/go/verticals/* with .Fact() on each value.
  • NewTestHarness() and TestPolicyDecision for network-free tests.
  • The pii package with the sanitizer the client applies inside Govern.

Start using the SDK

Download the approved Go bundle from Tools and SDKs. Its generated commands configure a local module proxy and install your selected modules.

CI uses the hosted VeriProof proxy and a separate workload credential, with https://proxy.golang.org as the public fallback.

Set the application SDK key as VERIPROOF_API_KEY. Hosted VeriProof uses https://ingest.veriproof.app. VeriProof Private uses the ingest API base URL for that instance as VERIPROOF_ENDPOINT. The same endpoint handles session ingest and policy checks.

Use the Go SDK guide for setup and governed-action examples. Check SDK categories and framework coverage for what each adapter controls: each adapter governs one model call, and the core governed-action helper owns application tool execution and everything outside that call.