SDK Quick Start — Legal & Regulatory Technology (RegTech / LegalTech)
Getting started: Legal & Regulatory Technology (RegTech / LegalTech)
Control what your AI can do. The core SDK checks policy before your workflow runs an action and again before its result is released. Denied actions stop. Actions that need human review stay paused until a signed outcome arrives.
Catalog context. Select fields that explain the document or decision under review. Preserve source references and distinguish a draft recommendation from an approved filing or legal action. Protect confidential and privileged information throughout the workflow. A recorded policy result does not determine privilege, filing validity, or authority to provide legal advice.
Use industry fields with the core SDK
Industry vocabularies supply typed values that the SDK sends as policy fields and evidence attributes with one governed call. Choose values that describe the actual workflow. Adding a vocabulary does not activate rules or assign regulatory requirements.
| Layer | What you configure | What changes downstream |
|---|---|---|
| Core SDK | Application SDK key, endpoint, one client, and the governed action around each protected step | The same policy checks, typed results, and evidence used across every implementation |
| Legal & Regulatory Technology (RegTech / LegalTech) | Typed industry values and application facts drawn from this vertical catalog | Rules read them under input.snapshot.industry and input.snapshot.facts; reviewers see them in evidence |
| Review workflows | Rules, evidence packages, and internal reviewer workflows | Reviewers can inspect captured values and identify missing context |
If you need the cross-industry baseline first, open the core SDK reference, Python core, or .NET core before continuing here.
Step 1 — Install the approved packages
In the customer portal, open Tools and SDKs. Select your language and adapters, then follow the installation instructions shown there.
VeriProof SDKs are distributed through customer-gated GitLab packages, not public registries. See SDK access for workstation and CI guidance.
VeriProof packages used here: @veriproof/sdk-core (TypeScript), veriproof-sdk (Python), Veriproof.Sdk.Core (.NET).
Step 2 — Configure
Store the application SDK key as VERIPROOF_API_KEY and create one client when the application starts. Publish the policy you want to enforce, then confirm its field contract against the facts and industry values your application supplies.
Copy the application ID and key from Set up SDK. The application ID is not its display name. Try a live demo to see a governed workflow, or request an evaluation if you need a workspace.
Step 3 — Govern the action
Put the protected business action inside govern. The SDK checks policy before it calls the action and before it releases the result. Deny and human-review decisions stop execution here.
import { Veriproof } from '@veriproof/sdk-core';
import type { GovernedResult, IndustryFact, JsonValue } from '@veriproof/sdk-core';
const veriproof = Veriproof.fromEnv();
export async function runProtectedAction<TInput extends JsonValue, TValue>(
request: TInput,
action: (input: TInput, signal: AbortSignal) => Promise<TValue>,
): Promise<GovernedResult<TValue, TInput>> {
// Catalog values for this vertical. Replace them with facts from the current workflow.
const industry: IndustryFact[] = [
{ attribute: "legaltech.contract.lifecycle_stage", policyInput: "legaltech_contract_lifecycle_stage", value: "intake" },
{ attribute: "legaltech.contract.obligation_category", policyInput: "legaltech_contract_obligation_category", value: "payment_obligation" },
{ attribute: "legaltech.contract.risk_flag", policyInput: "legaltech_contract_risk_flag", value: "unlimited_liability_exposure" },
];
// Policy runs before action() and again before the result is released.
// A deny or review decision means action() never runs.
return veriproof.govern(
"legal.regtech.legaltech.evaluate",
request,
({ input, signal }) => action(input, signal),
{ industry },
);
}Only completed, completed_with_warning, and transformed results carry a released value. Handle every other status with its safe message, reason code, and evidence reference. For review decisions, save the checkpoint and continue through the human review workflow.
Add typed industry values
Each core SDK ships this vertical's vocabulary as generated types. A typed value becomes one policy field and one evidence attribute when you pass it to the governed call. Use application facts for values that are specific to your workflow.
Find this workflow's vocabulary in the Legal & Regulatory Technology (RegTech / LegalTech) reference. Use the attribute names below and verify their policy-field mapping before using them in a rule. Sample values show the format; they are not recommended outcomes for your application.
| OTel attribute | Sample value | Category |
|---|---|---|
legaltech.contract.lifecycle_stage | intake | ContractLifecycleStage |
legaltech.contract.obligation_category | payment_obligation | ContractObligationCategory |
legaltech.contract.risk_flag | unlimited_liability_exposure | ContractRiskFlag |
legaltech.document.classification | act_legislation | LegalDocumentClassification |
legaltech.document.privilege_status | not_privileged | LegalPrivilegeStatus |
regtech.filing.status | draft | RegulatoryFilingStatus |
TypeScript
import { Industry } from '@veriproof/sdk-core';
import { ContractLifecycleStage, ContractLifecycleStageMeta, ContractObligationCategory, ContractObligationCategoryMeta, ContractRiskFlag, ContractRiskFlagMeta } from '@veriproof/sdk-core/industries/legal-regtech';
// Replace sample values with facts from the current workflow.
// Each value becomes one policy field and one evidence attribute.
const industry = [
Industry.fact(ContractLifecycleStageMeta, ContractLifecycleStage.Intake),
Industry.fact(ContractObligationCategoryMeta, ContractObligationCategory.PaymentObligation),
Industry.fact(ContractRiskFlagMeta, ContractRiskFlag.UnlimitedLiabilityExposure),
];
const result = await veriproof.govern(actionName, request, runWorkflow, { industry });Python
from veriproof_sdk.verticals.legal_regtech import ContractLifecycleStage, ContractObligationCategory, ContractRiskFlag
# Replace sample values with facts from the current workflow.
# Each value becomes one policy field and one evidence attribute.
industry = (
ContractLifecycleStage.intake.fact(),
ContractObligationCategory.payment_obligation.fact(),
ContractRiskFlag.unlimited_liability_exposure.fact(),
)
result = await vp.govern(action_name, request, run_workflow, industry=industry).NET
using Veriproof.Sdk.Core.Industries.LegalRegtech;
// Replace sample values with facts from the current workflow.
// Each value becomes one policy field and one evidence attribute.
var options = new GovernOptions
{
Industry =
[
ContractLifecycleStage.Intake.Fact(),
ContractObligationCategory.PaymentObligation.Fact(),
ContractRiskFlag.UnlimitedLiabilityExposure.Fact(),
],
};
var result = await veriproof.GovernAsync(actionName, request, RunWorkflowAsync, options);Workflow examples from the catalog
- Contract Lifecycle Management: Contract Lifecycle Stage. AI CLM agent tracks every contract through its lifecycle. OPA policy enforces that transitions from 'approved' to 'executed' and any change to an 'active' or 'executed' contract require human authorisation, AI may not autonomously bind the organisation or modify binding terms. (Eu AI Act Art13: EU AI Act Article 13, If AI CLM is used in contracts with consumers, transparency about AI involvement in drafting must be provided)
- Contract Lifecycle Management: Contract Obligation Category. AI contract analysis agent extracts obligations at execution and populates the obligation register. 'Data_processing_obligation' and 'regulatory_compliance_obligation' categories trigger automatic cross-referencing against the compliance obligation register. 'Payment_obligation' deadlines are surfaced to accounts payable.
- Contract Lifecycle Management: Contract Risk Flag. AI redlining agent flags non-standard clauses against the organisation's contract playbook. 'Unlimited_liability_exposure' and 'data_processing_non_gdpr_compliant' flags block automated contract advancement, attorney review is mandatory before escalation. (Dora Art30: DORA Article 30, 'missing_dora_ict_clause' flag required for all ICT service provider contracts in EU financial sector)
- Legal Document Classification & Management: Legal Document Classification. AI legal document classification agent ingests documents and assigns type before routing. 'Legal_opinion_memorandum' documents trigger privilege protection workflow, AI may not disclose or summarise these documents to unauthorised parties. 'Evidence_exhibit' documents in litigation context trigger EDRM chain-of-custody logging.
Next steps
- Open the full Legal & Regulatory Technology (RegTech / LegalTech) governance reference for all 21 enum categories, policy patterns, and source standards.
- Review TypeScript SDK core for stop handling, human review continuation, and the OpenAI Agents adapter.
- Review Python SDK core for stop handling, human review continuation, and the Microsoft Agent Framework adapter.
- Review .NET SDK core for stop handling, human review continuation, and the Microsoft Agent Framework adapter.
- Browse all vertical references to understand how the core governance vocabulary layers underneath vertical-specific attribute sets.
- Compare this guide with the public industry pages for a business overview of the same workflows.
Verify your work email to create a Developer account, free for 60 days. Open your account, create a Development application and its API key, then follow Tools and SDKs to connect it.