Public endpoints for verifying Proof of Operator seals. All endpoints are public. Read endpoints require no authentication. All responses include CORS headers.
The verification entry point. Accepts a seal hash and returns structured seal data with honest state fields. No account needed. Returns operator tier, score, domain breakdown, and verification count.
| Name | Type | Required | Description |
|---|---|---|---|
| hash | string | Yes | 64-character SHA-256 hash |
Returns all public, non-revoked seals with hash, tier, score, date, and verify URL. Anonymized.
Renew a seal. Accepts a hash and an action. Action "check" returns eligibility and price. Action "checkout" returns a Stripe payment URL. Action "confirm" extends validity after payment.
| Name | Type | Required | Description |
|---|---|---|---|
| hash | string | Yes | 64-character SHA-256 hash |
| action | string | Yes | check, checkout, or confirm |
Seal a document reading session. Accepts an action. Action "extract_claims" runs multi-model claim extraction. Action "seal" creates a hash-chained reading record. Action "judge_probes" judges reader answers. Action "verify" verifies the seal chain. Action "update_visibility" toggles public visibility.
| Name | Type | Required | Description |
|---|---|---|---|
| action | string | Yes | extract_claims, seal, judge_probes, verify, or update_visibility |
| seal_id | string | No | Seal ID (e.g. DIL-K7X2M9AB or POO-2026-K7X2M9) |
Verifies the integrity of the global verification chain. Returns a status (VERIFIED, PARTIAL, FAILED, UNKNOWN), verified and unverified ranges, and historical tips. Optional sequence parameter verifies a specific entry.
| Name | Type | Required | Description |
|---|---|---|---|
| seal_hash | string | No | 64-character SHA-256 hash |
| sequence | number | No | Entry sequence number to verify |
Returns this documentation. Optional lang parameter (en or cs) sets the language.
| Name | Type | Required | Description |
|---|---|---|---|
| lang | string | No | en (default) or cs |
12 months from assessment date
Seal expires 12 months from issue date. Expired seals remain in the public registry but are marked as expired.
Re-assessment required annually to maintain active status. A new assessment generates a new seal with a fresh hash.
Type: SHA-256 Hash Chain
Every seal verification is permanently logged with a timestamp and hash. Each entry cryptographically links to the previous entry, creating a tamper-evident chain. Any modification breaks the chain visibly.
Chain algorithm:
currentHash = SHA-256(prevHash + timestamp + sealHash + entryType + salt)
Genesis: GENESIS (hardcoded initial hash, never changes)
A lightweight SDK for integrating with your stack. Works in browser and Node.js. No dependencies.
import AuditProofClient from 'auditproof-sdk';
const client = new AuditProofClient('your_api_key');
// Verify a seal
const result = await client.verifySeal('c2641877...');
// Batch verify
const batch = await client.batchVerify(['hash1', 'hash2']);
// Get registry
const registry = await client.getRegistry();
// Get badge SVG
const badge = await client.getBadge('c2641877...', 'medium');
// Get QR code
const qr = await client.getQR('c2641877...', 'svg');
// Get PDF certificate
const pdf = await client.getCertificatePdf('c2641877...', 'en');
// Check renewal
const renewal = await client.checkRenewal('c2641877...');Proof of Operator provides independent operator capability assessments. It is not a legal certification of compliance with EU Regulation 2024/1689 or any other regulation. Brainiac Ltd is not liable for regulatory decisions based on the seal. Companies should consult their own legal counsel regarding their specific regulatory obligations.