“Every request is logged” sounds reassuring. It is not yet a review method.

A web-server log may prove that an endpoint returned 200. It may not explain who the caller was, which authority allowed the request, which policy version was applied, what source was consulted, what was disclosed, or whether a failure was incorrectly treated as a negative answer.

For governed registry access, a reviewer should be able to follow one request through a chain of accountable decisions:

service need
    -> authenticated requester
    -> purpose and scope
    -> policy decision
    -> source consultation
    -> disclosure decision
    -> returned result or denial
    -> retained evidence and operational ownership

This guide defines the questions that review should answer. It is not a claim that software can prove the legality or correctness of a public-service decision by itself.

Begin with the reconstruction question

A useful audit review starts with a scenario, not a log file.

For example:

On 18 July, the voucher service asked whether applicant A had an active farmer registration. It received a positive predicate. Can we reconstruct why that request was admitted, which source consultation supported it, what left the registry, and which controls were in force?

That question has seven parts:

Review areaWhat the reviewer must establish
Service contextWhich public service or procedure caused the request, and who owned the resulting action
RequesterWhich authenticated system or role asked, with which scope and access mode
AuthorityWhich institution owned the source and was authoritative for the requested fact
PolicyWhich purpose, claim, policy version or hash, and disclosure rule were applied
SourceWhich Relay consultation and source binding produced the typed facts
OutcomeWhether the request was allowed, denied, unavailable, ambiguous, or failed, and what response shape left the boundary
ContinuityWhether the retained records form a verifiable sequence, were shipped or anchored as required, and remain within the approved retention boundary

If one of these parts only exists in a meeting note or a person’s memory, the technical log is not the complete review record.

Learn from integration projects, then go one step further

OpenFn has written about implementation artifacts making parts of a data-sharing agreement machine-readable and reviewable. That is an important shift: the agreement is no longer only a document beside the system.

Registry Stack applies the same discipline to the access path:

  • Registry Relay configuration defines how an approved source can be read and which typed outputs exist.
  • Evidence Gateway configuration defines who can request a claim, for which purpose, and what disclosure modes are allowed.
  • Runtime audit records show which configured path was exercised.
  • The service and registry owners remain responsible for approving the question, the authority, and the use of the answer.

The extra step is to review those objects together. Configuration without runtime evidence shows intention. Runtime logs without reviewed configuration show activity. A reviewer needs both.

The reconstruction checklist

Use the downloadable review checklist for a pilot or architecture review.

1. Establish the service and decision owner

  • What legitimate service caused the request?
  • Which institution owned the eligibility, approval, payment, referral, or other action that followed?
  • Was Registry Stack returning source access, evidence, or an attestation of a decision already made by the source authority?
  • Was the question approved for this service, or merely technically possible?

This prevents a common category error. An Evidence Gateway result can provide evidence to a programme. It does not silently become the programme’s decision.

2. Identify the requester without spreading more identifiers

  • Which authentication mode admitted the caller?
  • Which principal or workload identity was used?
  • Which scopes were checked?
  • Was the request subject-bound, representative, delegated, or a machine request?
  • Can the reviewer correlate repeated activity when permitted without storing raw subject identifiers throughout the logs?

Evidence Gateway audit events use keyed hashes for principal and subject references. Registry Relay has its own product-specific audit record. Reviewers should be given an approved interpretation layer, not unrestricted access to every raw log or secret used to derive identifiers.

3. Reconstruct purpose and policy

  • Which declared purpose accompanied the request?
  • Which claim or route was requested?
  • Which policy identifier, version, or hash was in force?
  • Which rule or scope produced the permit or denial?
  • Did the caller request a disclosure mode, and which mode was applied?
  • Was an exception, representative relationship, or credential profile involved?

“The caller had a token” is not enough. Authentication establishes an identity. It does not prove that this identity could ask this question for this purpose.

4. Follow the source consultation

For a Relay read:

  • Which dataset, entity, relationship, aggregate, or configured route was accessed?
  • Which filters and projections were permitted?
  • Which source binding and snapshot or scan mode applied?
  • How many rows or groups were returned?
  • What freshness statement can the operator support?

For an Evidence Gateway evaluation backed by Relay:

  • Which consultation identifier did Evidence Gateway invoke?
  • Did Relay return match, no_match, or ambiguous?
  • Which typed outputs were made available to the claim?
  • Did Evidence Gateway preserve source, denial, verification, and availability failures instead of converting them to false?

Evidence Gateway and Relay keep separate audit authority. Their evaluation and consultation identifiers provide the restricted bridge for reconstruction. Do not join the logs by raw subject identifier.

5. Identify exactly what left the boundary

  • Did Relay return selected fields, records, a relationship, or an aggregate?
  • Did Evidence Gateway return value, predicate, or redacted?
  • Which object fields were redacted?
  • Was the response a plain evaluation result, a credential, or a signed federation result?
  • Did the caller receive any data not listed in the approved question?

A successful policy decision does not prove that the disclosure was minimal. Review the response shape and the underlying claim or route configuration.

6. Preserve denials and uncertainty

The review view must not flatten these into one “failed” state:

StateReview meaning
Matched false valueThe authoritative source consultation matched and the configured boolean evidence evaluated to false
no_matchNo admissible record was resolved under the reviewed matcher
ambiguousMore than one admissible result remained
DeniedAuthentication, scope, purpose, relationship, policy, or another gate refused the request
UnavailableThe required source or service could not provide an answer
Verification failureA contract, signature, token, or other verification step failed
StaleThe source or portable evidence was older than the consuming service accepts

Only the first row is a false evidence value. The others are reasons that the service does not have the requested evidence.

7. Test retention and integrity claims

Registry Stack can write keyed, chained audit envelopes. Each envelope binds its identifier, timestamp, previous hash, event record, and record hash. With the deployment secret protected, rewriting an interior record without detection becomes harder.

That statement has boundaries:

  • A valid local chain does not prove that the application made the correct policy decision.
  • A chain by itself cannot prove that its tail was not deleted. Off-host shipping, acknowledgements, or another retained anchor are needed when tail removal is in the threat model.
  • A file is not durable merely because it is hashed. Retention, access control, backup, and recovery are operator responsibilities.
  • Audit fail-closed is a deployment capability. Review which protected route families use it and whether the running posture confirms it.
  • Relay and Evidence Gateway use separate audit keys and chains. Reusing secrets or storage across trust domains weakens the boundary.

Ask the operator to demonstrate chain verification, off-host handling, and recovery. Do not accept the phrase “tamper-proof log” as evidence.

A sanitized reconstruction example

The example below is a reviewer-facing view assembled from current Relay and Evidence Gateway concepts. It is not a raw production log and contains no personal identifier or source value.

Approved question

FieldReviewed value
ServiceSeasonal input voucher application
Decision ownerAgricultural support programme
Registry authorityFarmer registry
RequesterRegistered voucher-service workload
PurposeConfirm current farmer registration for this application
Claimfarmer.registration.active
Permitted disclosurepredicate
Must not discloseSource row, name, contact details, land parcels, household data

Evidence Gateway review view

Current audit conceptSanitized observation
event_id and occurred_atOne bounded event and UTC time are present
principal_id_hashA keyed pseudonym identifies the admitted workload without storing its raw identifier in this view
scopes_usedThe configured claim-read scope was exercised
purposesThe approved voucher-review purpose was recorded
claim_hash and policy_hashThe evaluated claim and policy configuration are bound without copying their sensitive content
decision and statusEvaluation allowed and returned success
relay_consultation_countOne Relay consultation supported the evaluation
relay_consultation_idsThe restricted correlation identifier is available to the reviewer
redacted_fieldsNo unexpected value fields were released

Relay review view

Current audit conceptSanitized observation
request_idThe consultation request has a server-owned correlation identifier
principal_id and auth_modeThe configured Evidence Gateway workload was authenticated through the approved mode
dataset_id and route contextThe farmer-registration dataset and declared consultation path were used
scopes_used and purposeThe expected dataset scope and purpose were checked
Policy identifiers and hashesThe governed access policy and evaluated rules can be identified where the PDP profile is used
status_code, row_count, and error_codeThe request outcome is distinguishable from a denial or source error
Envelope hashesThe event is retained in the Relay audit chain

Result and decision

The Evidence Gateway response disclosed a predicate. The reviewer can establish that the source row was not returned through that response.

The agricultural support programme then made its own voucher decision. That decision belongs in the programme’s case record. Registry Stack audit evidence does not replace it.

This separation is intentional:

Registry Stack evidence:
  who asked + under which policy + which source consultation + what was returned

Programme decision record:
  how the evidence and other case facts produced an approval, denial, or action

What the evidence cannot prove by itself

A careful review ends with non-guarantees:

  • Source truth: Relay reports what the configured source consultation produced. It does not prove that the source record is factually correct or current.
  • Legal authority: Configuration can encode reviewed rules. It cannot establish the legal basis or institutional mandate that justified them.
  • Consumer behaviour: A minimized response does not prove that the consuming service used it properly or deleted its own retained data.
  • Complete history: A local chain needs protected keys, retention, and appropriate off-host evidence to support stronger continuity claims.
  • Secure operation: Key custody, transport security, rate limiting, monitoring, backup, tenant separation, and incident response remain deployment responsibilities.
  • General standards conformance: A standards-shaped response or configured protocol profile is not certification by an external standards body.

These limits do not make audit evidence unhelpful. They prevent the evidence from being asked to prove more than it contains.

The minimum review packet

For a pilot, request these eight items:

  1. The approved registry-question worksheet.
  2. The source authority and consuming-service decision owner.
  3. The compiled route, consultation, claim, and disclosure configuration relevant to the scenario.
  4. One allowed request and one denial.
  5. One no_match, ambiguity, or source-failure path where the scenario permits safe testing.
  6. The corresponding Relay and Evidence Gateway audit records, sanitized through the approved review process.
  7. Evidence that the retained chains verify and that the deployment’s shipping or anchoring posture matches its claim.
  8. The consumer’s own decision record showing how the evidence was used.

If a project cannot assemble this packet with synthetic data, it is not ready to claim reviewable operation with real registry records.

For the implementation details, read the Registry Stack security model, evidence issuance explanation, and known limitations inventory.