Skip to main content
Version: 0.2 Draft 2

8. Audit Records

8.1 Requirements

Every verification event must produce an audit record. Audit records must be:

  • Generated at the time of the decision, not retrospectively
  • Tamper-evident, using a SHA-256 hash of the full record payload
  • Retained for a minimum period consistent with applicable regulatory requirements (suggested minimum: 7 years for data subject to GDPR or HIPAA)
  • Structured in a format that can be exported and presented to a regulator or auditor without specialist tooling

8.2 Audit record schema

FieldTypeRequiredDescription
audit_idstring (UUID v4)REQUIREDUnique identifier for this audit record.
request_idstring (UUID v4)REQUIREDThe request_id from the originating verification request.
pct_idstring (UUID v4)REQUIREDThe pct_id of the PCT evaluated.
issuerstring (URI)REQUIREDThe issuer of the PCT evaluated.
requestor_idstringREQUIREDThe system that made the verification request.
requested_actionenumREQUIREDThe action that was requested.
requested_purposestringREQUIREDThe purpose stated in the verification request.
processing_regionstringREQUIREDThe region in which the action was to be performed.
decisionenumREQUIREDThe enforcement decision: ALLOW, BLOCK, or TRANSFORM.
checks_performedarray of objectREQUIREDThe ordered list of checks performed, each including check_name, result (pass/fail), and reason.
decision_timestampinteger (Unix epoch)REQUIREDTimestamp at which the decision was made.
record_hashstring (hex)REQUIREDSHA-256 hash of the JSON-serialised audit record (excluding the record_hash field itself). Enables tamper detection.