{
  "tool_id": "art-499-check-safeguarding-reconciliation",
  "note": "Vectors computed directly from the shipped kernel. Covers the three verdicts, the finite gate on an empty component set, and the rejected-input path where an unusable value is named rather than silently dropped.",
  "vectors": [
    {
      "name": "reconciled-within-tolerance",
      "description": "Resource and requirement agree to the penny across all four CASS 15.8.26R component types. Verdict reconciled.",
      "policy_parameters": {
        "as_of_date": "2026-07-29",
        "currency": "GBP",
        "reconciliation_type": "internal",
        "safeguarding_requirement_minor_units": 48250000,
        "tolerance_minor_units": 100,
        "safeguarding_resource_components": [
          {
            "account_ref": "ACC-REF-A1",
            "component_type": "relevant_funds_bank_account",
            "amount_minor_units": 41000000
          },
          {
            "account_ref": "ACC-REF-B2",
            "component_type": "segregated_not_yet_placed",
            "amount_minor_units": 2250000
          },
          {
            "account_ref": "ACC-REF-C3",
            "component_type": "relevant_assets",
            "amount_minor_units": 3000000
          },
          {
            "account_ref": "ACC-REF-D4",
            "component_type": "insurance_or_guarantee",
            "amount_minor_units": 2000000
          }
        ]
      },
      "output_payload": {
        "ruleset": {
          "ruleset_id": "FCA-CASS15-PS25-12",
          "ruleset_label": "FCA CASS 15 safeguarding rules, as made by PS25/12",
          "in_force_from": "2026-05-07",
          "field_set_version": "1.0.0",
          "sourced_from": "handbook.fca.org.uk",
          "sourced_on": "2026-07-30"
        },
        "as_of_date": "2026-07-29",
        "currency": "GBP",
        "minor_unit_exponent": 2,
        "reconciliation_type": "internal",
        "verdict": "reconciled",
        "difference_direction": "level",
        "safeguarding_requirement_minor_units": 48250000,
        "safeguarding_requirement_display": "482500.00",
        "safeguarding_resource_minor_units": 48250000,
        "safeguarding_resource_display": "482500.00",
        "difference_minor_units": 0,
        "difference_display": "0.00",
        "tolerance_minor_units": 100,
        "tolerance_display": "1.00",
        "within_tolerance": true,
        "component_count": 4,
        "components": [
          {
            "account_ref": "ACC-REF-A1",
            "component_type": "relevant_funds_bank_account",
            "counted_toward_resource": true,
            "amount_minor_units": 41000000,
            "amount_display": "410000.00",
            "excluded_amount_minor_units": 0
          },
          {
            "account_ref": "ACC-REF-B2",
            "component_type": "segregated_not_yet_placed",
            "counted_toward_resource": true,
            "amount_minor_units": 2250000,
            "amount_display": "22500.00",
            "excluded_amount_minor_units": 0
          },
          {
            "account_ref": "ACC-REF-C3",
            "component_type": "relevant_assets",
            "counted_toward_resource": true,
            "amount_minor_units": 3000000,
            "amount_display": "30000.00",
            "excluded_amount_minor_units": 0
          },
          {
            "account_ref": "ACC-REF-D4",
            "component_type": "insurance_or_guarantee",
            "counted_toward_resource": true,
            "amount_minor_units": 2000000,
            "amount_display": "20000.00",
            "excluded_amount_minor_units": 0
          }
        ],
        "subtotals_by_component_type": [
          {
            "component_type": "relevant_funds_bank_account",
            "amount_minor_units": 41000000,
            "amount_display": "410000.00"
          },
          {
            "component_type": "segregated_not_yet_placed",
            "amount_minor_units": 2250000,
            "amount_display": "22500.00"
          },
          {
            "component_type": "relevant_assets",
            "amount_minor_units": 3000000,
            "amount_display": "30000.00"
          },
          {
            "component_type": "insurance_or_guarantee",
            "amount_minor_units": 2000000,
            "amount_display": "20000.00"
          }
        ],
        "rejected_inputs": [],
        "citations": {
          "internal_reconciliation": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.10R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "internal_frequency": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.19R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "external_reconciliation": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.47R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "external_frequency": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.42R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "safeguarding_resource": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.26R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "safeguarding_requirement": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.29G",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "discrepancy_treatment": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.50R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          }
        },
        "rationale": [
          "Safeguarding requirement supplied as 482500.00 GBP (CASS 15.8.29G).",
          "Safeguarding resource summed to 482500.00 GBP across 4 supplied components (CASS 15.8.26R).",
          "Difference (resource minus requirement) is 0.00 GBP; declared tolerance is 1.00 GBP.",
          "Evaluated as a internal safeguarding reconciliation (CASS 15.8.10R), which the firm performs no less than once each reconciliation day (CASS 15.8.19R).",
          "On these figures the resource and the requirement agree within the declared tolerance. This is an arithmetic finding about the figures supplied here, not an opinion on the completeness or accuracy of the underlying records."
        ],
        "note": "Deterministic UK CASS 15 safeguarding reconciliation check over a caller-supplied figure set for one declared as-of date. Single-run and stateless: this tool holds no records, runs on no schedule, and retains nothing. The verdict is an arithmetic comparison of the supplied safeguarding resource against the supplied safeguarding requirement. It is not a determination that the firm has or has not complied with CASS 15, it is not a regulatory filing, and it is not legal advice."
      },
      "compliance_flags": [
        "SAFEGUARDING_RECONCILED"
      ],
      "golden_hash": "dce113c1a4a22d06eeb997624ad0f17b4cf9848d134d9204351f1a66fb247d3d"
    },
    {
      "name": "shortfall-beyond-tolerance",
      "description": "Resource falls short of the requirement by more than the declared tolerance. Verdict shortfall, ESCALATION_RAISED.",
      "policy_parameters": {
        "as_of_date": "2026-07-29",
        "currency": "GBP",
        "reconciliation_type": "internal",
        "safeguarding_requirement_minor_units": 48250000,
        "tolerance_minor_units": 100,
        "safeguarding_resource_components": [
          {
            "account_ref": "ACC-REF-A1",
            "component_type": "relevant_funds_bank_account",
            "amount_minor_units": 41000000
          },
          {
            "account_ref": "ACC-REF-B2",
            "component_type": "segregated_not_yet_placed",
            "amount_minor_units": 2250000
          }
        ]
      },
      "output_payload": {
        "ruleset": {
          "ruleset_id": "FCA-CASS15-PS25-12",
          "ruleset_label": "FCA CASS 15 safeguarding rules, as made by PS25/12",
          "in_force_from": "2026-05-07",
          "field_set_version": "1.0.0",
          "sourced_from": "handbook.fca.org.uk",
          "sourced_on": "2026-07-30"
        },
        "as_of_date": "2026-07-29",
        "currency": "GBP",
        "minor_unit_exponent": 2,
        "reconciliation_type": "internal",
        "verdict": "shortfall",
        "difference_direction": "resource_below_requirement",
        "safeguarding_requirement_minor_units": 48250000,
        "safeguarding_requirement_display": "482500.00",
        "safeguarding_resource_minor_units": 43250000,
        "safeguarding_resource_display": "432500.00",
        "difference_minor_units": -5000000,
        "difference_display": "-50000.00",
        "tolerance_minor_units": 100,
        "tolerance_display": "1.00",
        "within_tolerance": false,
        "component_count": 2,
        "components": [
          {
            "account_ref": "ACC-REF-A1",
            "component_type": "relevant_funds_bank_account",
            "counted_toward_resource": true,
            "amount_minor_units": 41000000,
            "amount_display": "410000.00",
            "excluded_amount_minor_units": 0
          },
          {
            "account_ref": "ACC-REF-B2",
            "component_type": "segregated_not_yet_placed",
            "counted_toward_resource": true,
            "amount_minor_units": 2250000,
            "amount_display": "22500.00",
            "excluded_amount_minor_units": 0
          }
        ],
        "subtotals_by_component_type": [
          {
            "component_type": "relevant_funds_bank_account",
            "amount_minor_units": 41000000,
            "amount_display": "410000.00"
          },
          {
            "component_type": "segregated_not_yet_placed",
            "amount_minor_units": 2250000,
            "amount_display": "22500.00"
          },
          {
            "component_type": "relevant_assets",
            "amount_minor_units": 0,
            "amount_display": "0.00"
          },
          {
            "component_type": "insurance_or_guarantee",
            "amount_minor_units": 0,
            "amount_display": "0.00"
          }
        ],
        "rejected_inputs": [],
        "citations": {
          "internal_reconciliation": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.10R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "internal_frequency": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.19R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "external_reconciliation": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.47R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "external_frequency": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.42R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "safeguarding_resource": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.26R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "safeguarding_requirement": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.29G",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "discrepancy_treatment": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.50R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          }
        },
        "rationale": [
          "Safeguarding requirement supplied as 482500.00 GBP (CASS 15.8.29G).",
          "Safeguarding resource summed to 432500.00 GBP across 2 supplied components (CASS 15.8.26R).",
          "Difference (resource minus requirement) is -50000.00 GBP; declared tolerance is 1.00 GBP.",
          "Evaluated as a internal safeguarding reconciliation (CASS 15.8.10R), which the firm performs no less than once each reconciliation day (CASS 15.8.19R).",
          "On these figures the resource is below the requirement by more than the declared tolerance. CASS 15.8.50R requires a firm to pay a shortfall into a relevant funds bank account, or invest it in relevant assets, by the end of the day on which the reconciliation is performed. This is an arithmetic finding about the figures supplied here. It is not a determination that the firm has breached CASS 15, which is for the firm's own records and its safeguarding auditor."
        ],
        "note": "Deterministic UK CASS 15 safeguarding reconciliation check over a caller-supplied figure set for one declared as-of date. Single-run and stateless: this tool holds no records, runs on no schedule, and retains nothing. The verdict is an arithmetic comparison of the supplied safeguarding resource against the supplied safeguarding requirement. It is not a determination that the firm has or has not complied with CASS 15, it is not a regulatory filing, and it is not legal advice."
      },
      "compliance_flags": [
        "SAFEGUARDING_SHORTFALL",
        "ESCALATION_RAISED"
      ],
      "golden_hash": "f4fc9dafd5f9bcd60f95e6ace0d6182df5606f5572c9f1ece60a315335525f05"
    },
    {
      "name": "excess-beyond-tolerance",
      "description": "Resource exceeds the requirement by more than the declared tolerance on an external reconciliation. Verdict excess.",
      "policy_parameters": {
        "as_of_date": "2026-07-29",
        "currency": "GBP",
        "reconciliation_type": "external",
        "safeguarding_requirement_minor_units": 1000000,
        "tolerance_minor_units": 500,
        "safeguarding_resource_components": [
          {
            "account_ref": "ACC-REF-A1",
            "component_type": "relevant_funds_bank_account",
            "amount_minor_units": 1250000
          }
        ]
      },
      "output_payload": {
        "ruleset": {
          "ruleset_id": "FCA-CASS15-PS25-12",
          "ruleset_label": "FCA CASS 15 safeguarding rules, as made by PS25/12",
          "in_force_from": "2026-05-07",
          "field_set_version": "1.0.0",
          "sourced_from": "handbook.fca.org.uk",
          "sourced_on": "2026-07-30"
        },
        "as_of_date": "2026-07-29",
        "currency": "GBP",
        "minor_unit_exponent": 2,
        "reconciliation_type": "external",
        "verdict": "excess",
        "difference_direction": "resource_above_requirement",
        "safeguarding_requirement_minor_units": 1000000,
        "safeguarding_requirement_display": "10000.00",
        "safeguarding_resource_minor_units": 1250000,
        "safeguarding_resource_display": "12500.00",
        "difference_minor_units": 250000,
        "difference_display": "2500.00",
        "tolerance_minor_units": 500,
        "tolerance_display": "5.00",
        "within_tolerance": false,
        "component_count": 1,
        "components": [
          {
            "account_ref": "ACC-REF-A1",
            "component_type": "relevant_funds_bank_account",
            "counted_toward_resource": true,
            "amount_minor_units": 1250000,
            "amount_display": "12500.00",
            "excluded_amount_minor_units": 0
          }
        ],
        "subtotals_by_component_type": [
          {
            "component_type": "relevant_funds_bank_account",
            "amount_minor_units": 1250000,
            "amount_display": "12500.00"
          },
          {
            "component_type": "segregated_not_yet_placed",
            "amount_minor_units": 0,
            "amount_display": "0.00"
          },
          {
            "component_type": "relevant_assets",
            "amount_minor_units": 0,
            "amount_display": "0.00"
          },
          {
            "component_type": "insurance_or_guarantee",
            "amount_minor_units": 0,
            "amount_display": "0.00"
          }
        ],
        "rejected_inputs": [],
        "citations": {
          "internal_reconciliation": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.10R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "internal_frequency": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.19R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "external_reconciliation": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.47R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "external_frequency": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.42R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "safeguarding_resource": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.26R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "safeguarding_requirement": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.29G",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "discrepancy_treatment": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.50R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          }
        },
        "rationale": [
          "Safeguarding requirement supplied as 10000.00 GBP (CASS 15.8.29G).",
          "Safeguarding resource summed to 12500.00 GBP across 1 supplied component (CASS 15.8.26R).",
          "Difference (resource minus requirement) is 2500.00 GBP; declared tolerance is 5.00 GBP.",
          "Evaluated as a external safeguarding reconciliation (CASS 15.8.47R), which the firm performs no less than once each reconciliation day (CASS 15.8.42R).",
          "On these figures the resource exceeds the requirement by more than the declared tolerance. CASS 15.8.50R requires a firm to withdraw an excess from the accounts holding relevant funds or relevant assets. This is an arithmetic finding about the figures supplied here, not a determination about the firm's compliance."
        ],
        "note": "Deterministic UK CASS 15 safeguarding reconciliation check over a caller-supplied figure set for one declared as-of date. Single-run and stateless: this tool holds no records, runs on no schedule, and retains nothing. The verdict is an arithmetic comparison of the supplied safeguarding resource against the supplied safeguarding requirement. It is not a determination that the firm has or has not complied with CASS 15, it is not a regulatory filing, and it is not legal advice."
      },
      "compliance_flags": [
        "SAFEGUARDING_EXCESS"
      ],
      "golden_hash": "8bf4a77d4ac1b4ace044dac72669c7490d730cc2bbfa8c4b8ec037e45c32b051"
    },
    {
      "name": "empty-portfolio-finite-gate",
      "description": "FINITE GATE: no components and a zero requirement. Resolves to a defined reconciled verdict, never NaN.",
      "policy_parameters": {
        "as_of_date": "2026-07-29",
        "currency": "GBP",
        "reconciliation_type": "internal",
        "safeguarding_requirement_minor_units": 0,
        "tolerance_minor_units": 0,
        "safeguarding_resource_components": []
      },
      "output_payload": {
        "ruleset": {
          "ruleset_id": "FCA-CASS15-PS25-12",
          "ruleset_label": "FCA CASS 15 safeguarding rules, as made by PS25/12",
          "in_force_from": "2026-05-07",
          "field_set_version": "1.0.0",
          "sourced_from": "handbook.fca.org.uk",
          "sourced_on": "2026-07-30"
        },
        "as_of_date": "2026-07-29",
        "currency": "GBP",
        "minor_unit_exponent": 2,
        "reconciliation_type": "internal",
        "verdict": "reconciled",
        "difference_direction": "level",
        "safeguarding_requirement_minor_units": 0,
        "safeguarding_requirement_display": "0.00",
        "safeguarding_resource_minor_units": 0,
        "safeguarding_resource_display": "0.00",
        "difference_minor_units": 0,
        "difference_display": "0.00",
        "tolerance_minor_units": 0,
        "tolerance_display": "0.00",
        "within_tolerance": true,
        "component_count": 0,
        "components": [],
        "subtotals_by_component_type": [
          {
            "component_type": "relevant_funds_bank_account",
            "amount_minor_units": 0,
            "amount_display": "0.00"
          },
          {
            "component_type": "segregated_not_yet_placed",
            "amount_minor_units": 0,
            "amount_display": "0.00"
          },
          {
            "component_type": "relevant_assets",
            "amount_minor_units": 0,
            "amount_display": "0.00"
          },
          {
            "component_type": "insurance_or_guarantee",
            "amount_minor_units": 0,
            "amount_display": "0.00"
          }
        ],
        "rejected_inputs": [],
        "citations": {
          "internal_reconciliation": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.10R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "internal_frequency": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.19R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "external_reconciliation": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.47R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "external_frequency": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.42R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "safeguarding_resource": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.26R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "safeguarding_requirement": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.29G",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "discrepancy_treatment": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.50R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          }
        },
        "rationale": [
          "Safeguarding requirement supplied as 0.00 GBP (CASS 15.8.29G).",
          "Safeguarding resource summed to 0.00 GBP across 0 supplied components (CASS 15.8.26R).",
          "Difference (resource minus requirement) is 0.00 GBP; declared tolerance is 0.00 GBP.",
          "Evaluated as a internal safeguarding reconciliation (CASS 15.8.10R), which the firm performs no less than once each reconciliation day (CASS 15.8.19R).",
          "No resource components were supplied, so the resource total is zero by construction. The verdict below is an arithmetic result on that empty set, not a finding that the firm holds nothing.",
          "On these figures the resource and the requirement agree within the declared tolerance. This is an arithmetic finding about the figures supplied here, not an opinion on the completeness or accuracy of the underlying records."
        ],
        "note": "Deterministic UK CASS 15 safeguarding reconciliation check over a caller-supplied figure set for one declared as-of date. Single-run and stateless: this tool holds no records, runs on no schedule, and retains nothing. The verdict is an arithmetic comparison of the supplied safeguarding resource against the supplied safeguarding requirement. It is not a determination that the firm has or has not complied with CASS 15, it is not a regulatory filing, and it is not legal advice."
      },
      "compliance_flags": [
        "SAFEGUARDING_RECONCILED",
        "SAFEGUARDING_NO_RESOURCE_COMPONENTS_SUPPLIED"
      ],
      "golden_hash": "4f817dda1ce0df3a4086c086c2884c72dbd7bff6b676a57d29db4733dd69e2b6"
    },
    {
      "name": "rejected-inputs-named-not-dropped",
      "description": "A fractional amount and an unrecognised component type are coerced to zero AND named in rejected_inputs.",
      "policy_parameters": {
        "as_of_date": "2026-07-29",
        "currency": "GBP",
        "reconciliation_type": "internal",
        "safeguarding_requirement_minor_units": 500000,
        "tolerance_minor_units": 0,
        "safeguarding_resource_components": [
          {
            "account_ref": "ACC-REF-A1",
            "component_type": "relevant_funds_bank_account",
            "amount_minor_units": 500000.5
          },
          {
            "account_ref": "ACC-REF-Z9",
            "component_type": "petty_cash_tin",
            "amount_minor_units": 999
          }
        ]
      },
      "output_payload": {
        "ruleset": {
          "ruleset_id": "FCA-CASS15-PS25-12",
          "ruleset_label": "FCA CASS 15 safeguarding rules, as made by PS25/12",
          "in_force_from": "2026-05-07",
          "field_set_version": "1.0.0",
          "sourced_from": "handbook.fca.org.uk",
          "sourced_on": "2026-07-30"
        },
        "as_of_date": "2026-07-29",
        "currency": "GBP",
        "minor_unit_exponent": 2,
        "reconciliation_type": "internal",
        "verdict": "shortfall",
        "difference_direction": "resource_below_requirement",
        "safeguarding_requirement_minor_units": 500000,
        "safeguarding_requirement_display": "5000.00",
        "safeguarding_resource_minor_units": 0,
        "safeguarding_resource_display": "0.00",
        "difference_minor_units": -500000,
        "difference_display": "-5000.00",
        "tolerance_minor_units": 0,
        "tolerance_display": "0.00",
        "within_tolerance": false,
        "component_count": 2,
        "components": [
          {
            "account_ref": "ACC-REF-A1",
            "component_type": "relevant_funds_bank_account",
            "counted_toward_resource": true,
            "amount_minor_units": 0,
            "amount_display": "0.00",
            "excluded_amount_minor_units": 0
          },
          {
            "account_ref": "ACC-REF-Z9",
            "component_type": "unclassified",
            "counted_toward_resource": false,
            "amount_minor_units": 0,
            "amount_display": "0.00",
            "excluded_amount_minor_units": 999
          }
        ],
        "subtotals_by_component_type": [
          {
            "component_type": "relevant_funds_bank_account",
            "amount_minor_units": 0,
            "amount_display": "0.00"
          },
          {
            "component_type": "segregated_not_yet_placed",
            "amount_minor_units": 0,
            "amount_display": "0.00"
          },
          {
            "component_type": "relevant_assets",
            "amount_minor_units": 0,
            "amount_display": "0.00"
          },
          {
            "component_type": "insurance_or_guarantee",
            "amount_minor_units": 0,
            "amount_display": "0.00"
          }
        ],
        "rejected_inputs": [
          {
            "where": "safeguarding_resource_components[0].amount_minor_units",
            "reason": "not a safe integer number of minor units",
            "supplied": 500000.5
          },
          {
            "where": "safeguarding_resource_components[1].component_type",
            "reason": "not one of the four CASS 15.8.26R safeguarding resource component types",
            "supplied": "petty_cash_tin"
          }
        ],
        "citations": {
          "internal_reconciliation": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.10R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "internal_frequency": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.19R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "external_reconciliation": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.47R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "external_frequency": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.42R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "safeguarding_resource": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.26R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "safeguarding_requirement": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.29G",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          },
          "discrepancy_treatment": {
            "scheme": "fca-handbook",
            "id": "CASS 15.8.50R",
            "in_force_from": "2026-05-07",
            "mapped_by": "AINumbers CASS15-K-1",
            "mapped_at": "2026-07-30",
            "uri": "https://handbook.fca.org.uk/handbook/cass15/cass15s8"
          }
        },
        "rationale": [
          "Safeguarding requirement supplied as 5000.00 GBP (CASS 15.8.29G).",
          "Safeguarding resource summed to 0.00 GBP across 2 supplied components (CASS 15.8.26R).",
          "Difference (resource minus requirement) is -5000.00 GBP; declared tolerance is 0.00 GBP.",
          "Evaluated as a internal safeguarding reconciliation (CASS 15.8.10R), which the firm performs no less than once each reconciliation day (CASS 15.8.19R).",
          "2 supplied values were not usable as an integer minor-unit amount or a recognised component type, and were treated as zero. Each one is named in rejected_inputs.",
          "On these figures the resource is below the requirement by more than the declared tolerance. CASS 15.8.50R requires a firm to pay a shortfall into a relevant funds bank account, or invest it in relevant assets, by the end of the day on which the reconciliation is performed. This is an arithmetic finding about the figures supplied here. It is not a determination that the firm has breached CASS 15, which is for the firm's own records and its safeguarding auditor."
        ],
        "note": "Deterministic UK CASS 15 safeguarding reconciliation check over a caller-supplied figure set for one declared as-of date. Single-run and stateless: this tool holds no records, runs on no schedule, and retains nothing. The verdict is an arithmetic comparison of the supplied safeguarding resource against the supplied safeguarding requirement. It is not a determination that the firm has or has not complied with CASS 15, it is not a regulatory filing, and it is not legal advice."
      },
      "compliance_flags": [
        "SAFEGUARDING_SHORTFALL",
        "ESCALATION_RAISED",
        "SAFEGUARDING_INPUTS_REJECTED"
      ],
      "golden_hash": "faadfedc583ab13befa8727994a69f45ae3086e2cb36faf76d6bd7282b67fb9f"
    }
  ]
}
