APERTURE
Photon · the verification API

Every answer
comes signed.

Each verdict ships a signed receipt — ed25519, checkable offline against our published pubkey. And when the answer can't be grounded or two independent minds disagree, Photon abstains rather than bluff: unverified — not a fabrication (0 of 36 on n=147).

a live demo you can run yourself — or your own private stack, on your hardware, your data never leaves.

watch photon route

A pure cascade gives you a fast answer.
A cascade-of-pairs gives you an honest one.

Fabrications are caught two ways: grounding against verified registries, and cross-model agreement — a pair has to agree, or Photon escalates, and when even the frontier pair can't agree, it abstains instead of guessing. A cheap activation pre-filter flags off-map questions early, but it's grounding and the cross-model check that do the catching. The cheap question never pays for the hard one; the hard one gets escalation or an abstention, not a confident guess.

the questionhow deep Photon goesthe verdict
47 × 19grounded · cheapanswered · ~1s
tell me about the drug zelphorinno registry match · cheap pre-filterabstains, free · ~1s
a 4×4 logic puzzlea near pair — they agreedanswered · ~27s
an open metric-space proofnear pair disagreed → frontier pair → they disagreedabstains: “two independent minds disagree — unverified, not a guess”

the question sets the depth — try every rung in the live demo below.

try the grounding · no card

Ground a claim, live.

The fastest rung of the cascade: Photon checks a claim against verified registries — real ones ground, fakes get caught — and every verdict comes back with a signed receipt you can verify yourself on the evidence page. The key is your free demo account; store it once and every call carries it. Catching fabrications is always free — run it as much as you like.

Get a free key
verify a claim
Don't trust our check — run your own. The open verifier is a single dependency-light file (cryptography + stdlib): python3 aperture_verify.py verify receipt.json checks any receipt or cert offline against the pinned registry key, with no call back to us. You can't watch a 12-hour agent, but you can verify its trail: verify-session checks every receipt in a run and the root over their ordered sequence, so altering, reordering, or dropping one is caught. Where a fixed rule settles the answer, a deterministic per-answer witness lets you re-derive the verdict yourself — exact, offline, still provenance, not truth. Specs: SPEC · WITNESS_SPEC.
on your infrastructure

The demo runs on ours. Run the real thing on yours.

demo mode today · your own private stack when you're ready

The whole honesty layer, self-hosted — the glass-box lens that reads the model's own state, signed receipts anyone re-checks offline, and a null-validated calibration certificate for your model. Nothing leaves your VPC. Built for teams that need verification as infrastructure, not a shared endpoint.

  • the glass-box lens — reads activations, not just tokens
  • signed, offline-checkable receipts + a transparency log
  • deterministic per-answer witnesses — code · math · registry
  • your model, calibrated + its own certificate
  • air-gapped — your keys, your hardware, your data
  • the full cascade: ground · pair · escalate · abstain

Provenance, not truth — it proves what was served and lets a third party re-check it, on hardware you control.

build on it

One key. The whole cascade, in your stack.

The same Photon — grounding and inference — through an OpenAI-compatible API, an SDK, or an MCP tool your agent calls before it commits. One sk-apt- key, one base_url. build on the lens →