{
  "generatedFrom": "Payments Signal canonical architecture registry",
  "notice": "SYNTHETIC / TRAINING ONLY",
  "blueprintId": "architecture-swift-connectivity",
  "versionLabel": "Payments Signal reference architecture v1",
  "reviewDate": "2026-07-23",
  "traces": [
    {
      "id": "swift-connectivity-trace",
      "label": "Release one CBPR+ pacs.008 through FINplus",
      "summary": "Follow the business message through relationship policy, local security, interface queueing, connectivity, and network evidence.",
      "viewId": "component",
      "steps": [
        {
          "id": "swift-connectivity-trace-step-1",
          "title": "Prepare the profiled message",
          "nodeId": "swift-payment-core",
          "plainExplanation": "The payment core produces a current CBPR+ pacs.008 and retains its business references.",
          "businessState": "Ready for release",
          "messageIds": [
            "pacs-008"
          ]
        },
        {
          "id": "swift-connectivity-trace-step-2",
          "title": "Check the relationship",
          "nodeId": "swift-rma",
          "interfaceId": "swift-e1",
          "plainExplanation": "The governed relationship and scope permit the exchange.",
          "businessState": "Counterparty authorised"
        },
        {
          "id": "swift-connectivity-trace-step-3",
          "title": "Queue and sign",
          "nodeId": "swift-interface",
          "interfaceId": "swift-e2",
          "plainExplanation": "The interface records the release, applies signing authority, and queues the message.",
          "businessState": "Locally released",
          "controlEvidence": "Release user, signing identity, queue identifier"
        },
        {
          "id": "swift-connectivity-trace-step-4",
          "title": "Carry the service traffic",
          "nodeId": "swift-connectivity",
          "interfaceId": "swift-e4",
          "plainExplanation": "The message leaves through the configured Swift connectivity path.",
          "businessState": "Network submitted"
        },
        {
          "id": "swift-connectivity-trace-step-5",
          "title": "FINplus accepts the message",
          "nodeId": "swift-finplus",
          "interfaceId": "swift-e6",
          "plainExplanation": "Technical acceptance is recorded; it is not yet proof of beneficiary credit or settlement.",
          "businessState": "Network accepted",
          "messageIds": [
            "pacs-008"
          ]
        },
        {
          "id": "swift-connectivity-trace-step-6",
          "title": "Correlate the acknowledgement",
          "nodeId": "swift-ops",
          "interfaceId": "swift-e7",
          "plainExplanation": "Operations can connect the network evidence to the business payment without guessing.",
          "businessState": "Technical outcome reconciled"
        },
        {
          "id": "swift-connectivity-trace-step-7",
          "title": "Update the lifecycle",
          "nodeId": "swift-payment-core",
          "interfaceId": "swift-e8",
          "plainExplanation": "The payment state advances only to the outcome proven by the acknowledgement.",
          "businessState": "Submitted to counterparty"
        }
      ],
      "evidence": [
        {
          "ref": {
            "sourceId": "swift-iso20022-programme",
            "locator": "FINplus and ISO 20022 adoption",
            "label": "official-requirement"
          },
          "verifiedDate": "2026-07-23",
          "versionContext": "Swift ISO 20022 programme and public document centre"
        },
        {
          "ref": {
            "sourceId": "cbpr-usage-guidelines",
            "locator": "CBPR+ usage guidelines",
            "label": "official-requirement",
            "simplifications": "The public architecture names message families. Exact CBPR+ elements, market-practice rules, and release versions remain in MyStandards."
          },
          "verifiedDate": "2026-07-23",
          "versionContext": "CBPR+ usage guidelines — current MyStandards profile must be checked"
        },
        {
          "ref": {
            "sourceId": "swift-csp",
            "locator": "Customer Security Controls Framework",
            "label": "official-requirement"
          },
          "verifiedDate": "2026-07-23",
          "versionContext": "Swift Customer Security Programme; detailed controls require authenticated access"
        }
      ]
    }
  ],
  "stressCases": [
    {
      "id": "swift-stress-rma",
      "label": "RMA relationship blocks release",
      "trigger": "The counterparty or message scope is not authorised by current relationship policy.",
      "divergesAfterStepId": "swift-connectivity-trace-step-1",
      "traceId": "swift-connectivity-trace",
      "affectedNodeIds": [
        "swift-rma",
        "swift-interface"
      ],
      "affectedInterfaceIds": [
        "swift-e1",
        "swift-e2"
      ],
      "lastConfirmedState": "The payment message is ready but has not been locally released.",
      "settlementState": "No network or settlement submission has occurred.",
      "fundsState": "Any internal reservation remains under the bank's unreleased-payment policy.",
      "owner": "Swift security administration and payment operations",
      "safeAction": "Keep the message on hold and correct the relationship only through the authorised RMA process.",
      "requiredEvidence": [
        "Counterparty BIC",
        "Message/service scope",
        "RMA policy version",
        "Approval record"
      ],
      "recoverySteps": [
        "Approve or reject the relationship change",
        "Re-run release controls",
        "Retain the original hold evidence"
      ],
      "evidence": [
        {
          "ref": {
            "sourceId": "swift-services",
            "locator": "Relationship Management Application",
            "label": "official-requirement"
          },
          "verifiedDate": "2026-07-23",
          "versionContext": "Current Swift service documentation"
        }
      ]
    },
    {
      "id": "swift-stress-connectivity",
      "label": "Connectivity fails after local release",
      "trigger": "The message is locally released but no conclusive network acknowledgement arrives.",
      "divergesAfterStepId": "swift-connectivity-trace-step-3",
      "traceId": "swift-connectivity-trace",
      "affectedNodeIds": [
        "swift-interface",
        "swift-connectivity",
        "swift-ops"
      ],
      "affectedInterfaceIds": [
        "swift-e4",
        "swift-e7"
      ],
      "lastConfirmedState": "Locally released; network acceptance is unknown.",
      "settlementState": "Unknown; technical uncertainty is not settlement evidence.",
      "fundsState": "Do not reverse or resend solely because connectivity is down.",
      "owner": "Swift platform operations with payment operations",
      "safeAction": "Reconcile the interface queue, delivery state, and network evidence before failover or replay.",
      "requiredEvidence": [
        "Queue record",
        "Message identifier",
        "Connectivity event",
        "Network acknowledgement or enquiry"
      ],
      "recoverySteps": [
        "Fail over under the tested runbook",
        "Reconcile queued traffic",
        "Replay only under the duplicate policy"
      ],
      "evidence": [
        {
          "ref": {
            "sourceId": "swift-csp",
            "locator": "Business continuity and operational controls",
            "label": "official-requirement"
          },
          "verifiedDate": "2026-07-23",
          "versionContext": "Swift Customer Security Programme; detailed controls require authenticated access"
        }
      ]
    },
    {
      "id": "swift-stress-coexistence",
      "label": "Unsupported MT after migration milestone",
      "trigger": "An upstream system creates an MT instruction no longer supported for the intended payment service.",
      "divergesAfterStepId": "swift-connectivity-trace-step-1",
      "traceId": "swift-connectivity-trace",
      "affectedNodeIds": [
        "swift-payment-core",
        "swift-fin",
        "swift-finplus"
      ],
      "affectedInterfaceIds": [
        "swift-e5",
        "swift-e6"
      ],
      "lastConfirmedState": "Payment intent exists; no supported network message has been released.",
      "settlementState": "No settlement submission has occurred.",
      "fundsState": "The payment remains unreleased and must not be treated as sent.",
      "owner": "Migration programme and payment product",
      "safeAction": "Use the supported native MX path or an explicitly authorised contingency service; do not invent a conversion.",
      "requiredEvidence": [
        "Message type",
        "Service",
        "Migration milestone",
        "Current Swift support statement"
      ],
      "recoverySteps": [
        "Route to the supported message path",
        "Check data-loss implications",
        "Revalidate and release once"
      ],
      "evidence": [
        {
          "ref": {
            "sourceId": "swift-mt-standards",
            "locator": "Standards releases and support treatment",
            "label": "official-requirement"
          },
          "verifiedDate": "2026-07-23",
          "versionContext": "Current Swift MT standards release"
        },
        {
          "ref": {
            "sourceId": "swift-iso20022-programme",
            "locator": "ISO 20022 adoption programme",
            "label": "official-requirement"
          },
          "verifiedDate": "2026-07-23",
          "versionContext": "Swift ISO 20022 programme and public document centre"
        }
      ]
    }
  ]
}
