perathos

// technical overview

How Perathos Works

Perathos is a drop-in verification proxy. Your AI calls pass through it unchanged — but every response is examined before delivery.

architecture

Your AppPerathos ProxyYour LLM ProviderPerathos JudgeYour App

The Verification Pipeline

01

Intercept

Your SDK's base_url points to Perathos. The request is forwarded to your chosen LLM provider identically — same model, same parameters, same API format.

Latency added: ~0ms (forwarding is async and non-blocking)

02

Claim Extraction

A fast lightweight model reads the response and extracts every verifiable claim: factual assertions, mathematical expressions, structured data, and citations.

Output: typed claim list — [{id, type: 'mathematical|factual|structured|citation', text, context}]

03

Parallel Verification

Six verifiers run simultaneously. LLM-based verifiers use independent models; deterministic verifiers use SymPy and your knowledge base. No verifier sees another's output.

asyncio.gather() — total latency ≈ slowest single verifier, not the sum

04

Verdict Aggregation

A weighted risk score is computed from all verifier signals. Deterministic failures (wrong math) trigger immediate BLOCK. LLM failures accumulate toward FLAG or BLOCK thresholds.

PASS < 0.30 risk | FLAG 0.30–0.65 | BLOCK > 0.65 (configurable per deployment)

05

Proof Generation

The verdict is hashed and wrapped in a VRL Proof Bundle — an immutable, signed artifact containing the full evidence trail: claims, signals, confidence scores, and timestamps.

SHA-256(verdict_json) → VRL bundle → appended to audit chain (PostgreSQL append-only)

06

Delivery

The response is returned in the exact format your SDK expects. PASS responses include the original content. BLOCK responses replace content with a signed explanation.

x-vrl-verdict header | vrl_bundle field in response body | x-vrl-confidence score

The Six Verifiers

Cross-Examiner
weight: 0.40LLM

Sends response + extracted claims to a second model with the sole task of finding factual contradictions. Returns per-claim PASS/FAIL/UNCERTAIN with confidence.

Hallucination Detector
weight: 0.30LLM

A fast model specifically prompted to identify hallucination signals: fabricated specifics, overconfident statistics, invented citations. Returns an overall score and per-claim flags.

Independent Calculator
weight: 0.40LLM

Mathematical claims are extracted and sent to a third model. It re-derives every calculation from scratch — blind to the original answer — then compares.

Symbolic Solver
weight: 0.50 / always BLOCKDeterministic

Uses SymPy to algebraically verify every mathematical equation. If LHS ≠ RHS, it is always BLOCK — no threshold, no probability. Deterministic verification cannot be overridden.

Knowledge Graph
weight: 0.40Deterministic

Factual claims are looked up in a trusted knowledge base (your PostgreSQL database, a curated knowledge graph, or industry-specific sources). Pluggable per industry vertical.

Schema Validator
weight: 0.20Hybrid

Structured output — JSON blocks, financial tables, API responses — is extracted and validated against a JSON Schema or regex patterns you configure. AI extracts; deterministic code verifies.

See it in your environment

We build a proof of concept tailored to your use case — live, with your data.

Request a Demo