{
  "tenantId": "tenant-demo",
  "mode": "ENFORCE",
  "pricingPublished": false,
  "controls": {
    "agentRegister": [
      {
        "agent_id": "agent-compliance-auditor",
        "tenant_id": "tenant-demo",
        "name": "Automated GDPR & AI Act Audit Agent",
        "owner_human_id": "elena.rossi@acme-demo.invalid",
        "owner_assigned": true,
        "purpose": "Reviews retention schedules and queues verified erasure requests for DPO sign-off",
        "framework": "mcp",
        "model": "gemini-3.1-pro",
        "environment": "production",
        "risk_classification": "HIGH",
        "approval_threshold_tier": "T3",
        "status": "ACTIVE",
        "created_at": "2026-11-07T00:42:32.970Z",
        "session_count": 1,
        "call_count": 1,
        "held_count": 1,
        "peak_risk_score": 0
      },
      {
        "agent_id": "agent-customer-triage",
        "tenant_id": "tenant-demo",
        "name": "Customer Support Triage Agent",
        "owner_human_id": "sarah.chen@acme-demo.invalid",
        "owner_assigned": true,
        "purpose": "Triages inbound customer support tickets, reads CRM records, and drafts customer replies",
        "framework": "mcp",
        "model": "claude-sonnet-4-6",
        "environment": "production",
        "risk_classification": "HIGH",
        "approval_threshold_tier": "T2",
        "status": "ACTIVE",
        "created_at": "2026-11-07T00:42:32.967Z",
        "session_count": 1,
        "call_count": 3,
        "held_count": 1,
        "peak_risk_score": 20
      },
      {
        "agent_id": "agent-treasury-ops",
        "tenant_id": "tenant-demo",
        "name": "Treasury & Billing Operations Agent",
        "owner_human_id": "marcus.vance@acme-demo.invalid",
        "owner_assigned": true,
        "purpose": "Prepares customer billing adjustments, status posts, and refund workflows under human sign-off",
        "framework": "mcp",
        "model": "gpt-5.4",
        "environment": "production",
        "risk_classification": "HIGH",
        "approval_threshold_tier": "T2",
        "status": "ACTIVE",
        "created_at": "2026-11-07T00:42:32.970Z",
        "session_count": 1,
        "call_count": 3,
        "held_count": 2,
        "peak_risk_score": 25
      }
    ],
    "approvalThresholdsAndQueue": [
      {
        "approval_id": "2d2da9d6-09df-4d51-8bd0-012a566dd615",
        "tenant_id": "tenant-demo",
        "call_id": "call-demo-005",
        "agent_id": "agent-treasury-ops",
        "human_id": "marcus.vance@acme-demo.invalid",
        "session_id": "sess-treasury-002",
        "server_id": "3171ad1a-71d5-4e38-8083-9621102c2632",
        "tool_name": "issue_refund",
        "tier": "T3",
        "action_hash": "d768fb20edf4f24a6ddac4f654f19bd41bbccf8bfde67a363983d7752068b696",
        "arguments_redacted": "{\"customerId\":\"cust-8841\",\"amountUnits\":1250}",
        "destination": null,
        "data_classes": "[\"CUSTOMER_DATA\"]",
        "reason": "Refund amount is at or above the 500 unit threshold; held for human sign-off. [rule high-value-refund-approval-threshold]",
        "policy_triggered": "[\"high-value-refund-approval-threshold\"]",
        "risk_score": 25,
        "status": "PENDING",
        "requested_at": "2026-11-07T00:42:32.995Z",
        "expires_at": "2026-11-07T00:57:32.995Z",
        "decided_at": null,
        "decided_by": null,
        "decision": null,
        "consumed_at": null,
        "modified_arguments": null
      },
      {
        "approval_id": "a8255bfe-ccb6-4c31-b09e-c3e081487a69",
        "tenant_id": "tenant-demo",
        "call_id": "call-demo-006",
        "agent_id": "agent-compliance-auditor",
        "human_id": "elena.rossi@acme-demo.invalid",
        "session_id": "sess-compliance-003",
        "server_id": "3171ad1a-71d5-4e38-8083-9621102c2632",
        "tool_name": "delete_customer",
        "tier": "T4",
        "action_hash": "d71ea49cede51e7761e6bc336ed2e5307c5c03c9255eac5873467bf53bab6c36",
        "arguments_redacted": "{\"customerId\":\"cust-closed-2019\"}",
        "destination": null,
        "data_classes": "[\"CUSTOMER_DATA\"]",
        "reason": "Agent \"Automated GDPR & AI Act Audit Agent\" approval threshold (T3) holds T4 tool \"delete_customer\" for human sign-off by owner elena.rossi@acme-demo.invalid.",
        "policy_triggered": "[\"TIER_REQUIRES_APPROVAL\"]",
        "risk_score": 0,
        "status": "PENDING",
        "requested_at": "2026-11-07T00:42:32.995Z",
        "expires_at": "2026-11-07T00:57:32.995Z",
        "decided_at": null,
        "decided_by": null,
        "decision": null,
        "consumed_at": null,
        "modified_arguments": null
      },
      {
        "approval_id": "26344be6-b890-4359-add1-f66ea5c53455",
        "tenant_id": "tenant-demo",
        "call_id": "call-demo-004a",
        "agent_id": "agent-treasury-ops",
        "human_id": "marcus.vance@acme-demo.invalid",
        "session_id": "sess-treasury-002",
        "server_id": "3171ad1a-71d5-4e38-8083-9621102c2632",
        "tool_name": "external_post",
        "tier": "T2",
        "action_hash": "245060b1a2b454ffa6717c0835f13deffe89a37fc073eba5b719c20a182d754c",
        "arguments_redacted": "{\"channel\":\"status-webhook\",\"message\":\"Scheduled settlement maintenance window 22:00 UTC.\"}",
        "destination": null,
        "data_classes": "[]",
        "reason": "Agent \"Treasury & Billing Operations Agent\" approval threshold (T2) holds T2 tool \"external_post\" for human sign-off by owner marcus.vance@acme-demo.invalid.",
        "policy_triggered": "[\"TIER_REQUIRES_APPROVAL\"]",
        "risk_score": 0,
        "status": "CONSUMED",
        "requested_at": "2026-11-07T00:42:32.994Z",
        "expires_at": "2026-11-07T00:57:32.994Z",
        "decided_at": "2026-11-07T00:42:32.994Z",
        "decided_by": "marcus.vance@acme-demo.invalid",
        "decision": "APPROVE_ONCE",
        "consumed_at": "2026-11-07T00:42:32.994Z",
        "modified_arguments": null
      },
      {
        "approval_id": "9ace16ed-8e5b-4c51-b4d9-ce5bdfeb5461",
        "tenant_id": "tenant-demo",
        "call_id": "call-demo-003",
        "agent_id": "agent-customer-triage",
        "human_id": "sarah.chen@acme-demo.invalid",
        "session_id": "sess-triage-001",
        "server_id": "3171ad1a-71d5-4e38-8083-9621102c2632",
        "tool_name": "send_email",
        "tier": "T2",
        "action_hash": "fb889c273cbd287a14bd0d8a7d6784347aac9ac566aebedf8031ecb1f81c12e0",
        "arguments_redacted": "{\"recipients\":[\"stakeholder1@acme-demo.invalid\",\"stakeholder2@acme-demo.invalid\",\"stakeholder3@acme-demo.invalid\",\"stakeholder4@acme-demo.invalid\",\"stakeholder5@acme-demo.invalid\",\"stakeholder6@acme-demo.invalid\",\"stakeholder7@acme-demo.invalid\",\"stakeholder8@acme-demo.invalid\",\"stakeholder9@acme-demo.invalid\",\"stakeholder10@acme-demo.invalid\",\"stakeholder11@acme-demo.invalid\",\"stakeholder12@acme-demo.invalid\",\"stakeholder13@acme-demo.invalid\",\"stakeholder14@acme-demo.invalid\",\"stakeholder15@acme-demo.invalid\",\"stakeholder16@acme-demo.invalid\",\"stakeholder17@acme-demo.invalid\",\"stakeholder18@acme-demo.invalid\",\"stakeholder19@acme-demo.invalid\",\"stakeholder20@acme-demo.invalid\",\"stakeholder21@acme-demo.invalid\",\"stakeholder22@acme-demo.invalid\",\"stakeholder23@acme-demo.invalid\",\"stakeholder24@acme-demo.invalid\"],\"subject\":\"Service incident notice — batch distribution\"}",
        "destination": null,
        "data_classes": "[\"PERSONAL_DATA\"]",
        "reason": "Bulk send to 20 or more recipients requires human approval. [rule approval-for-bulk-recipients]",
        "policy_triggered": "[\"approval-for-bulk-recipients\"]",
        "risk_score": 20,
        "status": "PENDING",
        "requested_at": "2026-11-07T00:42:32.993Z",
        "expires_at": "2026-11-07T00:57:32.993Z",
        "decided_at": null,
        "decided_by": null,
        "decision": null,
        "consumed_at": null,
        "modified_arguments": null
      }
    ],
    "reconstructedActionLog": {
      "tenantId": "tenant-demo",
      "generatedAt": "2026-11-07T02:30:56.251Z",
      "auditIntegrity": {
        "ok": true,
        "checked": 48,
        "brokenAtSeq": null,
        "detail": "48 events verified"
      },
      "totalActions": 7,
      "agents": [
        {
          "agentId": "agent-compliance-auditor",
          "name": "Automated GDPR & AI Act Audit Agent",
          "ownerHumanId": "elena.rossi@acme-demo.invalid",
          "approvalThresholdTier": "T3",
          "model": "gemini-3.1-pro",
          "environment": "production",
          "status": "ACTIVE"
        },
        {
          "agentId": "agent-customer-triage",
          "name": "Customer Support Triage Agent",
          "ownerHumanId": "sarah.chen@acme-demo.invalid",
          "approvalThresholdTier": "T2",
          "model": "claude-sonnet-4-6",
          "environment": "production",
          "status": "ACTIVE"
        },
        {
          "agentId": "agent-treasury-ops",
          "name": "Treasury & Billing Operations Agent",
          "ownerHumanId": "marcus.vance@acme-demo.invalid",
          "approvalThresholdTier": "T2",
          "model": "gpt-5.4",
          "environment": "production",
          "status": "ACTIVE"
        }
      ],
      "timeline": [
        {
          "seq": 1,
          "callId": "call-demo-001",
          "correlationId": "corr-triage-ticket-402",
          "sessionId": "sess-triage-001",
          "at": "2026-11-07T00:42:32.979Z",
          "agentId": "agent-customer-triage",
          "agentName": "Customer Support Triage Agent",
          "ownerHumanId": "sarah.chen@acme-demo.invalid",
          "humanPrincipal": "sarah.chen@acme-demo.invalid",
          "serverId": "3171ad1a-71d5-4e38-8083-9621102c2632",
          "serverName": "crm-core",
          "toolId": "0a34ca6b-7b6b-46e0-85d9-ba668ce438c6",
          "toolName": "read_customer",
          "tier": "T0",
          "decision": "ALLOW_WITH_MODIFICATION",
          "effective": "ALLOW_WITH_MODIFICATION",
          "enforced": true,
          "reasonCodes": [
            "ARGUMENT_TRANSFORMED",
            "POLICY_ALLOW"
          ],
          "explanation": "Read was bounded to an approved row limit and approved columns. [rule limit-bulk-record-reads] Read-only observation on an approved server. [rule allow-readonly-observation]",
          "riskScore": 0,
          "requestHash": "622fcf56b4ef29d89124587574ef163008bdbd7b3ad599c35880ec63d74febfd",
          "forwardedHash": "6c3df556a43ea5df4777c5fb49d38990ccc8baa79c5114b100c854438f1a8e2c",
          "responseHash": "2d15693dcf1c7f4c9b399f6352d0c2edb98aaa3b1f2622e5ba39f1e02d82e8e2",
          "redactions": [],
          "transformations": [
            {
              "rule": "limit-bulk-record-reads",
              "path": "$.limit",
              "why": "Read was bounded to an approved row limit and approved columns.",
              "before": "null",
              "after": "100"
            },
            {
              "rule": "limit-bulk-record-reads",
              "path": "$.columns",
              "why": "Read was bounded to an approved row limit and approved columns.",
              "before": "null",
              "after": "[\"id\",\"name\",\"status\",\"created_at\"]"
            }
          ],
          "status": "OK",
          "approval": null,
          "auditEvents": [
            {
              "seq": 33,
              "eventId": "ff287367-15d3-47cb-bfcc-d7f6038ab45b",
              "action": "tool.call",
              "status": "ALLOW_WITH_MODIFICATION",
              "previousHash": "98327d96e1688bbed2f79d7b64b9997441107bcc7b9611b13c377fe9d965fc7b",
              "hash": "345ff9e8feb11f0c008d9477c8b291bc554ca809fe497e3ffae74558bc1cd58a"
            },
            {
              "seq": 34,
              "eventId": "f15f3c53-d03c-41fd-ab61-b5b535199857",
              "action": "tool.response",
              "status": "OK",
              "previousHash": "345ff9e8feb11f0c008d9477c8b291bc554ca809fe497e3ffae74558bc1cd58a",
              "hash": "a5b40de0380b08c3b3a2c38708935f6f36106cc62e78fa294a77d41f50d6ea2c"
            }
          ]
        },
        {
          "seq": 2,
          "callId": "call-demo-002",
          "correlationId": "corr-triage-ticket-402",
          "sessionId": "sess-triage-001",
          "at": "2026-11-07T00:42:32.982Z",
          "agentId": "agent-customer-triage",
          "agentName": "Customer Support Triage Agent",
          "ownerHumanId": "sarah.chen@acme-demo.invalid",
          "humanPrincipal": "sarah.chen@acme-demo.invalid",
          "serverId": "3171ad1a-71d5-4e38-8083-9621102c2632",
          "serverName": "crm-core",
          "toolId": "b2c71f62-d0fc-4626-ab15-edff99f4d739",
          "toolName": "create_note",
          "tier": "T1",
          "decision": "ALLOW",
          "effective": "ALLOW",
          "enforced": true,
          "reasonCodes": [
            "POLICY_ALLOW"
          ],
          "explanation": "Internal write with no external effect. [rule allow-internal-notes]",
          "riskScore": 0,
          "requestHash": "58b32d5efc875a23a92aed2d054d3f13adab9396808a8787b2c3d25499e0c4a5",
          "forwardedHash": "58b32d5efc875a23a92aed2d054d3f13adab9396808a8787b2c3d25499e0c4a5",
          "responseHash": "842bcac815350dfffe84e37ee5af56dcf955770005ef3c648d522ae15bb0b8a9",
          "redactions": [],
          "transformations": [],
          "status": "OK",
          "approval": null,
          "auditEvents": [
            {
              "seq": 35,
              "eventId": "21af7a30-a31a-481b-becb-db9cafa962bf",
              "action": "tool.call",
              "status": "ALLOW",
              "previousHash": "a5b40de0380b08c3b3a2c38708935f6f36106cc62e78fa294a77d41f50d6ea2c",
              "hash": "ca2fc2c594f08e020fcab8c77ca601011a45ccd3c8f5c79f4e4f3d75ea79d913"
            },
            {
              "seq": 36,
              "eventId": "860b4d1f-eac5-46bb-ad4c-ae5c6cbd721d",
              "action": "tool.response",
              "status": "OK",
              "previousHash": "ca2fc2c594f08e020fcab8c77ca601011a45ccd3c8f5c79f4e4f3d75ea79d913",
              "hash": "9ba605d17941d5d21048107e698192b81ee8ae134a3ec614d2bf9544aa39206e"
            }
          ]
        },
        {
          "seq": 3,
          "callId": "call-demo-003",
          "correlationId": "corr-triage-ticket-402",
          "sessionId": "sess-triage-001",
          "at": "2026-11-07T00:42:32.983Z",
          "agentId": "agent-customer-triage",
          "agentName": "Customer Support Triage Agent",
          "ownerHumanId": "sarah.chen@acme-demo.invalid",
          "humanPrincipal": "sarah.chen@acme-demo.invalid",
          "serverId": "3171ad1a-71d5-4e38-8083-9621102c2632",
          "serverName": "crm-core",
          "toolId": "40a7fe9a-bd13-404a-b174-17b7e9defb34",
          "toolName": "send_email",
          "tier": "T2",
          "decision": "REQUIRE_APPROVAL",
          "effective": "REQUIRE_APPROVAL",
          "enforced": true,
          "reasonCodes": [
            "TIER_REQUIRES_APPROVAL"
          ],
          "explanation": "Bulk send to 20 or more recipients requires human approval. [rule approval-for-bulk-recipients]",
          "riskScore": 20,
          "requestHash": "51c106db8dc8105d2084cf62dc407ffb171b5b2b6ae45bcd9f2df9328c312c33",
          "forwardedHash": "51c106db8dc8105d2084cf62dc407ffb171b5b2b6ae45bcd9f2df9328c312c33",
          "responseHash": null,
          "redactions": [],
          "transformations": [],
          "status": "REQUIRE_APPROVAL",
          "approval": {
            "approvalId": "9ace16ed-8e5b-4c51-b4d9-ce5bdfeb5461",
            "status": "PENDING",
            "requestedAt": "2026-11-07T00:42:32.993Z",
            "decidedBy": null,
            "decidedAt": null,
            "decision": null,
            "consumedAt": null
          },
          "auditEvents": [
            {
              "seq": 37,
              "eventId": "21f5f26b-0dc3-46fd-afda-17af160f2c3d",
              "action": "approval.requested",
              "status": "PENDING",
              "previousHash": "9ba605d17941d5d21048107e698192b81ee8ae134a3ec614d2bf9544aa39206e",
              "hash": "99e5e608f7d82889329da392dda85b83a32f924bfef670f36c0d3ed4b857a162"
            },
            {
              "seq": 38,
              "eventId": "3b7e7aec-b9ef-4990-a88e-ffff5ffdbf2c",
              "action": "tool.call",
              "status": "REQUIRE_APPROVAL",
              "previousHash": "99e5e608f7d82889329da392dda85b83a32f924bfef670f36c0d3ed4b857a162",
              "hash": "4928f34ad2bcfab45db6ed6867125b0c3741ae6e08b43846b29687e0370eb798"
            }
          ]
        },
        {
          "seq": 4,
          "callId": "call-demo-004a",
          "correlationId": "corr-treasury-settlement-108",
          "sessionId": "sess-treasury-002",
          "at": "2026-11-07T00:42:32.993Z",
          "agentId": "agent-treasury-ops",
          "agentName": "Treasury & Billing Operations Agent",
          "ownerHumanId": "marcus.vance@acme-demo.invalid",
          "humanPrincipal": "marcus.vance@acme-demo.invalid",
          "serverId": "3171ad1a-71d5-4e38-8083-9621102c2632",
          "serverName": "crm-core",
          "toolId": "a65d2ae9-5cba-4a54-801f-6b62bf7e0ca7",
          "toolName": "external_post",
          "tier": "T2",
          "decision": "REQUIRE_APPROVAL",
          "effective": "REQUIRE_APPROVAL",
          "enforced": true,
          "reasonCodes": [
            "TIER_REQUIRES_APPROVAL"
          ],
          "explanation": "Agent \"Treasury & Billing Operations Agent\" approval threshold (T2) holds T2 tool \"external_post\" for human sign-off by owner marcus.vance@acme-demo.invalid.",
          "riskScore": 0,
          "requestHash": "4fc5ca462ee373e4cdacfd83fb73adcd6c80a990d9003b76fb5a097ead2bb1a4",
          "forwardedHash": "4fc5ca462ee373e4cdacfd83fb73adcd6c80a990d9003b76fb5a097ead2bb1a4",
          "responseHash": null,
          "redactions": [],
          "transformations": [],
          "status": "REQUIRE_APPROVAL",
          "approval": {
            "approvalId": "26344be6-b890-4359-add1-f66ea5c53455",
            "status": "CONSUMED",
            "requestedAt": "2026-11-07T00:42:32.994Z",
            "decidedBy": "marcus.vance@acme-demo.invalid",
            "decidedAt": "2026-11-07T00:42:32.994Z",
            "decision": "APPROVE_ONCE",
            "consumedAt": "2026-11-07T00:42:32.994Z"
          },
          "auditEvents": [
            {
              "seq": 39,
              "eventId": "ead4ffad-522d-4f4b-97bc-292f270a3677",
              "action": "approval.requested",
              "status": "PENDING",
              "previousHash": "4928f34ad2bcfab45db6ed6867125b0c3741ae6e08b43846b29687e0370eb798",
              "hash": "f4fd25a9ca5fea279de8ad59b83d94b46f9c667f255d983cc940101e1489ed7a"
            },
            {
              "seq": 40,
              "eventId": "ecaa08d4-da63-4c0c-9b6c-fbc3dd0b6557",
              "action": "tool.call",
              "status": "REQUIRE_APPROVAL",
              "previousHash": "f4fd25a9ca5fea279de8ad59b83d94b46f9c667f255d983cc940101e1489ed7a",
              "hash": "717cfe46a57bd73bb73b195ea1db73c5a5472399d3a5b60978bf4c9bfa680b71"
            },
            {
              "seq": 41,
              "eventId": "ab6f30c5-669d-4219-8499-e31a43d13521",
              "action": "approval.decided",
              "status": "APPROVED",
              "previousHash": "717cfe46a57bd73bb73b195ea1db73c5a5472399d3a5b60978bf4c9bfa680b71",
              "hash": "61a36584c98140065ec4b25d3344543b146a57c30aa1bcf2081d92398ef902f1"
            },
            {
              "seq": 42,
              "eventId": "e437ff69-5fce-4d6e-850e-36087d0f9b7e",
              "action": "approval.consumed",
              "status": "OK",
              "previousHash": "61a36584c98140065ec4b25d3344543b146a57c30aa1bcf2081d92398ef902f1",
              "hash": "d540d5e1ab8edcf82d1d931bc8c4061c65e365b860f1ba34987d35dd4ff13e71"
            },
            {
              "seq": 43,
              "eventId": "21322e7a-f4b6-439f-84d5-4b4d1437b0b1",
              "action": "tool.call",
              "status": "ALLOW",
              "previousHash": "d540d5e1ab8edcf82d1d931bc8c4061c65e365b860f1ba34987d35dd4ff13e71",
              "hash": "d6dc5fddcc18a033750a9c6f8ba81b415d5e0af671b414c0731114fdb90e8a06"
            }
          ]
        },
        {
          "seq": 5,
          "callId": "call-demo-004b",
          "correlationId": "corr-treasury-settlement-108",
          "sessionId": "sess-treasury-002",
          "at": "2026-11-07T00:42:32.994Z",
          "agentId": "agent-treasury-ops",
          "agentName": "Treasury & Billing Operations Agent",
          "ownerHumanId": "marcus.vance@acme-demo.invalid",
          "humanPrincipal": "marcus.vance@acme-demo.invalid",
          "serverId": "3171ad1a-71d5-4e38-8083-9621102c2632",
          "serverName": "crm-core",
          "toolId": "a65d2ae9-5cba-4a54-801f-6b62bf7e0ca7",
          "toolName": "external_post",
          "tier": "T2",
          "decision": "ALLOW",
          "effective": "ALLOW",
          "enforced": true,
          "reasonCodes": [
            "TIER_REQUIRES_APPROVAL",
            "APPROVAL_GRANTED"
          ],
          "explanation": "Agent \"Treasury & Billing Operations Agent\" approval threshold (T2) holds T2 tool \"external_post\" for human sign-off by owner marcus.vance@acme-demo.invalid. A valid, unconsumed approval bound to this exact action was presented.",
          "riskScore": 0,
          "requestHash": "4fc5ca462ee373e4cdacfd83fb73adcd6c80a990d9003b76fb5a097ead2bb1a4",
          "forwardedHash": "4fc5ca462ee373e4cdacfd83fb73adcd6c80a990d9003b76fb5a097ead2bb1a4",
          "responseHash": "33a1614d0d264eb0bdb5a2264ced16725e3d8f5ffd99146374be754888715a7e",
          "redactions": [],
          "transformations": [],
          "status": "OK",
          "approval": null,
          "auditEvents": [
            {
              "seq": 40,
              "eventId": "ecaa08d4-da63-4c0c-9b6c-fbc3dd0b6557",
              "action": "tool.call",
              "status": "REQUIRE_APPROVAL",
              "previousHash": "f4fd25a9ca5fea279de8ad59b83d94b46f9c667f255d983cc940101e1489ed7a",
              "hash": "717cfe46a57bd73bb73b195ea1db73c5a5472399d3a5b60978bf4c9bfa680b71"
            },
            {
              "seq": 43,
              "eventId": "21322e7a-f4b6-439f-84d5-4b4d1437b0b1",
              "action": "tool.call",
              "status": "ALLOW",
              "previousHash": "d540d5e1ab8edcf82d1d931bc8c4061c65e365b860f1ba34987d35dd4ff13e71",
              "hash": "d6dc5fddcc18a033750a9c6f8ba81b415d5e0af671b414c0731114fdb90e8a06"
            },
            {
              "seq": 44,
              "eventId": "440db8ab-46b4-4642-b34b-907ab75fe8f5",
              "action": "tool.response",
              "status": "OK",
              "previousHash": "d6dc5fddcc18a033750a9c6f8ba81b415d5e0af671b414c0731114fdb90e8a06",
              "hash": "750e16ce58729f103a499696393e919579c15c34c4751dd17996f8ef843c975a"
            }
          ]
        },
        {
          "seq": 6,
          "callId": "call-demo-005",
          "correlationId": "corr-treasury-refund-519",
          "sessionId": "sess-treasury-002",
          "at": "2026-11-07T00:42:32.995Z",
          "agentId": "agent-treasury-ops",
          "agentName": "Treasury & Billing Operations Agent",
          "ownerHumanId": "marcus.vance@acme-demo.invalid",
          "humanPrincipal": "marcus.vance@acme-demo.invalid",
          "serverId": "3171ad1a-71d5-4e38-8083-9621102c2632",
          "serverName": "crm-core",
          "toolId": "46f9658e-b91f-4771-9f32-161423dd069e",
          "toolName": "issue_refund",
          "tier": "T3",
          "decision": "REQUIRE_APPROVAL",
          "effective": "REQUIRE_APPROVAL",
          "enforced": true,
          "reasonCodes": [
            "TIER_REQUIRES_APPROVAL"
          ],
          "explanation": "Refund amount is at or above the 500 unit threshold; held for human sign-off. [rule high-value-refund-approval-threshold]",
          "riskScore": 25,
          "requestHash": "83476518f7baee4d3feee14e30f452e33d65e3e0a643d40519aa508a9c4378be",
          "forwardedHash": "83476518f7baee4d3feee14e30f452e33d65e3e0a643d40519aa508a9c4378be",
          "responseHash": null,
          "redactions": [],
          "transformations": [],
          "status": "REQUIRE_APPROVAL",
          "approval": {
            "approvalId": "2d2da9d6-09df-4d51-8bd0-012a566dd615",
            "status": "PENDING",
            "requestedAt": "2026-11-07T00:42:32.995Z",
            "decidedBy": null,
            "decidedAt": null,
            "decision": null,
            "consumedAt": null
          },
          "auditEvents": [
            {
              "seq": 45,
              "eventId": "ddba3cf7-3373-4955-a6e8-b2cd7fd66ec1",
              "action": "approval.requested",
              "status": "PENDING",
              "previousHash": "750e16ce58729f103a499696393e919579c15c34c4751dd17996f8ef843c975a",
              "hash": "cbf3b1321445b56e7770e0409907a75e8dcc897c8555930f01a2a2d1a8c84ed7"
            },
            {
              "seq": 46,
              "eventId": "bba3e3d4-755a-435f-ae3f-528edb1e36f1",
              "action": "tool.call",
              "status": "REQUIRE_APPROVAL",
              "previousHash": "cbf3b1321445b56e7770e0409907a75e8dcc897c8555930f01a2a2d1a8c84ed7",
              "hash": "b7541ebfe86d8422912202588996add078595bfbe6d032d009f96e94d62aab36"
            }
          ]
        },
        {
          "seq": 7,
          "callId": "call-demo-006",
          "correlationId": "corr-gdpr-erasure-304",
          "sessionId": "sess-compliance-003",
          "at": "2026-11-07T00:42:32.995Z",
          "agentId": "agent-compliance-auditor",
          "agentName": "Automated GDPR & AI Act Audit Agent",
          "ownerHumanId": "elena.rossi@acme-demo.invalid",
          "humanPrincipal": "elena.rossi@acme-demo.invalid",
          "serverId": "3171ad1a-71d5-4e38-8083-9621102c2632",
          "serverName": "crm-core",
          "toolId": "401bc2d0-c90e-4a03-b7a7-27a3075dec3f",
          "toolName": "delete_customer",
          "tier": "T4",
          "decision": "REQUIRE_APPROVAL",
          "effective": "REQUIRE_APPROVAL",
          "enforced": true,
          "reasonCodes": [
            "TIER_REQUIRES_APPROVAL"
          ],
          "explanation": "Agent \"Automated GDPR & AI Act Audit Agent\" approval threshold (T3) holds T4 tool \"delete_customer\" for human sign-off by owner elena.rossi@acme-demo.invalid.",
          "riskScore": 0,
          "requestHash": "83d1dd20694d46f3aae31348c704c6b11b1fd5039df7b17b86594f82fdfca748",
          "forwardedHash": "83d1dd20694d46f3aae31348c704c6b11b1fd5039df7b17b86594f82fdfca748",
          "responseHash": null,
          "redactions": [],
          "transformations": [],
          "status": "REQUIRE_APPROVAL",
          "approval": {
            "approvalId": "a8255bfe-ccb6-4c31-b09e-c3e081487a69",
            "status": "PENDING",
            "requestedAt": "2026-11-07T00:42:32.995Z",
            "decidedBy": null,
            "decidedAt": null,
            "decision": null,
            "consumedAt": null
          },
          "auditEvents": [
            {
              "seq": 47,
              "eventId": "22809043-acf5-49e5-8b96-cca74fb9985e",
              "action": "approval.requested",
              "status": "PENDING",
              "previousHash": "b7541ebfe86d8422912202588996add078595bfbe6d032d009f96e94d62aab36",
              "hash": "7a670071fe3a9c6cfe2d71c2bc35307db64b868e9bb3500e2d86923bef9a8680"
            },
            {
              "seq": 48,
              "eventId": "b268f8e4-51d2-456d-bf7d-49df2d7338ce",
              "action": "tool.call",
              "status": "REQUIRE_APPROVAL",
              "previousHash": "7a670071fe3a9c6cfe2d71c2bc35307db64b868e9bb3500e2d86923bef9a8680",
              "hash": "dd02af1bc7d8a0533d5a1fe245c3333b58ff97f69c3a403a3eeb28a1435ca716"
            }
          ]
        }
      ]
    },
    "mcpServerHealth": {
      "checkedAt": "2026-11-07T00:42:33.003Z",
      "total": 4,
      "totalServers": 4,
      "healthy": 1,
      "healthyCount": 1,
      "flagged": 3,
      "unauthenticated": 2,
      "unauthenticatedCount": 2,
      "dead": 2,
      "deadCount": 2,
      "flaggedServers": [
        {
          "serverId": "118cb32c-4b2a-4976-86c6-ddb649df144a",
          "name": "legacy-billing-http",
          "uri": "https://billing-mcp.internal.acme-demo.invalid/mcp",
          "transport": "streamable-http",
          "trustState": "RESTRICTED",
          "authState": "UNAUTHENTICATED",
          "livenessState": "ALIVE",
          "flagged": true,
          "flags": [
            "UNAUTHENTICATED"
          ],
          "detail": "Flagged: HTTP MCP endpoint responded 200 OK to unauthenticated JSON-RPC probe without Authorization or X-API-Key header.",
          "checkedAt": "2026-11-07T00:42:33.003Z"
        },
        {
          "serverId": "a36194f2-67f9-4d08-aa71-ec5f25cb4706",
          "name": "orphaned-erp-bridge",
          "uri": "https://erp-bridge.decommissioned.acme-demo.invalid/mcp",
          "transport": "streamable-http",
          "trustState": "QUARANTINED",
          "authState": "AUTHENTICATED",
          "livenessState": "DEAD",
          "flagged": true,
          "flags": [
            "DEAD"
          ],
          "detail": "Flagged: Liveness probe failed (ECONNREFUSED / upstream dead).",
          "checkedAt": "2026-11-07T00:42:33.003Z"
        },
        {
          "serverId": "94c6f883-5080-4ec8-8b39-b6fc856820ad",
          "name": "shadow-analytics-open",
          "uri": "http://127.0.0.1:59999/mcp?api_key=embedded_query_token",
          "transport": "streamable-http",
          "trustState": "DISCOVERED",
          "authState": "UNAUTHENTICATED",
          "livenessState": "DEAD",
          "flagged": true,
          "flags": [
            "UNAUTHENTICATED",
            "DEAD"
          ],
          "detail": "Credentials or tokens are embedded in the server URI rather than an authenticated header/broker. Credentials or tokens are embedded in the server URI rather than an authenticated header/broker. Flagged: Unauthenticated URL query credential pattern and dead loopback endpoint on port 59999.",
          "checkedAt": "2026-11-07T00:42:33.003Z"
        }
      ],
      "servers": [
        {
          "serverId": "3171ad1a-71d5-4e38-8083-9621102c2632",
          "name": "crm-core",
          "uri": "stdio://crm-mcp-server --tenant acme",
          "transport": "stdio",
          "trustState": "APPROVED",
          "authState": "AUTHENTICATED",
          "livenessState": "ALIVE",
          "flagged": false,
          "flags": [],
          "detail": "Authenticated and alive.",
          "checkedAt": "2026-11-07T00:42:33.003Z"
        },
        {
          "serverId": "118cb32c-4b2a-4976-86c6-ddb649df144a",
          "name": "legacy-billing-http",
          "uri": "https://billing-mcp.internal.acme-demo.invalid/mcp",
          "transport": "streamable-http",
          "trustState": "RESTRICTED",
          "authState": "UNAUTHENTICATED",
          "livenessState": "ALIVE",
          "flagged": true,
          "flags": [
            "UNAUTHENTICATED"
          ],
          "detail": "Flagged: HTTP MCP endpoint responded 200 OK to unauthenticated JSON-RPC probe without Authorization or X-API-Key header.",
          "checkedAt": "2026-11-07T00:42:33.003Z"
        },
        {
          "serverId": "a36194f2-67f9-4d08-aa71-ec5f25cb4706",
          "name": "orphaned-erp-bridge",
          "uri": "https://erp-bridge.decommissioned.acme-demo.invalid/mcp",
          "transport": "streamable-http",
          "trustState": "QUARANTINED",
          "authState": "AUTHENTICATED",
          "livenessState": "DEAD",
          "flagged": true,
          "flags": [
            "DEAD"
          ],
          "detail": "Flagged: Liveness probe failed (ECONNREFUSED / upstream dead).",
          "checkedAt": "2026-11-07T00:42:33.003Z"
        },
        {
          "serverId": "94c6f883-5080-4ec8-8b39-b6fc856820ad",
          "name": "shadow-analytics-open",
          "uri": "http://127.0.0.1:59999/mcp?api_key=embedded_query_token",
          "transport": "streamable-http",
          "trustState": "DISCOVERED",
          "authState": "UNAUTHENTICATED",
          "livenessState": "DEAD",
          "flagged": true,
          "flags": [
            "UNAUTHENTICATED",
            "DEAD"
          ],
          "detail": "Credentials or tokens are embedded in the server URI rather than an authenticated header/broker. Credentials or tokens are embedded in the server URI rather than an authenticated header/broker. Flagged: Unauthenticated URL query credential pattern and dead loopback endpoint on port 59999.",
          "checkedAt": "2026-11-07T00:42:33.003Z"
        }
      ]
    }
  },
  "auditIntegrity": {
    "ok": true,
    "checked": 48,
    "brokenAtSeq": null,
    "detail": "48 events verified"
  },
  "regulatoryCitations": {
    "ukIco": [
      "ICO Tech Futures: Agentic AI report (published 8 January 2026)",
      "ICO Call for Evidence on Agentic AI (closing 18 November 2026)",
      "UK GDPR Articles 5(1)(a), 5(2), 22, 25, 30, and 32"
    ],
    "euAiAct": [
      "Regulation (EU) 2024/1689 (EU AI Act), published OJ L 12 July 2024, entered into force 1 August 2024",
      "Article 50 transparency obligations (applicable 2 August 2026)",
      "Article 12 record-keeping and Article 14 human oversight"
    ]
  }
}