Skip to main content
Version: 0.2 Draft 2

7. Enforcement API

7.1 Overview

This section defines the minimum API contract that a PCT-compliant enforcement point must expose. Implementations may provide richer interfaces; they must not expose less than the minimum defined here.

7.2 Verification request

An enforcement point must accept a verification request containing the following fields:

FieldTypeRequiredDescription
pctstringREQUIREDThe compact serialised PCT (header.payload.signature).
requested_actionenumREQUIREDThe action being requested. Permitted values: process, transfer, ai_call, store, delete, disclose.
requested_purposestringREQUIREDThe specific purpose for which the action is being performed. Must match a value in allowed_purposes to pass.
processing_regionstring (ISO 3166-1 alpha-2)REQUIREDThe country code where the action will occur.
requestor_idstringREQUIREDIdentifier of the system or service making the request.
request_timestampinteger (Unix epoch)REQUIREDTimestamp of the request.
request_idstring (UUID v4)REQUIREDUnique identifier for this verification request, used in the audit record.

7.3 Verification response

FieldTypeRequiredDescription
decisionenumREQUIREDThe enforcement decision. Values: ALLOW, BLOCK, TRANSFORM.
decision_reasonsarray of stringREQUIREDHuman-readable explanation of the checks that produced the decision. Required for BLOCK and TRANSFORM decisions.
transform_instructionsobjectCONDITIONALRequired when decision is TRANSFORM. Specifies the transformation to be applied (e.g. redact field x, pseudonymise field y).
audit_record_idstring (UUID v4)REQUIREDThe identifier of the audit record generated for this decision.
response_timestampinteger (Unix epoch)REQUIREDTimestamp at which the decision was made.