Example of controls

Automated Controls using logics

All UBOs identified

Control : all UBOs are identified

Control : all UBOs are identified

Risk is set, and not Prohibited

Control :  The risk is set, and not "Prohibited"

Control : The risk is set, and not "Prohibited"


Automated Controls using codes

No individual has true positive hits of type sanction

let positive_hit_types = [];

$.input.individuals.forEach((ind) => {
  // Find the AML check for the current individual
  const aml = ind.checks.find((check) => check.type === "aml");
  // If an AML check is found, proceed to push its data
  if (aml && aml.type === "aml" && aml.data.true_positive_list_types) {
    positive_hit_types.push(...aml.data.true_positive_list_types);
  }
});

if (!positive_hit_types.includes("sanction")) {
		$.mark_control_as_completed();
}

Risk is set

const riskIsSet = $.input.case.risk !== undefined || $.input.case.risk.level !== 'not_defined';

if(riskIsSet) {
	$.mark_control_as_completed();
}

At least 1 UBO in the case

const hasAtLeastOneUBO = $.input.individuals.some(individual => item.is_beneficial_owner === true);

if(hasAtLeastOneUBO) {
	$.mark_control_as_completed();
}

At least 1 Legal Rep in the case

const hasAtLeastOneLegalRep = $.input.individuals.some(individual => item.roles.includes("legal_representative"));

if(hasAtLeastOneLegalRep) {
	$.mark_control_as_completed();
}

All UBOs identified

const allUBOIdentified = $.input.individuals.reduce((sum, item) => sum + individual.ownership_percentage, 0) > 0.75;

if(allUBOIdentified) {
	$.mark_control_as_completed();
}