Skip to content
OnticBeta

Five minutes to your first gate.

Install. Generate a config. Lock down the parrot. See the audit record.

1

Install

~1 minute
Python
pip install ontic-sdk
Node.js
npm install @ontic/sdk
2

Generate a config

~2 minutes

Don't write YAML by hand. Let the CLI do it.

Interactive (asks you questions)
ontic init
# Generates: ontic.yaml, ontology/, oracles/
From a template
ontic init --template medical
# Generates:
#   ontic.yaml
#   ontology/clinical.yaml
#   oracles/ehr.yaml (edit with your real endpoint)
Bare minimum (just labeling)
ontic init --template minimal
#   ontic.yaml — labels + audit, nothing else

Templates: minimal, medical, financial, legal, life-safety.

3

Point it at your data (optional)

~5 minutes, or skip

The generated config has stubs. If you want real evidence checking, point the oracle at your actual data source. If you just want to explore, skip this — the stubs work locally.

oracles/ehr.yaml — edit the endpoint
oracles:
  ehr_oracle:
    type: "rest_api"
    endpoint: "https://your-ehr.example.com/api/v1"  # ← your real URL
    auth: "bearer_token"
4

Run the gate

~5 minutes
from ontic import Gate, Config

gate = Gate(
    config=Config.from_file("ontic.yaml"),
    mode="label"  # or "strict"
)

result = gate.evaluate(prompt, model_output)

if result.authorized:
    print(result.output)        # signed, auditable
else:
    print(result.refusal)       # what's missing and why
    print(result.audit_record)
5

Look at what happened

Every evaluation produces a record — authorized or refused.

Audit record
{
  "claim_id": "c-20250207-001",
  "status": "AUTHORIZED",
  "enforcement": "studio",
  "gate_decision": "label",
  "data_checks": [
    {
      "source": "ehr_oracle",
      "query": "patient_id=12345",
      "result": "found",
      "latency_ms": 42
    }
  ],
  "timestamp": "2025-02-07T14:32:00Z"
}

Prefer a browser?

The risk profile wizard generates the same config — no CLI required.

Check Your Risk