{
  "format": "minctrl.process/v1",
  "graph": {
    "edges": [
      {
        "id": "e0___start____intake",
        "source": "__start__",
        "target": "intake"
      },
      {
        "id": "e1_intake__verify",
        "source": "intake",
        "target": "verify"
      },
      {
        "id": "e2_verify__idv-gateway",
        "source": "verify",
        "target": "idv-gateway"
      },
      {
        "id": "e3_idv-gateway__verify",
        "label": "identity not verified — request further proof and re-verify",
        "source": "idv-gateway",
        "target": "verify"
      },
      {
        "id": "e4_idv-gateway__search-split",
        "label": "identity verified to required assurance",
        "source": "idv-gateway",
        "target": "search-split"
      },
      {
        "id": "e5_search-split__search-structured",
        "source": "search-split",
        "target": "search-structured"
      },
      {
        "id": "e6_search-split__search-unstructured",
        "source": "search-split",
        "target": "search-unstructured"
      },
      {
        "id": "e7_search-structured__classify",
        "source": "search-structured",
        "target": "classify"
      },
      {
        "id": "e8_search-unstructured__classify",
        "source": "search-unstructured",
        "target": "classify"
      },
      {
        "id": "e9_classify__exempt-gateway",
        "source": "classify",
        "target": "exempt-gateway"
      },
      {
        "id": "e10_exempt-gateway__redact",
        "label": "third-party / privileged / exempt data present",
        "source": "exempt-gateway",
        "target": "redact"
      },
      {
        "id": "e11_exempt-gateway__dpo-signoff",
        "label": "clean — subject's own data only, no redaction needed",
        "source": "exempt-gateway",
        "target": "dpo-signoff"
      },
      {
        "id": "e12_redact__dpo-signoff",
        "source": "redact",
        "target": "dpo-signoff"
      },
      {
        "id": "e13_dpo-signoff__review-gateway",
        "source": "dpo-signoff",
        "target": "review-gateway"
      },
      {
        "id": "e14_review-gateway__redact",
        "label": "redactions insufficient / over-disclosure risk — send back",
        "source": "review-gateway",
        "target": "redact"
      },
      {
        "id": "e15_review-gateway__release",
        "label": "disclosure approved and signed",
        "source": "review-gateway",
        "target": "release"
      },
      {
        "id": "e16_release__monitor",
        "source": "release",
        "target": "monitor"
      },
      {
        "id": "e17_monitor____end__",
        "source": "monitor",
        "target": "__end__"
      }
    ],
    "nodes": [
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "__start__",
        "interrupt_before": false,
        "kind": "terminal",
        "label": "Start",
        "position": {
          "x": 0,
          "y": 0
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "terminal",
        "tools": []
      },
      {
        "agent": "intake",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "intake",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Intake the DSAR/CCPA request: capture requester, scope, jurisdiction and start the statutory clock",
        "position": {
          "x": 0,
          "y": 120
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "privacy-portal",
          "case-mgmt",
          "dsar-registry"
        ]
      },
      {
        "agent": "verifier",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "verify",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Verify the requester's identity to the required assurance level before any data is touched",
        "position": {
          "x": 0,
          "y": 240
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "medium",
        "tools": [
          "kyc-vendor",
          "id-verify",
          "core-ledger:customer-match"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "exclusive",
        "human": null,
        "id": "idv-gateway",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Identity verified to required assurance?",
        "position": {
          "x": 0,
          "y": 360
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "parallel",
        "human": null,
        "id": "search-split",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Fan out discovery across all systems of record concurrently",
        "position": {
          "x": 0,
          "y": 480
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": "search",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "search-structured",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Search structured systems of record (core ledger, CRM, warehouse) and map every personal-data hit to the subject",
        "position": {
          "x": 0,
          "y": 600
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "data-map",
          "core-ledger",
          "crm",
          "data-warehouse"
        ]
      },
      {
        "agent": "search",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "search-unstructured",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Search unstructured doc stores and ticket/email archives for personal-data hits on the subject",
        "position": {
          "x": 0,
          "y": 720
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "data-map",
          "doc-store"
        ]
      },
      {
        "agent": "analyzer",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "classify",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Join the discovery results, assemble the candidate package and classify each record: third-party data, legal-privilege and statutory exemptions",
        "position": {
          "x": 0,
          "y": 840
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "medium",
        "tools": [
          "exemption-rules",
          "pii-classifier",
          "case-mgmt"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "exclusive",
        "human": null,
        "id": "exempt-gateway",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Third-party, privileged or exempt content present?",
        "position": {
          "x": 0,
          "y": 960
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": "redactor",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "redact",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Redact third-party and exempt content and draft the response letter with a per-record disclosure rationale",
        "position": {
          "x": 0,
          "y": 1080
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "medium",
        "tools": [
          "redaction-engine",
          "response-template"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": "gate:dpo-disclosure-signoff",
        "gateway": null,
        "human": "Data Protection Officer / privacy counsel",
        "id": "dpo-signoff",
        "interrupt_before": true,
        "kind": "gate",
        "label": "The DPO reviews the package and signs the disclosure, confirming redactions and exemptions are correct",
        "position": {
          "x": 0,
          "y": 1200
        },
        "reversible": false,
        "sla": null,
        "sla_spec": null,
        "tier": "high",
        "tools": []
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "exclusive",
        "human": null,
        "id": "review-gateway",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "DPO verdict on the package?",
        "position": {
          "x": 0,
          "y": 1320
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": "release",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "release",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Release the disclosure package to the requester and close the request on the statutory record",
        "position": {
          "x": 0,
          "y": 1440
        },
        "reversible": false,
        "sla": null,
        "sla_spec": null,
        "tier": "high",
        "tools": [
          "privacy-portal:secure-deliver",
          "dsar-registry"
        ]
      },
      {
        "agent": "monitor",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "monitor",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Track deadline SLAs, log the disclosure for audit, and route any appeal or rectification follow-up",
        "position": {
          "x": 0,
          "y": 1560
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "dsar-registry",
          "case-mgmt"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "__end__",
        "interrupt_before": false,
        "kind": "terminal",
        "label": "Done",
        "position": {
          "x": 0,
          "y": 1680
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "terminal",
        "tools": []
      }
    ]
  },
  "hash": "1130000f895954aa35bf6b5d3cf36efee5a6895aa07df39f943547061284d76e",
  "name": "DSAR & privacy-request fulfilment autopilot",
  "slug": "dsar-fulfilment",
  "source": "example",
  "version": null,
  "violations": []
}
