verify_receipt
Verify the Ed25519 signature of a signed artifact (decision receipt, restraint receipt, passport envelope) offline. Accepts JSON input or file path, returns validation result with type, format, and hash.
Instructions
Verify the Ed25519 signature of a single signed artifact (decision receipt, restraint receipt, passport envelope, or other Veritas Acta artifact; v1, v2, and passport formats are auto-detected). Read-only and fully offline. Provide the artifact as raw JSON (artifact_json) or a local file path (path); artifact_json wins if both are given. Verification uses public_key_hex when provided, otherwise a key embedded in the artifact payload; if neither exists it returns valid: false with error 'no_public_key' rather than guessing. Returns JSON { valid: boolean, error: string|null (e.g. 'invalid_signature', 'no_public_key'), type, format ('v1'|'v2'|'passport'), kid, issuer, hash (SHA-256 over the canonical unsigned bytes) }. Unparseable input returns { ok: false, error }.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Path to a local JSON artifact file. | |
| artifact_json | No | Raw JSON artifact string. | |
| public_key_hex | No | Optional Ed25519 public key hex (64 bytes as hex). |