Cryptographic Receipts
How Aira creates tamper-proof audit artifacts for every AI decision.
The Receipt
Every time you execute a case, Aira produces a cryptographic receipt — a signed, timestamped artifact proving exactly what happened:
- What details were sent (hash only — raw details is never stored by default)
- Which models were consulted
- What each model decided
- Whether they agreed
- The exact timestamp (certified by an independent authority)
This receipt is your evidence artifact. Show it to your regulator, auditor, insurer, or judge.
What Gets Signed
The canonical receipt payload includes:
{
"receipt_version": "1.0",
"case_id": "prn_01J8X...",
"org_id": "org_01J8X...",
"query_hash": "sha256:...",
"models": ["claude-sonnet-4-6", "gemini-3.1-flash-lite", "gpt-5.4"],
"model_versions": {
"gpt-5.4": "gpt-5.4-2025-11-20",
"claude-sonnet-4-6": "claude-sonnet-4-6-20260114",
"gemini-3.1-flash-lite": "gemini-3.1-flash-lite-001"
},
"decisions": {
"gpt-5.4": "APPROVE",
"claude-sonnet-4-6": "APPROVE",
"gemini-3.1-flash-lite": "REVIEW"
},
"responses_hash": "sha256:...",
"consensus_decision": "APPROVE",
"consensus_hash": "sha256:...",
"disagreement_score": 0.28,
"confidence_score": 0.85,
"requires_human_review": false,
"created_at": "2026-03-14T10:23:45.123Z"
}This payload is serialized with sorted keys and no whitespace (json.dumps(payload, sort_keys=True, separators=(",", ":"))) to ensure deterministic hashing.
Cryptographic Primitives
| Component | Algorithm | Purpose |
|---|---|---|
| Payload hash | SHA-256 | Integrity — detect any tampering |
| Signature | Ed25519 | Authenticity — prove Aira signed it |
| Timestamp | RFC 3161 (TSA) | Non-repudiation — independent proof of when |
Why Ed25519?
- 64-byte signatures (compact)
- Fast verification (no RSA overhead)
- No known vulnerabilities
- Used by SSH, Signal, and most modern signing systems
Why RFC 3161?
An RFC 3161 trusted timestamp is obtained from an independent Timestamp Authority (TSA). This proves the receipt existed at a specific point in time — Aira cannot backdate it. The TSA response is stored alongside the receipt.
Query Privacy
By default, Aira stores only the SHA-256 hash of your case details — not the raw text. This means:
- Your case details never touches Aira's database
- The hash is sufficient for receipt verification
- No PII storage liability for Aira
If you need the raw details stored (for your own audit trail), opt in:
{
"options": {
"store_details": true
}
}When store_details is true, the details are encrypted with AES-256-GCM before storage.
Immutability
Receipts are stored in an append-only database table. Updates and deletes are blocked at the PostgreSQL level:
CREATE OR REPLACE FUNCTION prevent_receipt_mutation()
RETURNS TRIGGER AS $$
BEGIN
RAISE EXCEPTION 'Receipts are immutable.';
END;
$$ LANGUAGE plpgsql;Any attempt to modify a receipt raises an exception — there is no way to alter a receipt after creation, even with direct database access.