Verification
Verify evidence bundles offline. Auditors can validate integrity in air-gapped environments.
Offline verification
verify.shbash
# Extract the bundle
unzip evidence_bundle.zip
# Run verification
chmod +x verify.sh
./verify.sh
# Expected output:
# ✓ Signature valid
# ✓ Manifest hashes match
# ✓ Hash chain intact
# ✓ Timestamps consistent
# RESULT: Evidence bundle is AUTHENTICOffline verification requires no API calls and no dependency on Xase infrastructure.
What gets verified
Check What it proves
Signature Bundle was signed and not modified after issuance
Manifest Files match declared hashes in the bundle manifest
Hash chain Session/record chain pointers are consistent
Timestamps Evidence timestamps are consistent and orderedManual verification (advanced)
# 1) Verify signature (manual)
openssl x509 -in certificate.pem -pubkey -noout > pubkey.pem
openssl dgst -sha256 -verify pubkey.pem -signature signatures/bundle.sig manifest.json
# Output: Verified OK
# 2) Verify manifest hashes
python3 - <<'PY'
import hashlib, json, pathlib
manifest = json.loads(pathlib.Path('manifest.json').read_text())
for entry in manifest['files']:
p = pathlib.Path(entry['path'])
digest = hashlib.sha256(p.read_bytes()).hexdigest()
assert digest == entry['sha256'], (entry['path'], 'hash mismatch')
print('Manifest OK')
PY© 2025 Xasefounders@xase.ai
