v0.2.4 · 206 tests passing · Apache 2.0

Same request.
Different response.
Can you verify what was recorded?

AELITIUM generates tamper-evident bundles for recorded AI output, so the bundle can be checked offline.

See it live → View on GitHub
CHANGED aelitium compare ./bundle_last_week ./bundle_today
$
$ pip install aelitium Copied!

No vendor server required.

The same request.
A different recorded response.

A model changes between two runs. The request stays the same. The recorded response does not.

Run 1 — March 3

"Summarise the key risks of deploying LLMs in production in one sentence."

Key risks include non-deterministic outputs, prompt injection vulnerabilities, hallucinated facts, and the absence of tamper-evident logging.

response_hash: 2f1563cc8c0b7b71…
Run 2 — March 10

"Summarise the key risks of deploying LLMs in production in one sentence."

Primary risks are hallucination, data leakage, adversarial prompt injection, and unpredictable behaviour changes following silent model updates.

response_hash: c41d8e3b5f9a2201…
request_hash = SAME. Same canonicalized request input: identical model + messages. response_hash = DIFFERENT. The recorded response is different. AELITIUM detects a change in the recorded output.

Edit anything.
Watch the hash change.

Paste two recorded responses and compare them in the browser.

Live · SHA-256 comparison running in your browser

Minimal mechanism.
Nothing more than you need.

Capture. Hash. Bind. Verify.

1
Capture

Records the request input and response output.

from aelitium import capture_openai
2
Hash

Computes `request_hash` and `response_hash`.

request_hash
response_hash
3
Bind

Links both with `binding_hash`.

request_hash + response_hash
→ binding_hash
4
Verify

The bundle can be checked offline.

aelitium verify-bundle ./evidence
→ STATUS=VALID
binding_hash = SHA256(canonical({request_hash, response_hash}))

What it does.
What it does not do.

Short boundary. Nothing more.

AELITIUM does
  • detects post-capture modification
  • verifies offline from the bundle
  • detects changed recorded output for the same request
AELITIUM does not
  • prove model truth
  • prove provider authenticity
  • prove the model actually produced the response

Try it on one call.
Verify the result offline.

Open source. Run it once. Inspect the bundle yourself.

View on GitHub Read the docs

pip install aelitium

Also on PyPI