What does signed and receipted mean?

Each successful hosted score, evaluate or chat call is signed with Ed25519 and returns a receipt. You can look it up later at GET /api/verify/{verdictId}, with no API key. Mock scores from the SDK are never signed and have no receipt.

Last updated

Signed

ClearRun signs the verdict with a private key that stays on its servers. The verdict carries three fields: signature, signatureKeyId and signatureAlg.

ClearRun's public keys are at /.well-known/jwks.json.

If a verdict can't be signed, ClearRun returns an error (500) instead of an unsigned verdict.

Receipted

The hosted service writes each successful evaluation to an append-only, hash-chained receipt log. The receipt holds fingerprints of the text and the verdict, the time, and a fingerprint of the receipt before it. That link is what makes it a chain.

If the write is delayed, the receipt shows as queued. The public lookup finds it once the write completes, usually within a few minutes.

If the receipt can't be saved at all, the request is rejected (503) and you are not charged.

What a lookup shows

  • That ClearRun issued this verdict for this input and output at the stated time.
  • Whether the signature is valid.
  • Whether the chain is intact. The check compares each receipt's link to the one before it, so a change to an earlier receipt shows up as a broken chain.

What it does not show

  • That the answer is true. The score is about whether confidence is backed by reasoning, not about facts.
  • An outside timestamp. The time comes from ClearRun's server clock.

What is public

Anyone with a verdict id can see the lookup result: whether it verified, the receipt fingerprints, and the public verdict (score, grade, summary and issues). They can't see your prompt or the answer text. Share verdict ids with that in mind.

To check one, see How to verify a ClearRun receipt.