Research

Cryptographic Evidence of Human Oversight Under the EU AI Act

Historical technical paperPublished Revised 02 of 03

Technical abstract. Human oversight becomes difficult to evidence when an autonomous system can generate proposals whose execution is separated in time, service, and identity domain from the human decision that authorized them. A natural-language transcript can document conversation, but it does not inherently bind an approver's identity, authentication strength, approval time, policy version, exact machine payload, and eventual connector request into one verifiable object. This historical payment design examines a cryptographically committed approval transition while preserving the distinction between evidence of a control and proof of regulatory compliance.

Conversation is not an exact control binding

A message thread may carry evidentiary value, but it does not by itself bind the final connector request to an identity provider, authentication strength, policy version, or exact machine payload.

Native payment controls already cover substantial ground. Modern Treasury documents approval rules, reviewer groups and sequential approval chains. The engineering question is what exact request those controls authorize and how that authority is checked at dispatch, not whether approval systems exist.

Verifier questionConversation aloneDigest-bound evidence
What exact payload was approved?Usually implicit or mutableCanonical payload digest
Who authenticated the approver?Often outside the artifactValidated issuer and subject binding
Was authentication fresh and stepped up?Usually not expressedauth_time, max_age, acr, and amr policy
Did the connector receive identical parameters?Not cryptographically boundConnector recomputes and compares the digest
Can a third party verify offline?Usually needs the vendor accountPortable evidence and trust material

A proposal and a separate enforcement boundary

In this conceptual architecture, the AI agent proposes an exact payload. Policy and authenticated human approvals create authority. A connector verifies that authority before dispatch. This boundary depends on the agent lacking another credential or write path.

AI PREPARER01DIGEST02OIDC STEP-UP03HUMAN QUORUM04ES25605CONNECTOR06EFFECT07
proposer-manifest.json
{
  "type": "nikxius.proposer-manifest.v1",
  "intent_id": "018f...uuid",
  "agent": {
    "agent_id": "payables-agent-prod",
    "model_class": "declared-by-deployer"
  },
  "prompt_sha256": "base64url(32-byte-digest)",
  "proposed_payload_sha256": "base64url(32-byte-digest)",
  "policy_sha256": "base64url(32-byte-digest)",
  "created_at": "2026-09-03T10:15:32Z"
}

The prompt hash commits to supplied bytes if those bytes are later produced. It does not reveal the prompt, establish that the prompt was truthful, or prove what an AI reasoned.

OIDC step-up identity binding

Under OpenID Connect Core, the relying party validates the token signature, issuer, audience, nonce, expiration and authentication time as required by its flow. It then checks the required authentication context and accepted authentication methods under the organization's identity-provider policy. Requesting acr_values alone does not establish that the requested assurance was achieved.

human step-up sequence
1. Build exact execution manifest M.
2. Compute dM = SHA256(JCS(M)).
3. Render the high-consequence fields of M to the human.
4. Initiate OIDC authentication with fresh nonce, max_age, and acr_values.
5. Validate signature, iss, aud, nonce, exp, auth_time, acr, and amr.
6. Obtain an explicit APPROVE or REJECT action.
7. Create approval A_j bound to dM.
8. Repeat until the policy-defined quorum is satisfied.
9. Persist intent and the approval-set digest.
10. Issue the short-lived execution authorization.
human-approval.json
{
  "type": "nikxius.human-approval.v1",
  "intent_id": "018f...uuid",
  "effect_digest": "sha256:...",
  "policy_digest": "sha256:...",
  "decision": "APPROVE",
  "identity": {
    "oidc_issuer": "issuer-identifier",
    "oidc_subject": "subject-identifier",
    "auth_time": 1788429887,
    "acr": "enterprise-defined-assurance-context",
    "amr": ["mfa", "hwk"]
  },
  "approval_nonce": "base64url(...)",
  "approved_at": "2026-09-03T10:18:14Z"
}

A valid approval is a conjunction

Authentication is necessary but does not prove that the user approved a particular payment. The approval record must bind identity facts and an explicit decision to the final effect and policy digests.

ValidApproval_j = ValidOIDC_j ∧ ExplicitDecision_j ∧ (effect_digest_j = d_M) ∧ (policy_digest_j = d_P)
Q(A) = |{ subject(A_j) : ValidApproval_j ∧ RoleEligible(A_j) }| ≥ n

In this design, the quorum counts distinct authenticated subjects and policy excludes the proposer from approving the same action. Repeated clicks by one identity do not satisfy multiple quorum seats. Distinct accounts do not, by themselves, establish independent human judgment.

Final enforcement at the connector

connector boundary pseudocode
function enforce(request, authorization):
    require authorization.alg == ES256
    require trusted_authorization_key(authorization.kid)
    require verify_signature(authorization)

    M  := canonicalize_connector_request(request)
    dM := SHA256(JCS(M))

    require dM == authorization.effect_digest
    require current_intent.state == AUTHORIZATION_ISSUED
    require authorization.intent_id == current_intent.id
    require authorization.policy_digest == current_intent.policy_digest
    require authorization.approval_set_digest == current_intent.approval_set_digest
    require authorization.idempotency_key == current_intent.idempotency_key
    require authorization not expired
    require no prior terminal failure forbids execution

    dispatch using persisted idempotency key

If an intermediate service substitutes a beneficiary account covered by the canonical manifest, the digest changes. A correctly implemented connector rejects the mismatch. This depends on complete field coverage, correct canonicalization, trusted keys and enforcement on every permitted write path.

Evidence of control is not proof of judgment

The proposed construction can bind recorded identity evidence and an explicit approval to a particular payload, policy and authorization. Its assurance depends on identity validation, capture and connector enforcement. Cryptographic consistency does not independently prove that every recorded event occurred, that the human understood the action, or that the organization complied with applicable law.

Primary references

This is Nikxius’s technical synthesis of the original provider documentation, standards and official materials cited below. They support the specific mechanisms attributed to them; they do not endorse Nikxius or validate this conceptual construction. Living documentation may change after the stated review date.