Validate the envelope's append-only audit hash chain

Returns the envelope's audit events (the append-only, per-envelope hash chain) together with a server-computed integrity verdict. Every event_hash is recomputed from its canonical material, and the prev_event_hash linkage plus seq contiguity are checked. No authentication — the 32-hex envelope id is the bearer capability, exactly like /api/receipts. The events array is returned verbatim (including each row's full event_data_json, which carries the plaintext request_fingerprint) so a client can independently re-derive the verdict by recomputing the hashes itself; the in-browser /verify page does exactly this and does not trust chain.valid. The audit chain lives only in FreeSign's database — unlike the CMS / RFC 3161 / OpenTimestamps evidence inside the PDF, validating it requires the FreeSign service to be online.

get/api/envelopes/{envelope_id}/audit

Request

  • Base URL: https://free-sign.com
  • URL: https://free-sign.com/api/envelopes/{envelope_id}/audit
  • Auth: none declared

Path parameters

envelope_idstring required

Response

Audit chain and integrity verdict.

envelope_idstring required
attested_audit_chain_head_hashstring nullable required

The audit-chain head the signer froze in the v2 final payload at finalize time (security audit G-01), derived from the signed final_payload_json — not the denormalised audit_chain_head_hash column. NULL until the envelope is finalized. It is fed into the verdict's head cross-check ONLY when attested_head_signature_verified is true; an unverified head is reported here but not cross-checked.

attested_head_signature_verifiedboolean required

True when the final-payload signature carrying the attested head was re-verified against the signer's on-file public key. False when the envelope is not finalized or that signature did not verify — in the latter case the attested head's provenance is unconfirmed, the head is NOT cross-checked (head_checked is false), and the audit trail should be treated as unverified.

Changes

No recorded changes to this operation across all 1 revision of this API.