Verification docs

Verify SmartConsent without relying on mutable logs.

The verification path uses exported evidence, the published event spec, a reconstructed Merkle root, and the public DLT receipt. No PHI. No Ayra credentials. No private database access.

Local verification command
$ ayra-verify ./evidence/batch-249.json --spec v2.0.1

✓ Spec hash matches
✓ Event payloads canonicalize
✓ Event hashes recompute
✓ Merkle root reconstructs
✓ Public anchor matches
✓ Batch integrity verified
What the verifier checks
01

Spec hash

Confirms the batch uses the declared immutable event specification.

02

Canonical events

Recomputes hashes from canonical JSON, not vendor logs.

03

Merkle root

Rebuilds the tree from batch events and checks the root.

04

Public receipt

Matches the reconstructed root against the public DLT receipt.

Evidence package

What a reviewer receives.

Batch JSON

Event hashes, payload hashes, tree position, and anchor metadata.

Spec version

Immutable audit-event spec and expected spec hash.

Anchor tx

Public DLT receipt containing the committed Merkle root.

No PHI

Clinical content is never required to verify audit integrity.

Reviewer result

A simple answer: valid, invalid, or incomplete.

A valid result means the exported evidence matches the declared spec, hashes correctly, reconstructs to the committed root, and matches the public anchor. An invalid result means the evidence has been changed or the claim is false. An incomplete result means the reviewer is missing a required evidence file or anchor reference.

Read trust posture