Розробка системи PEP (Politically Exposed Persons) перевірки

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Розробка системи PEP (Politically Exposed Persons) перевірки
Середній
~3-5 днів
Часті запитання

Напрямки блокчейн-розробки

Етапи блокчейн-розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1306
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1218
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    920
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1147
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    610
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    885

Розробка системи перевірки PEP (Політично наражені особи)

Перевірка PEP — вимога FATF R12 та більшості законодавства про AML. Політично значущі особи (державні чиновники, керівники державних корпорацій, політики, військові командири вищого рангу) вважаються клієнтами високого ризику через підвищений ризик корупції. Це не означає блокування, але вимагає посиленої належної перевірки.

Що таке PEP

Внутрішній PEP: високопоставлений державний чиновник у країні обслуговування клієнта.

Іноземний PEP: чиновник іншої країни — зазвичай вищий ризик.

PEP міжнародної організації: керівники великих міжнародних організацій (ООН, МВФ, Світовий банк).

RCA (Родичі та близькі партнери): подружжя, діти, батьки PEP, ділові партнери.

Джерела даних PEP

Комерційні постачальники:

  • ComplyAdvantage: 10M+ записів, REST API, покриття RCA
  • Refinitiv World-Check: найбільша база даних, використовується банками
  • Dow Jones Risk & Compliance: рівень підприємства
  • Acuris Risk Intelligence

Особливість: немає єдиного офіційного державного реєстру PEP. Постачальники збирають дані з відкритих джерел (урядові веб-сайти, Wikileaks, журналісти).

Інтеграція API ComplyAdvantage

class PEPScreeningService {
  async screenPerson(params: {
    firstName: string;
    lastName: string;
    dateOfBirth?: string;
    nationality?: string;
  }): Promise<PEPScreenResult> {
    
    const response = await this.complyAdvantage.search({
      search_term: `${params.firstName} ${params.lastName}`,
      fuzziness: 0.7,
      filters: {
        types: ["pep", "pep-class-1", "pep-class-2", "pep-class-3", "pep-class-4"],
      },
    });
    
    const matches = response.content.data.hits;
    
    if (matches.length === 0) return { isPEP: false, isRCA: false };
    
    // Фільтруємо за датою народження, якщо є
    const strongMatches = params.dateOfBirth
      ? matches.filter(m => this.dobMatches(m, params.dateOfBirth!))
      : matches;
    
    if (strongMatches.length === 0) {
      return { isPEP: false, possibleMatches: matches.slice(0, 3) };
    }
    
    const match = strongMatches[0];
    return {
      isPEP: match.doc.types.some(t => t.startsWith("pep")),
      isRCA: match.doc.types.includes("relative-close-associate"),
      pepClass: this.extractPEPClass(match.doc.types),
      positions: match.doc.fields?.filter(f => f.tag === "position") ?? [],
      country: match.doc.fields?.find(f => f.tag === "country_names")?.value,
      matchScore: match.score,
      entity: match.doc,
    };
  }
  
  private extractPEPClass(types: string[]): number {
    if (types.includes("pep-class-1")) return 1; // Глава держави, міністри уряду
    if (types.includes("pep-class-2")) return 2; // Члени парламенту, вищої судової влади
    if (types.includes("pep-class-3")) return 3; // Вищі військові, керівники державних підприємств
    if (types.includes("pep-class-4")) return 4; // Місцева влада, посади нижчого рівня ризику
    return 0;
  }
}

Логіка обробки результатів PEP

async function handlePEPResult(userId: string, result: PEPScreenResult): Promise<void> {
  if (!result.isPEP && !result.isRCA) {
    await db.setUserRiskFactor(userId, "pep", false);
    return;
  }
  
  // PEP вимагає посиленої належної перевірки
  await db.setUserRiskFactor(userId, "pep", true);
  await db.updateUserRiskLevel(userId, RiskLevel.HIGH);
  
  const eddRequired: EDDRequirement = {
    sourceOfFunds: true,
    sourceOfWealth: true,
    seniorManagementApproval: result.pepClass <= 2, // клас 1-2 вимагає затвердження керівництва
    enhancedOngoingMonitoring: true,
    annualReview: true,
  };
  
  await requestEDD(userId, eddRequired);
  await notifyComplianceOfficer(userId, result);
}

Постійний моніторинг PEP

PEP статус може з'явитися у існуючого клієнта (призначення на посаду):

// Щотижневе переоцінювання всіх активних клієнтів
@Cron("0 2 * * 0") // кожної неділі о 2:00
async weeklyPEPRescreening() {
  const activeCustomers = await db.getActiveCustomers();
  
  for (const customer of activeCustomers) {
    const result = await this.pepService.screenPerson(customer);
    const previousStatus = customer.pepStatus;
    
    if (result.isPEP && !previousStatus) {
      // Новий PEP — негайне повідомлення
      await this.handleNewPEPDetection(customer.id, result);
    }
  }
}

Система перевірки PEP з інтеграцією ComplyAdvantage, робочим процесом EDD та періодичним переоцінюванням — 2-3 тижні розробки.