{
  "id": "humanmirror.transaction-integrity.v1",
  "authority": "HumanMirror",
  "version": "1.1.0",
  "status": "live",
  "category": "independent-agent-transaction-integrity",
  "canonical_url": "https://humanmirror.fr/.well-known/transaction-integrity.json",
  "purpose": "Provide a portable, machine-readable integrity boundary around consequential autonomous-agent actions: authorize before execution, reconcile after execution, and separate manufactured or affiliated activity from independent external evidence.",
  "positioning": {
    "is": "an independent transaction-integrity and action-authorization layer",
    "is_not": [
      "a wallet",
      "a facilitator",
      "a generic x402 marketplace",
      "a substitute for the execution provider"
    ],
    "works_with": [
      "x402",
      "AP2",
      "UCP",
      "MCP",
      "A2A",
      "HTTP APIs",
      "agent wallets",
      "agent marketplaces"
    ]
  },
  "proof_classes": [
    {
      "id": "SELF",
      "description": "Initiator/payer and beneficiary/operator are controlled by the same entity or the transaction is explicitly a self-test.",
      "counts_as_independent_adoption": false,
      "requires_external_initiation": false,
      "requires_independent_payer_evidence": false
    },
    {
      "id": "AFFILIATED",
      "description": "Initiator or payer is externally represented but has a known operational, ownership, test or promotional affiliation with the beneficiary/operator.",
      "counts_as_independent_adoption": false,
      "requires_external_initiation": true,
      "requires_independent_payer_evidence": false
    },
    {
      "id": "EXTERNAL",
      "description": "The action or payment was initiated outside HumanMirror and no self-test is declared, but payer independence is not yet sufficiently evidenced.",
      "counts_as_independent_adoption": false,
      "requires_external_initiation": true,
      "requires_independent_payer_evidence": false
    },
    {
      "id": "INDEPENDENT",
      "description": "Externally initiated activity with evidence sufficient to distinguish the payer/initiator from HumanMirror and affiliated operators.",
      "counts_as_independent_adoption": true,
      "requires_external_initiation": true,
      "requires_independent_payer_evidence": true
    }
  ],
  "integrity_loop": {
    "before_execution": {
      "name": "Safe Preflight",
      "endpoint": "https://humanmirror.fr/api/x402/safe-preflight/",
      "outcomes": [
        "ALLOW",
        "REVIEW",
        "BLOCK"
      ],
      "binds": [
        "declared_intent",
        "proposed_action",
        "payment_terms",
        "authorization_context"
      ]
    },
    "after_execution": {
      "name": "Execution Receipt",
      "endpoint": "https://humanmirror.fr/api/x402/execution-receipt/",
      "proof": "Reconcile intended and observed execution as MATCH or DRIFT when sufficient evidence is supplied."
    }
  },
  "reporting_rules": {
    "independent_adoption_metric": "Only INDEPENDENT proof-class events may be labeled independent adoption.",
    "self_test_rule": "SELF and AFFILIATED activity may be used for interoperability and reliability testing but must not be represented as independent customer adoption.",
    "unknown_rule": "When independence cannot be evidenced, classify as EXTERNAL rather than upgrading to INDEPENDENT."
  },
  "payment": {
    "protocol": "x402",
    "network": "eip155:8453",
    "asset": "USDC"
  },
  "universal_authorization": {
    "name": "HumanMirror Universal Authorization Envelope",
    "endpoint": "https://humanmirror.fr/api/authorization/evaluate/",
    "supported_contexts": [
      "generic",
      "x402",
      "ap2",
      "ucp",
      "mcp",
      "a2a"
    ],
    "decisions": [
      "ALLOW",
      "REVIEW",
      "BLOCK"
    ],
    "binds": [
      "intent",
      "action",
      "payment",
      "authorization",
      "policy"
    ],
    "closes_with": "https://humanmirror.fr/api/value/close/",
    "settlement_authority": false,
    "native_protocol_conformance_claim": false,
    "purpose": "Create one neutral authorization boundary across heterogeneous agent runtimes and payment/commerce protocols without replacing their native signature, wallet, mandate or settlement authority."
  },
  "market_position": {
    "layer": "above transport and payment rails",
    "role": "neutral authorization, policy enforcement and execution-integrity evidence",
    "native_authorities_remain_external": true
  }
}
