Skip to Content
EnterpriseConfigurationSDK Configuration

SDK Configuration

The Veriproof SDK is configured via VeriproofRestOptions at application startup.

DeploymentMode Enum

public enum DeploymentMode { SaaS = 0, // Full data to Veriproof cloud (default) EnterpriseHybrid = 1, // Local storage + hash-only sync to Veriproof LocalFirst = 2, // Local storage + buffered sync Disconnected = 3 // Local storage only, no Veriproof connection }

VeriproofRestOptions Reference

PropertyTypeDefaultModesDescription
ModeDeploymentModeSaaSAllDeployment mode
IngestEndpointstring?nullSaaSVeriproof ingest API URL
ApiKeystring?nullSaaS, Hybrid, LocalFirstAPI key (vp_live_* or vp_enterprise_*)
LocalDatabaseConnectionStringstring?nullHybrid, LocalFirst, DisconnectedPostgreSQL connection string to your DB
CommitmentOnlyEndpointstring?nullHybrid, LocalFirstVeriproof enterprise commitment API URL
LocalKeyVaultUristring?nullHybrid, LocalFirst, DisconnectedYour Azure Key Vault URI
TimeoutSecondsint30AllHTTP timeout for API calls
RetryCountint3AllNumber of retry attempts on transient failures
EnableMetricsbooltrueAllEmit OpenTelemetry metrics from the SDK
SyncIntervalSecondsint300LocalFirstHow often the sync worker flushes the queue
SyncBatchSizeint500LocalFirstMax hashes per batch commitment request
MaxQueueDepthint100,000LocalFirstAlert threshold for queue depth monitoring

Configuration Examples

SaaS Mode

builder.Services.AddVeriproof(options => { options.Mode = DeploymentMode.SaaS; options.IngestEndpoint = "https://api.veriproof.app/v1/ingest"; options.ApiKey = Environment.GetEnvironmentVariable("VERIPROOF_API_KEY"); });

Enterprise Hybrid Mode

builder.Services.AddVeriproof(options => { options.Mode = DeploymentMode.EnterpriseHybrid; options.LocalDatabaseConnectionString = Environment.GetEnvironmentVariable("POSTGRES_CONNECTION_STRING"); options.LocalKeyVaultUri = Environment.GetEnvironmentVariable("KEY_VAULT_URI"); options.CommitmentOnlyEndpoint = "https://api.veriproof.app/v1/enterprise/commitments"; options.ApiKey = Environment.GetEnvironmentVariable("VERIPROOF_ENTERPRISE_API_KEY"); });

Local First Mode

builder.Services.AddVeriproof(options => { options.Mode = DeploymentMode.LocalFirst; options.LocalDatabaseConnectionString = Environment.GetEnvironmentVariable("POSTGRES_CONNECTION_STRING"); options.LocalKeyVaultUri = Environment.GetEnvironmentVariable("KEY_VAULT_URI"); options.CommitmentOnlyEndpoint = "https://api.veriproof.app/v1/enterprise/commitments"; options.ApiKey = Environment.GetEnvironmentVariable("VERIPROOF_ENTERPRISE_API_KEY"); options.SyncIntervalSeconds = 300; options.SyncBatchSize = 500; });

Disconnected Mode

builder.Services.AddVeriproof(options => { options.Mode = DeploymentMode.Disconnected; options.LocalDatabaseConnectionString = Environment.GetEnvironmentVariable("POSTGRES_CONNECTION_STRING"); options.LocalKeyVaultUri = Environment.GetEnvironmentVariable("KEY_VAULT_URI"); });

Never embed API keys or connection strings directly in your source code. Always read them from environment variables or a secrets manager.

Last updated on