A new business customer passes the identity check through Onfido or Sumsub, and you get the result of matching the director's ID document to their face. Then they send a business register extract and a beneficial owner declaration, and some customers also send proof of income, some by email, some through the self-service portal, some scanned from paper. The compliance officer opens every file, retypes names, codes, document numbers and expiry dates into the customer record in Dynamics 365 or Salesforce, and then compares: is the director in the register extract the same person Onfido verified, do the declared beneficial owners match the shareholders in the extract, does the income amount match the application, is the document still valid. For one file this usually takes half an hour, and errors appear where the eye slides over codes.
The solution takes documents from the KYC mailbox and the self-service portal, pulls the Onfido or Sumsub check result through the API or from their report, and passes everything to a private model in a Bedrock EU region. The model recognises the document type, extracts the fields, cross-checks them across documents, against the check result and against the existing customer record in Dynamics 365 or Salesforce, and flags expiry dates, missing fields and mismatches. The result appears in the CRM as a draft customer record with notes and the source of each field. The specialist reviews, corrects and approves; until then nothing is written to the customer record and the customer status does not change. We connect to Onfido, Sumsub and the CRM through an API, a file export or an email flow, depending on your version. Data does not leave the EU, the model does not learn from it, and every action stays in the log, in line with GDPR and DORA.