{
  "version": "0.1.0",
  "default_locale": "en",
  "checks": {
    "mrz_checksum_failure": {
      "messages": {
        "default": {
          "what": "The machine-readable zone (MRZ) on the identity document failed its built-in check-digit validation.",
          "what_to_do": "Treat the document as unverified, request a clearer scan or an alternative identity document before proceeding."
        }
      }
    },
    "mrz_composite_checksum_unverified": {
      "messages": {
        "default": {
          "what": "The overall (composite) MRZ check digit could not be confirmed, although the document number, date of birth and expiry all validated.",
          "what_to_do": "Low concern on its own, investigate only if other identity findings are present."
        },
        "HIGH": {
          "what": "The identity document's composite MRZ check digit could not be confirmed.",
          "what_to_do": "Re-scan the document at higher resolution or route it to identity review."
        },
        "INFO": {
          "what": "The composite MRZ check digit is unverified; the other three check digits passed.",
          "what_to_do": "Treat as low concern unless other identity findings co-occur."
        }
      }
    },
    "national_id_checksum_failure_egn": {
      "messages": {
        "default": {
          "what": "The Bulgarian national identity number (EGN) failed its checksum validation.",
          "what_to_do": "The number is likely mistyped or invalid, re-check the document and confirm the number with the applicant."
        }
      }
    },
    "national_id_checksum_failure_cnp": {
      "messages": {
        "default": {
          "what": "The Romanian national identity number (CNP) failed its checksum validation.",
          "what_to_do": "The number is likely mistyped or invalid, re-check the document and confirm the number with the applicant."
        }
      }
    },
    "national_id_checksum_failure_oib": {
      "messages": {
        "default": {
          "what": "The Croatian national identity number (OIB) failed its checksum validation.",
          "what_to_do": "The number is likely mistyped or invalid, re-check the document and confirm the number with the applicant."
        }
      }
    },
    "national_id_checksum_failure_rodne_cislo": {
      "messages": {
        "default": {
          "what": "The Slovak/Czech birth number (rodné číslo) failed its checksum validation.",
          "what_to_do": "The number is likely mistyped or invalid, re-check the document and confirm the number with the applicant."
        }
      }
    },
    "national_id_checksum_failure_cpr": {
      "messages": {
        "default": {
          "what": "The Danish personal number (CPR) is not a valid number.",
          "what_to_do": "Re-check the document and confirm the number with the applicant."
        }
      }
    },
    "sv_nr_invalid": {
      "messages": {
        "default": {
          "what": "The Austrian social-security number (SV-Nr) is not a valid number.",
          "what_to_do": "Confirm the number against the source document; a genuine invalid number should be queried with the applicant."
        }
      }
    },
    "aut_pa_fraud_batch_range": {
      "messages": {
        "default": {
          "what": "The Austrian ID card (Personalausweis) number falls within a confirmed fraud batch reported to the authorities.",
          "what_to_do": "Decline or escalate, this card series is on a known-fraud list."
        }
      }
    },
    "pa_number_extended_batch_proximity": {
      "messages": {
        "default": {
          "what": "The Austrian ID card number is numerically close to a known fraud batch.",
          "what_to_do": "Treat as a supporting signal, review alongside any other findings on this applicant."
        }
      }
    },
    "at_fuehrerschein_era_mismatch": {
      "messages": {
        "default": {
          "what": "The Austrian driving-licence card format does not match its stated year of issue.",
          "what_to_do": "Verify the licence; an inconsistent format can indicate a counterfeit."
        }
      }
    },
    "identity_name_cross_script_unverifiable": {
      "messages": {
        "default": {
          "what": "The applicant's name is written in a non-Latin script and could not be verified automatically.",
          "what_to_do": "Verify the name manually against the source document."
        }
      }
    },
    "applicant_name_id_mismatch": {
      "messages": {
        "default": {
          "what": "The applicant name supplied with the case does not match the name on the identity document.",
          "what_to_do": "Confirm the correct spelling with the applicant; escalate a genuine mismatch."
        }
      }
    },
    "height_cross_match": {
      "messages": {
        "default": {
          "what": "Several applicants in this batch declared an identical height on their ID documents, a pattern consistent with a reused document template.",
          "what_to_do": "Review the linked applicants together for a possible fraud ring."
        }
      }
    },
    "bv_cumulative_doubling": {
      "messages": {
        "default": {
          "what": "The year-to-date contribution total on the payslip doubles and then reverts, a known fabrication pattern.",
          "what_to_do": "Decline or escalate; request original payslips directly from the employer."
        }
      }
    },
    "bv_cumulative_reversal": {
      "messages": {
        "default": {
          "what": "The year-to-date contribution total decreases from one payslip to the next, which should not happen within a year.",
          "what_to_do": "Request corrected payslips; escalate if the figures are not explained."
        }
      }
    },
    "gz_arithmetic_mismatch": {
      "messages": {
        "default": {
          "what": "The payslip's net pay does not match its gross pay minus the declared deductions.",
          "what_to_do": "Request an updated payslip or the missing deduction line before approving."
        },
        "MEDIUM": {
          "what": "There is a small arithmetic gap on the payslip, most likely a missing voluntary deduction.",
          "what_to_do": "Confirm with the applicant if the case would otherwise reject; safe to accept on review."
        },
        "CRITICAL": {
          "what": "The payslip does not add up: net pay is inconsistent with gross pay minus deductions.",
          "what_to_do": "Decline or escalate, request an original payslip from the employer."
        }
      }
    },
    "gz_arithmetic_not_verified": {
      "messages": {
        "default": {
          "what": "The payslip arithmetic could not be confirmed because some deduction figures were not readable.",
          "what_to_do": "Request a clearer copy if you need the arithmetic confirmed; otherwise review manually."
        }
      }
    },
    "exit_payslip_detected": {
      "messages": {
        "default": {
          "what": "This payslip indicates the applicant's employment has ended (exit / Austritt).",
          "what_to_do": "Not a fraud signal, flag to the relationship team that the declared income may no longer be current."
        }
      }
    },
    "payslip_period_duplicate": {
      "messages": {
        "default": {
          "what": "Two payslips cover the same pay period.",
          "what_to_do": "Request the correct, distinct payslip for each period."
        }
      }
    },
    "payslip_period_gap": {
      "messages": {
        "default": {
          "what": "The submitted payslips do not form a continuous recent sequence, one or more periods are missing.",
          "what_to_do": "Request the missing payslips to complete the sequence."
        }
      }
    },
    "payslip_period_future_dated": {
      "messages": {
        "default": {
          "what": "A payslip is dated in the future relative to the submission date.",
          "what_to_do": "Request a corrected payslip; a future date suggests the document was edited."
        }
      }
    },
    "payslip_period_label_mismatch": {
      "messages": {
        "default": {
          "what": "The month shown in the payslip header does not match its payment date.",
          "what_to_do": "Request clarification or a corrected payslip."
        }
      }
    },
    "financial_anomaly": {
      "messages": {
        "default": {
          "what": "The declared income is far outside the normal range for the stated occupation.",
          "what_to_do": "Escalate for review, verify the employment and salary independently."
        }
      }
    },
    "lst_secondary_employer_override": {
      "messages": {
        "default": {
          "what": "The wage-tax (Lohnsteuer) deduction looks inconsistent with a single employer, which can be normal for someone with a second job.",
          "what_to_do": "No action needed unless the applicant declared only one employer; confirm if in doubt."
        }
      }
    },
    "gz_creation_date_backdated": {
      "messages": {
        "default": {
          "what": "The payslip PDF was created at a date inconsistent with its pay period (well before or long after it).",
          "what_to_do": "Request an original payslip issued directly by the employer."
        }
      }
    },
    "kaz_creation_date_backdated": {
      "messages": {
        "default": {
          "what": "The bank-statement PDF was created before the period it covers had ended, which is not possible for a genuine statement.",
          "what_to_do": "Request an original statement downloaded directly from the bank."
        }
      }
    },
    "kaz_creation_date_post_print_date": {
      "messages": {
        "default": {
          "what": "The bank-statement PDF was created more than a week after the date printed on it.",
          "what_to_do": "Request an original statement from the bank to rule out later editing."
        }
      }
    },
    "balance_arithmetic_mismatch": {
      "messages": {
        "default": {
          "what": "The bank statement does not balance: the opening balance plus the transactions does not equal the closing balance.",
          "what_to_do": "Decline or escalate, request an original statement from the bank."
        }
      }
    },
    "credit_before_payslip_date": {
      "messages": {
        "default": {
          "what": "A salary credit appears on the bank statement before the payslip's payment date.",
          "what_to_do": "Review for a legitimate advance (Vorschuss); escalate if it is unexplained."
        }
      }
    },
    "iban_checksum_fail": {
      "messages": {
        "default": {
          "what": "An IBAN on the document failed its checksum validation and is not a valid account number.",
          "what_to_do": "Re-check the IBAN and confirm the correct account number with the applicant."
        }
      }
    },
    "iban_blz_not_in_oenb": {
      "messages": {
        "default": {
          "what": "The bank code (BLZ) in the IBAN is not in the Austrian National Bank register.",
          "what_to_do": "Verify the account details; the IBAN may be mistyped or non-Austrian."
        }
      }
    },
    "failed_debit_detected": {
      "messages": {
        "default": {
          "what": "The statement shows a returned or failed direct debit.",
          "what_to_do": "Informational, consider as part of the affordability picture."
        }
      }
    },
    "chronic_overdraft": {
      "messages": {
        "default": {
          "what": "The account was overdrawn for sustained periods.",
          "what_to_do": "Informational financial-stress signal, weigh it in the affordability assessment."
        }
      }
    },
    "sollzinsen_detected": {
      "messages": {
        "default": {
          "what": "Overdraft interest (Sollzinsen) was charged on the account.",
          "what_to_do": "Informational, indicates overdraft use during the period."
        }
      }
    },
    "address_not_extracted": {
      "messages": {
        "default": {
          "what": "The address could not be read from the bank statement, so the cross-document address check was skipped.",
          "what_to_do": "If address confirmation matters for this case, request a clearer copy."
        }
      }
    },
    "transactions_after_period_end": {
      "messages": {
        "default": {
          "what": "The statement contains transactions dated after its stated period end, the period heading was likely altered.",
          "what_to_do": "Request an original statement from the bank."
        }
      }
    },
    "aml_foreign_remittance": {
      "messages": {
        "default": {
          "what": "The account shows payments to high-risk jurisdictions or via remittance services.",
          "what_to_do": "Escalate to Compliance for an anti-money-laundering review."
        }
      }
    },
    "failed_debit_pattern": {
      "messages": {
        "default": {
          "what": "The statement shows repeated failed direct debits, indicating insufficient funds.",
          "what_to_do": "Escalate, this pattern points to a serious liquidity problem."
        }
      }
    },
    "anonymous_credit_cluster": {
      "messages": {
        "default": {
          "what": "The account received significant credits with no identifiable payer.",
          "what_to_do": "Escalate to Compliance, unexplained incoming funds require review."
        }
      }
    },
    "kaz_income_absent_high_expenses": {
      "messages": {
        "default": {
          "what": "The statement shows large recurring outgoings but no salary-level credit, the claimed wage was never deposited.",
          "what_to_do": "Escalate, the declared income is not supported by the account."
        }
      }
    },
    "iban_country_not_allowed": {
      "messages": {
        "default": {
          "what": "The account's country is not on this bank's list of permitted countries.",
          "what_to_do": "Review against your onboarding policy for the country in question."
        }
      }
    },
    "pensionsbescheid_detected": {
      "messages": {
        "default": {
          "what": "A pension or welfare notice was identified as an income source.",
          "what_to_do": "Informational, no action needed."
        }
      }
    },
    "pensionsbescheid_confirmed_by_kaz": {
      "messages": {
        "default": {
          "what": "The pension amount on the notice matches a recurring deposit on the bank statement.",
          "what_to_do": "No action, the pension income is corroborated."
        }
      }
    },
    "pensionsbescheid_no_kaz_confirmation": {
      "messages": {
        "default": {
          "what": "The pension notice could not be matched to a deposit on the bank statement.",
          "what_to_do": "Request a statement showing the pension payment, or confirm the income another way."
        }
      }
    },
    "pensionsbescheid_amount_missing": {
      "messages": {
        "default": {
          "what": "The pension amount could not be read from the notice.",
          "what_to_do": "Request a clearer copy of the pension notice."
        }
      }
    },
    "pensionsbescheid_issuing_authority_unrecognized": {
      "messages": {
        "default": {
          "what": "The authority that issued the pension notice is not a recognised Austrian pension body.",
          "what_to_do": "Verify the issuer before relying on the notice."
        }
      }
    },
    "name_inconsistent_cross_doc": {
      "messages": {
        "default": {
          "what": "The names on the submitted documents do not all resolve to the same person.",
          "what_to_do": "Confirm the documents belong to one applicant; escalate a genuine mismatch."
        }
      }
    },
    "address_mismatch_cross_doc": {
      "messages": {
        "default": {
          "what": "The addresses on the documents do not match.",
          "what_to_do": "Escalate, confirm the applicant's current address from an authoritative source."
        }
      }
    },
    "dob_mismatch_cross_doc": {
      "messages": {
        "default": {
          "what": "The dates of birth differ across the documents.",
          "what_to_do": "Escalate, a date-of-birth mismatch may indicate document substitution."
        }
      }
    },
    "employer_salary_missing": {
      "messages": {
        "default": {
          "what": "The expected employer salary could not be found on the bank statement by name or amount.",
          "what_to_do": "Verify the employment and that the salary is paid into this account."
        }
      }
    },
    "employer_salary_unverified": {
      "messages": {
        "default": {
          "what": "The employer name was not found on the bank statement, although a credit close to the expected net salary is present.",
          "what_to_do": "Confirm the credit is the salary from the named employer."
        }
      }
    },
    "pdf_timezone_mismatch": {
      "messages": {
        "default": {
          "what": "The time-zone stamps in the PDF timestamps are inconsistent across documents.",
          "what_to_do": "Treat as a supporting signal, review alongside other document-authenticity findings."
        }
      }
    },
    "document_type_mismatch": {
      "messages": {
        "default": {
          "what": "A submitted file does not match the document type it was uploaded as.",
          "what_to_do": "Ask the applicant to re-upload the correct document for that slot."
        }
      }
    },
    "optical_vs_metadata_date_mismatch": {
      "messages": {
        "default": {
          "what": "The date printed on the document differs from the date stored inside the PDF file.",
          "what_to_do": "Review the gap, a large difference suggests the document was re-rendered or back-dated."
        },
        "INFO": {
          "what": "The printed date and the PDF's internal date differ by a small margin.",
          "what_to_do": "Low concern, no action needed unless other findings are present."
        },
        "HIGH": {
          "what": "The date printed on the document and the date stored inside the PDF differ substantially.",
          "what_to_do": "Request an original document; a large gap indicates back-dating or re-rendering."
        }
      }
    },
    "salary_credit_confirmed": {
      "messages": {
        "default": {
          "what": "A salary credit matching the payslip was found on the bank statement.",
          "what_to_do": "No action, the income is corroborated."
        }
      }
    },
    "salary_credit_not_found": {
      "messages": {
        "default": {
          "what": "The expected salary credit was not found on the bank statement within the matching window.",
          "what_to_do": "Request a statement covering the pay date, or confirm where the salary is paid."
        }
      }
    },
    "bank_iban_payslip_mismatch": {
      "messages": {
        "default": {
          "what": "The account on the payslip does not match the account on the bank statement.",
          "what_to_do": "Confirm where the salary is actually paid, a mismatch can indicate income routed elsewhere."
        }
      }
    },
    "gz_kaz_sender_iban_mismatch": {
      "messages": {
        "default": {
          "what": "The employer's paying account on the payslip does not appear in any salary credit on the bank statement.",
          "what_to_do": "Verify that the salary is paid by the named employer."
        }
      }
    },
    "gz_kaz_employer_cross_check": {
      "messages": {
        "default": {
          "what": "The payer of the matched salary credit is not the employer named on the payslip.",
          "what_to_do": "Confirm the employment relationship and who actually pays the applicant."
        }
      }
    },
    "geographic_incoherence": {
      "messages": {
        "default": {
          "what": "The countries implied by the account, ID, address, employer and phone number are not consistent with each other.",
          "what_to_do": "Review the applicant's stated circumstances for an explanation."
        }
      }
    },
    "wrong_person_id": {
      "messages": {
        "default": {
          "what": "The identity document appears to belong to a different applicant in this batch.",
          "what_to_do": "Escalate, confirm each document is matched to the correct applicant."
        }
      }
    },
    "ring_match_biometric": {
      "messages": {
        "default": {
          "what": "This applicant's face or signature matches another applicant in the batch.",
          "what_to_do": "Escalate the linked applicants together as a possible fraud ring."
        }
      }
    },
    "ring_match_shared_iban_non_household": {
      "messages": {
        "default": {
          "what": "This applicant shares a bank account with another, unrelated applicant.",
          "what_to_do": "Escalate, a shared account across unrelated applicants is a fraud-ring signal."
        }
      }
    },
    "ring_match_pa_proximity_plus_signals": {
      "messages": {
        "default": {
          "what": "This applicant's ID number clusters with another applicant's within a fraud batch, alongside other matching signals.",
          "what_to_do": "Escalate the linked applicants as a possible ring."
        }
      }
    },
    "ring_match_same_person_two_ids": {
      "messages": {
        "default": {
          "what": "The same face appears on two different identity documents with different declared identities.",
          "what_to_do": "Escalate, this indicates identity stitching."
        }
      }
    },
    "ring_deterministic": {
      "messages": {
        "default": {
          "what": "Two or more independent fraud-ring signals link this applicant to others in the batch.",
          "what_to_do": "Escalate the linked group for ring review."
        }
      }
    },
    "identical_payslip_cross_applicant": {
      "messages": {
        "default": {
          "what": "An identical payslip appears across multiple applicants.",
          "what_to_do": "Escalate, duplicate payslips indicate a shared fabrication source."
        }
      }
    },
    "shared_employer_cluster": {
      "messages": {
        "default": {
          "what": "This applicant shares an employer with several other unrelated applicants in the batch.",
          "what_to_do": "Review the cluster, common for large employers, but corroborate with other signals."
        }
      }
    },
    "name_flip_cross_applicant": {
      "messages": {
        "default": {
          "what": "This applicant's name appears as a re-ordered or phonetic variant of another applicant's.",
          "what_to_do": "Escalate the linked applicants for possible identity manipulation."
        }
      }
    },
    "submission_timestamp_cluster": {
      "messages": {
        "default": {
          "what": "Several applicants submitted within a very short time window.",
          "what_to_do": "Review the cluster, coordinated submissions can indicate an intermediary."
        }
      }
    },
    "shared_pdf_creator": {
      "messages": {
        "default": {
          "what": "Documents from several applicants were produced by the same non-standard PDF tool.",
          "what_to_do": "Escalate, a shared document source points to an intermediary or ring."
        }
      }
    },
    "ring_payslip_escalation": {
      "messages": {
        "default": {
          "what": "This applicant was escalated because a linked ring member has a serious payslip anomaly.",
          "what_to_do": "Review the linked applicants together."
        }
      }
    },
    "workplace_coupling_cluster": {
      "messages": {
        "default": {
          "what": "Applicants share the same payroll account and have phonetically similar names.",
          "what_to_do": "Escalate as a possible coordinated ring."
        }
      }
    },
    "aml_pass_through_account": {
      "messages": {
        "default": {
          "what": "The account shows high in-and-out flow with very little money retained, a money-mule / pass-through pattern.",
          "what_to_do": "Escalate to Compliance for an anti-money-laundering review."
        }
      }
    },
    "shared_anonymous_credit_source": {
      "messages": {
        "default": {
          "what": "Several applicants receive credits from the same unidentified source.",
          "what_to_do": "Escalate, a shared anonymous payer is a coordinated-ring signal."
        }
      }
    },
    "structured_dispersal_cross_applicant": {
      "messages": {
        "default": {
          "what": "Several applicants receive amounts kept just under reporting thresholds from the same source.",
          "what_to_do": "Escalate to Compliance, this pattern indicates structuring."
        }
      }
    },
    "repeat_applicant_iban": {
      "messages": {
        "default": {
          "what": "This account has been seen on a previous applicant in your history.",
          "what_to_do": "Review the earlier case, a repeat account may indicate recycled details."
        }
      }
    },
    "repeat_applicant_pa_number": {
      "messages": {
        "default": {
          "what": "This ID number has been seen on a previous applicant.",
          "what_to_do": "Review the earlier case for recycled identity details."
        }
      }
    },
    "repeat_applicant_sv_nr": {
      "messages": {
        "default": {
          "what": "This social-security number has been seen on a previous applicant.",
          "what_to_do": "Review the earlier case for recycled identity details."
        }
      }
    },
    "repeat_applicant_name": {
      "messages": {
        "default": {
          "what": "This applicant's name matches a previous applicant in your history.",
          "what_to_do": "Review the earlier case to confirm whether this is the same person."
        }
      }
    },
    "repeat_applicant_address": {
      "messages": {
        "default": {
          "what": "This address has been seen on a previous applicant.",
          "what_to_do": "Review the earlier case, a shared address may be a household or a ring."
        }
      }
    },
    "repeat_applicant_face_biometric": {
      "messages": {
        "default": {
          "what": "This applicant's face matches a previous applicant in your history.",
          "what_to_do": "Escalate, a repeat face under a new identity indicates repeat fraud."
        }
      }
    },
    "same_applicant_resubmission": {
      "messages": {
        "default": {
          "what": "This applicant appears to have submitted before, in this batch or your history.",
          "what_to_do": "Review whether this is a duplicate or a repeat application."
        }
      }
    },
    "repeat_applicant_employer": {
      "messages": {
        "default": {
          "what": "This employer has been seen on a previous applicant.",
          "what_to_do": "Review for a possible shared-employer ring."
        }
      }
    },
    "cross_batch_ring": {
      "messages": {
        "default": {
          "what": "Repeat-applicant signals combine to link this applicant to a ring spanning your application history.",
          "what_to_do": "Escalate the linked group for ring review."
        }
      }
    },
    "wrong_person_biometric": {
      "messages": {
        "default": {
          "what": "The face on the identity document does not match the face on the applicant's other document.",
          "what_to_do": "Decline or escalate, this indicates identity substitution."
        }
      }
    },
    "image_source_detected": {
      "messages": {
        "default": {
          "what": "The document was submitted as a photo or image and converted to PDF on intake.",
          "what_to_do": "Informational, an original PDF from the issuer is preferable where available."
        }
      }
    },
    "phone_camera_capture": {
      "messages": {
        "default": {
          "what": "The document is a phone photo, based on its image metadata.",
          "what_to_do": "Informational, request an original PDF if document authenticity is in question."
        }
      }
    },
    "scanner_capture": {
      "messages": {
        "default": {
          "what": "The document was produced by scanner software, based on its metadata.",
          "what_to_do": "Informational, no action unless other findings are present."
        }
      }
    },
    "metadata_absent": {
      "messages": {
        "default": {
          "what": "The image-sourced document has no embedded metadata, which can indicate it was re-saved.",
          "what_to_do": "Treat as a supporting signal, request an original if other findings co-occur."
        }
      }
    },
    "metadata_datetime_mismatch": {
      "messages": {
        "default": {
          "what": "The image's 'taken' and 'digitised' timestamps differ, indicating the timestamps were altered.",
          "what_to_do": "Request an original document; altered timestamps are a tampering signal."
        }
      }
    },
    "metadata_edited": {
      "messages": {
        "default": {
          "what": "The image was processed by photo-editing software (for example Photoshop).",
          "what_to_do": "Escalate, request an unedited original document."
        }
      }
    },
    "gps_coordinates_present": {
      "messages": {
        "default": {
          "what": "The image contains GPS location data.",
          "what_to_do": "Informational, can corroborate or contradict the stated location."
        }
      }
    },
    "whatsapp_transmission_detected": {
      "messages": {
        "default": {
          "what": "The document shows the fingerprint of having been sent through WhatsApp before submission.",
          "what_to_do": "Request the original file; documents routed via messaging apps are re-compressed and harder to verify."
        }
      }
    },
    "pending_biometric_viz_dob": {
      "messages": {
        "default": {
          "what": "The date of birth could not be read from the visible part of the identity document.",
          "what_to_do": "Confirm the date of birth manually from the document."
        }
      }
    },
    "viz_mrz_dob_mismatch": {
      "messages": {
        "default": {
          "what": "The visible date of birth on the ID differs from the date of birth in its machine-readable zone.",
          "what_to_do": "Escalate, a mismatch between the two can indicate a tampered document."
        }
      }
    },
    "signature_overlay_detected": {
      "messages": {
        "default": {
          "what": "The signature appears to have been pasted onto the document rather than signed on it.",
          "what_to_do": "Decline or escalate, a pasted signature is a forgery signal."
        }
      }
    },
    "extraction_quality_low": {
      "messages": {
        "default": {
          "what": "The document could not be read with enough confidence to analyse it fully.",
          "what_to_do": "Request a clearer copy of the document."
        }
      }
    },
    "required_fields_missing": {
      "messages": {
        "default": {
          "what": "Required fields could not be found in one or more documents.",
          "what_to_do": "Request a complete copy showing the missing information."
        }
      }
    },
    "image_only_submission": {
      "messages": {
        "default": {
          "what": "A PDF was submitted as a scanned image with no text layer, which limits the checks that can run.",
          "what_to_do": "Request a text-based PDF downloaded directly from the issuer."
        }
      }
    },
    "page_count_implausible": {
      "messages": {
        "default": {
          "what": "A document has an unexpected number of pages for its type.",
          "what_to_do": "Confirm the full document was submitted."
        }
      }
    },
    "acroform_present": {
      "messages": {
        "default": {
          "what": "The PDF contains fillable form fields, which is common in bank-reprinted documents.",
          "what_to_do": "Informational, no action needed for normal bank workflows."
        }
      }
    },
    "ms_word_pdf_creator": {
      "messages": {
        "default": {
          "what": "The PDF was created by Microsoft Word, which is common when a document is reprinted.",
          "what_to_do": "Informational, no action needed for normal bank workflows."
        }
      }
    },
    "print_to_pdf_creator": {
      "messages": {
        "default": {
          "what": "The PDF was produced by a 'print to PDF' tool, which is common in bank workflows.",
          "what_to_do": "Informational, no action needed for normal bank workflows."
        }
      }
    },
    "microsoft_print_to_pdf_creator": {
      "messages": {
        "default": {
          "what": "The PDF was produced by Microsoft Print to PDF, which is common in bank workflows.",
          "what_to_do": "Informational, no action needed for normal bank workflows."
        }
      }
    },
    "pdf_timestamp_impossible": {
      "messages": {
        "default": {
          "what": "The PDF's modification date is earlier than its creation date, which is not possible for an untouched file.",
          "what_to_do": "Request an original document; the timestamps indicate tampering."
        }
      }
    },
    "gradient_pixel_inconsistency": {
      "messages": {
        "default": {
          "what": "The pixel-forensics provider flagged inconsistencies in the document image.",
          "what_to_do": "Review the flagged document for signs of editing; escalate if confirmed."
        }
      }
    },
    "Q3_EXTRACTION_FAILURE": {
      "messages": {
        "default": {
          "what": "One or more documents could not be processed at all.",
          "what_to_do": "Re-submit the failing documents; check they are not corrupted or password-protected."
        }
      }
    },
    "extraction_failed": {
      "messages": {
        "default": {
          "what": "A document-reading step did not complete because of a processing error.",
          "what_to_do": "Re-submit the affected document; if it recurs, contact support."
        }
      }
    },
    "social_media_crosscheck": {
      "messages": {
        "default": {
          "what": "The applicant's social-media presence was assessed for consistency with their declared identity and employer.",
          "what_to_do": "Review the assessment alongside the other identity checks."
        }
      }
    },
    "employer_internet_search": {
      "messages": {
        "default": {
          "what": "The declared employer was checked against public web sources to confirm it is a real business.",
          "what_to_do": "Review the result where the employer could not be confirmed."
        }
      }
    },
    "employer_reputation_search": {
      "messages": {
        "default": {
          "what": "Public sources were screened for adverse information about the declared employer.",
          "what_to_do": "Review any adverse findings before relying on the employment."
        }
      }
    },
    "ksv1870_person_not_found": {
      "messages": {
        "default": {
          "what": "The applicant was not found in the external person-verification registry.",
          "what_to_do": "Verify the applicant's identity by other means."
        }
      }
    },
    "ksv1870_person_insolvent": {
      "messages": {
        "default": {
          "what": "The external registry reports the applicant as insolvent.",
          "what_to_do": "Factor the insolvency into the credit decision; escalate per policy."
        }
      }
    },
    "ksv1870_employer_not_found": {
      "messages": {
        "default": {
          "what": "The declared employer was not found in the business registry.",
          "what_to_do": "Verify the employer exists before relying on the employment."
        }
      }
    },
    "ksv1870_employer_inactive": {
      "messages": {
        "default": {
          "what": "The business registry reports the declared employer as inactive.",
          "what_to_do": "Verify the applicant's current employment status."
        }
      }
    },
    "ksv1870_api_unreachable": {
      "messages": {
        "default": {
          "what": "The external person/employer registry could not be reached, so that check did not run.",
          "what_to_do": "Retry later if the registry check is required for this case."
        }
      }
    },
    "gradient_api_unreachable": {
      "messages": {
        "default": {
          "what": "The pixel-forensics provider could not be reached, so that check did not run.",
          "what_to_do": "Retry later if pixel forensics are required for this case."
        }
      }
    },
    "biller_registry_hit": {
      "messages": {
        "default": {
          "what": "A counterparty on the document matched an entry in the biller registry.",
          "what_to_do": "Informational, confirms a known biller; no action unless flagged elsewhere."
        }
      }
    },
    "umbrella_address_api_unreachable": {
      "messages": {
        "default": {
          "what": "The address-verification service could not be reached, so that check did not run.",
          "what_to_do": "Retry later if address verification is required."
        }
      }
    },
    "umbrella_address_invalid": {
      "messages": {
        "default": {
          "what": "The address-verification service reports the supplied address as invalid.",
          "what_to_do": "Confirm the correct address with the applicant."
        }
      }
    },
    "umbrella_address_no_match": {
      "messages": {
        "default": {
          "what": "The address-verification service could not match the supplied address.",
          "what_to_do": "Confirm the address with the applicant or an authoritative source."
        }
      }
    },
    "umbrella_aml_api_unreachable": {
      "messages": {
        "default": {
          "what": "The sanctions/AML screening service could not be reached, so that check did not run.",
          "what_to_do": "Retry before completing onboarding, AML screening is required."
        }
      }
    },
    "umbrella_aml_sanction_hit": {
      "messages": {
        "default": {
          "what": "The applicant matched a sanctions list.",
          "what_to_do": "Escalate to Compliance immediately, do not proceed until the case is cleared."
        }
      }
    },
    "umbrella_aml_criminal_hit": {
      "messages": {
        "default": {
          "what": "The applicant matched a criminal-records screening.",
          "what_to_do": "Escalate to Compliance for review."
        }
      }
    },
    "umbrella_aml_pep_hit": {
      "messages": {
        "default": {
          "what": "The applicant matched a politically-exposed-person (PEP) list.",
          "what_to_do": "Apply enhanced due diligence per your PEP policy."
        }
      }
    },
    "umbrella_credit_api_unreachable": {
      "messages": {
        "default": {
          "what": "The credit-screening service could not be reached, so that check did not run.",
          "what_to_do": "Retry later if a credit check is required."
        }
      }
    },
    "umbrella_credit_poor": {
      "messages": {
        "default": {
          "what": "The credit-screening service reports poor credit.",
          "what_to_do": "Factor the result into the credit decision per policy."
        }
      }
    },
    "umbrella_osint_api_unreachable": {
      "messages": {
        "default": {
          "what": "The open-source-intelligence service could not be reached, so that check did not run.",
          "what_to_do": "Retry later if OSINT screening is required."
        }
      }
    },
    "umbrella_osint_adverse_media": {
      "messages": {
        "default": {
          "what": "Open-source screening found adverse media about the applicant.",
          "what_to_do": "Review the adverse findings before proceeding."
        }
      }
    },
    "id_template_nonconformance": {
      "messages": {
        "default": {
          "what": "The identity document's layout does not match the official template for its country.",
          "what_to_do": "Escalate to identity review, the document may be counterfeit."
        }
      }
    }
  },
  "override_rules": {
    "I1": {
      "what": "The verdict was set to decline because an identity document failed its checksum validation.",
      "what_to_do": "Review the failing identity finding; request a valid document."
    },
    "P3": {
      "what": "The verdict was set to decline because the payslip shows a year-to-date doubling fabrication pattern.",
      "what_to_do": "Request original payslips from the employer."
    },
    "B2": {
      "what": "The verdict was set to decline because a document was created at an impossible date relative to its content.",
      "what_to_do": "Request an original document issued by the source."
    },
    "B3": {
      "what": "The verdict was set to decline because the bank statement contains transactions dated after its stated period.",
      "what_to_do": "Request an original statement from the bank."
    },
    "B5": {
      "what": "The verdict was set to decline because the bank statement does not balance.",
      "what_to_do": "Request an original statement from the bank."
    },
    "B11": {
      "what": "The verdict was set to decline because the account shows high expenses but no salary deposit.",
      "what_to_do": "Confirm where the declared income is actually paid."
    },
    "I9_AT": {
      "what": "The verdict was set to decline because the ID number is on a confirmed government fraud list.",
      "what_to_do": "Decline and preserve the case in the audit log."
    },
    "X_RING": {
      "what": "The verdict was set to decline because this applicant is part of a detected fraud ring.",
      "what_to_do": "Escalate the linked applicants together."
    },
    "W_BIO_REJECT": {
      "what": "The verdict was set to decline because the face on the ID does not match the applicant's other document.",
      "what_to_do": "Confirm identity in person or with a fresh document."
    },
    "S_OVERLAY_REJECT": {
      "what": "The verdict was set to decline because a signature appears to have been pasted onto a document.",
      "what_to_do": "Request an original signed document."
    },
    "I13": {
      "what": "The verdict was set to decline because an identity document belongs to a different person.",
      "what_to_do": "Confirm each document is matched to the correct applicant."
    },
    "X_REPEAT_IBAN": {
      "what": "The verdict was set to decline because this account was used by a previous applicant.",
      "what_to_do": "Review the earlier case before proceeding."
    },
    "X_REPEAT_BIOMETRIC": {
      "what": "The verdict was set to decline because this face matches a previous applicant under a different identity.",
      "what_to_do": "Escalate as repeat fraud."
    },
    "X_REPEAT_PA": {
      "what": "The verdict was set to decline because this ID number was used by a previous applicant.",
      "what_to_do": "Review the earlier case before proceeding."
    },
    "X_REPEAT_SV": {
      "what": "The verdict was set to decline because this social-security number was used by a previous applicant.",
      "what_to_do": "Review the earlier case before proceeding."
    },
    "X_CROSS_BATCH_RING": {
      "what": "The verdict was set to decline because this applicant links to a ring spanning your application history.",
      "what_to_do": "Escalate the linked group."
    },
    "P5": {
      "what": "The verdict was set to decline because declared income is far outside the normal range for the occupation.",
      "what_to_do": "Verify employment and salary independently."
    },
    "P4_NV": {
      "what": "The verdict was set to 'pass with conditions' because the payslip arithmetic could not be fully confirmed.",
      "what_to_do": "Confirm the figures manually if the case is otherwise borderline."
    },
    "PB1_CONDITIONAL": {
      "what": "The verdict was set to 'pass with conditions' because the pension income could not be fully confirmed.",
      "what_to_do": "Request supporting evidence of the pension payment."
    },
    "I_CROSS_SCRIPT_CONDITIONAL": {
      "what": "The verdict was set to 'pass with conditions' because a name in a non-Latin script could not be verified automatically.",
      "what_to_do": "Verify the name manually against the document."
    },
    "P6": {
      "what": "The verdict was set to decline because the payslip does not add up.",
      "what_to_do": "Request an original payslip from the employer."
    },
    "AML1": {
      "what": "The verdict was set to decline because of a high-risk foreign-remittance pattern.",
      "what_to_do": "Escalate to Compliance for an AML review."
    },
    "AML2": {
      "what": "The verdict was set to decline because of significant unexplained incoming credits.",
      "what_to_do": "Escalate to Compliance for an AML review."
    },
    "LIQ1": {
      "what": "The verdict was set to decline because of repeated failed debits indicating severe liquidity problems.",
      "what_to_do": "Escalate per your affordability policy."
    },
    "B10": {
      "what": "The verdict was escalated because a salary credit appears before its payslip date.",
      "what_to_do": "Review for a legitimate advance before deciding."
    },
    "Q1": {
      "what": "The verdict is pending because a document was submitted as an image with no text layer.",
      "what_to_do": "Request a text-based PDF from the issuer and re-submit."
    },
    "Q3": {
      "what": "The verdict is pending because one or more documents could not be processed.",
      "what_to_do": "Re-submit the failing documents."
    },
    "M_EXTRACTION_FAILED_CAP": {
      "what": "A document-reading error was treated as informational so it does not by itself change the verdict.",
      "what_to_do": "Re-submit the affected document if the rest of the case depends on it."
    },
    "C3": {
      "what": "A cross-document address mismatch was treated as a critical finding.",
      "what_to_do": "Confirm the applicant's address from an authoritative source."
    },
    "M8_ACROFORM": {
      "what": "Fillable form fields in the PDF were treated as informational only.",
      "what_to_do": "No action, common in bank-reprinted documents."
    },
    "M9_WORD": {
      "what": "A document produced by Word or a print-to-PDF tool was treated as informational only.",
      "what_to_do": "No action, common in bank workflows."
    },
    "M9_WORD_CONDITIONAL": {
      "what": "A document produced by Word or a print-to-PDF tool was treated as a minor condition rather than a fraud signal.",
      "what_to_do": "No action unless other findings are present."
    },
    "X10_CRYPTO": {
      "what": "An isolated crypto-related transaction was treated as informational only.",
      "what_to_do": "No action unless it is part of a wider pattern."
    },
    "F13": {
      "what": "The verdict was raised to escalate as a safety net because at least one serious finding was present.",
      "what_to_do": "Review the findings list and route to second-line review."
    },
    "F14": {
      "what": "The verdict was set to decline as a safety net because several income-evidence findings occurred together.",
      "what_to_do": "Review the combined findings; request original documents."
    }
  },
  "verdicts": {
    "REJECT": {
      "what": "Fraud or forgery was confirmed by one or more deterministic checks.",
      "what_to_do": "Decline the application and preserve the evidence in your audit log."
    },
    "ESCALATE": {
      "what": "There is enough concern to require human review before a decision.",
      "what_to_do": "Route the case to your second-line review team."
    },
    "CONDITIONAL": {
      "what": "The case passes with caveats, minor anomalies are present.",
      "what_to_do": "Accept, and review the findings if your policy requires."
    },
    "PASS": {
      "what": "All checks passed.",
      "what_to_do": "Accept without further forensic review."
    },
    "PENDING": {
      "what": "Analysis could not be completed, a document was unreadable or incomplete.",
      "what_to_do": "Re-submit a clearer copy of the failing document, then re-run."
    }
  },
  "case_type_checks": {
    "unassigned_document": {
      "messages": {
        "default": {
          "what": "A submitted document is not assigned to any role in the case, so it was not checked.",
          "what_to_do": "Add the document to the manifest under the right role, or remove it if it does not belong to the case."
        }
      }
    },
    "manifest_document_missing": {
      "messages": {
        "default": {
          "what": "The manifest lists a document that was not submitted.",
          "what_to_do": "Submit the missing document, or correct the manifest if the document is not part of the case."
        }
      }
    }
  }
}
