KLA Digital Logo
KLA Digital
Developer Docs

Add runtime controls
without re-platforming your stack

Start by governing the workflow you already run. KLA supports govern-in-place instrumentation for existing frameworks and a more managed run-through-KLA pattern when you want tighter operational control.

SDK-first telemetry

Govern existing frameworks with SDKs and OpenTelemetry.

Execution API

Insert approval checkpoints and intercept risky actions at runtime.

Evidence export

Generate execution lineage that trust and compliance teams can reuse later.

Start Here

Deployment patterns

Technical evaluators need to know whether KLA forces a rewrite. It does not. Pick the control pattern that matches your stack and governance maturity.

Govern in place

Instrument the agents, APIs, and orchestration frameworks you already operate, then add checkpoints at the moments that matter.

  • Best for existing LangChain, custom orchestration, and internal workflow stacks
  • Low-friction path for platform teams avoiding re-platform fear
  • KLA focuses on controls, approvals, and proof rather than replacing your app

Run through KLA

Route execution through a managed KLA surface when you want tighter standardisation and a faster path to controlled production.

  • Best for greenfield governed workflows or fragmented estates
  • Reduces local integration work when teams want one control surface
  • Uses the same approval, policy, and lineage model as govern in place
5-10 minutes

Quickstart

From zero instrumentation to governed execution and evidence export.

1. Install a telemetry SDK

Use our OpenTelemetry SDKs to emit GenAI spans automatically. Pick your runtime:

INSTALL
# Node.js
pnpm add @kla-digital/otel-node

# Python
pip install kla-otel-python

The SDK auto-discovers common frameworks (Express, FastAPI, LangChain, OpenAI).

2. Point OTLP to KLA

Configure your OTLP exporter to send traces to your tenant's collector. You'll get the endpoint and API token in the Console.

.env
OTEL_SERVICE_NAME=claims-service
OTEL_EXPORTER_OTLP_ENDPOINT=https://<your-collector-endpoint>
KLA_TENANT_ID=<your-tenant-id>
KLA_PII_MASK=true

Set `KLA_PII_MASK` to avoid sensitive values in traces by default.

3. Register an agent

Agents are declared as manifests. Create one via the Execution API:

curl
curl -X POST https://api.kla.local/execution/v1/agents \
  -H "Authorization: Bearer $KLA_TOKEN" \
  -H "x-tenant-id: $KLA_TENANT_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "claims-bot",
    "description": "Triages inbound claims with human gates",
    "model": "gpt-4o-mini",
    "temperature": 0.2,
    "tools": ["search_claims_db"]
  }'

The response includes a stable `agentId` and immutable `manifestHash`.

4. Start an execution

Executions are durable workflows with budgets and policy checks.

curl
curl -X POST https://api.kla.local/execution/v1/executions \
  -H "Authorization: Bearer $KLA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "agentId": "<agentId from step 3>",
    "input": { "prompt": "Summarise today\u0027s high-risk claims." },
    "budgets": { "maxSteps": 50, "maxTokens": 20000, "maxCostUsd": 5 },
    "flags": { "euOnly": true }
  }'

Stream progress over WebSocket at `wss://api.kla.local/execution/ws`.

5. Export evidence (Annex IV, SOC 2)

The CLI pulls tamper-proof audit logs and generates signed bundles ready for regulators and auditors.

kla
# Last 30 days as PDF
kla export evidence --tenant $KLA_TENANT_ID --days 30 --format pdf

# Filter by framework or controls
kla export evidence --tenant $KLA_TENANT_ID --frameworks "SOC 2 Type II" --format csv
Telemetry

Official SDKs

Language-native OpenTelemetry with GenAI semantic conventions.

Node.js

Zero-config auto-instrumentation for Express, tRPC, LangChain, OpenAI, and more.

node
import '@kla-digital/otel-node';

Python

Drop-in FastAPI middleware and LangChain auto-instrumentation, with built-in PII masking and cost tracking.

python
import kla_otel_python