Финансовый регулятор оштрафовал криптобиржу на $3 млн за отсутствие EDD по PEP-клиенту. Такие случаи — не редкость: FATF R12 требует обязательной идентификации политически значимых лиц. Если ваша система AML не умеет различать PEP и RCA (родственников), вы рискуете пропустить high-risk клиента. Мы разрабатываем PEP-проверку под ключ: от выбора провайдера до EDD-воркфлоу и непрерывного мониторинга. Оцениваем проект за 2 дня, деплой — за 2–4 недели.
Без автоматизации compliance-отдел тратит часы на ручную проверку каждого клиента. Наша система сокращает это время до секунд, обрабатывая запросы в реальном времени через API ComplyAdvantage или World-Check. Точность скрининга — более 95% после настройки фильтров. В этой статье разберём, как избежать типичных ошибок и построить надёжную PEP-систему.
Проблемы, которые решаем
Ложные срабатывания. База ComplyAdvantage выдаёт 30% совпадений, но большинство — false positives. Настраиваем fuzziness и фильтры по DOB для точности 95%.
Отсутствие RCA. Родственники PEP не менее рискованны. Интегрируем API с покрытием relatives.
Регулярный rescreening. PEP статус меняется со временем. Ставим cron каждую неделю с уведомлением compliance officer.
Как мы это делаем
Используем ComplyAdvantage как основной источник. Пример интеграции на TypeScript:
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 }; // Фильтруем по DOB если есть 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; // Head of state, government ministers if (types.includes("pep-class-2")) return 2; // Parliament members, senior judiciary if (types.includes("pep-class-3")) return 3; // Senior military, state-owned enterprise heads if (types.includes("pep-class-4")) return 4; // Local government, lower-risk positions return 0; } } После определения статуса запускаем EDD workflow для PEP классов 1–2 — требуется одобрение senior management.
async function handlePEPResult(userId: string, result: PEPScreenResult): Promise<void> { if (!result.isPEP && !result.isRCA) { await db.setUserRiskFactor(userId, "pep", false); return; } // PEP требует Enhanced Due Diligence await db.setUserRiskFactor(userId, "pep", true); await db.updateUserRiskLevel(userId, RiskLevel.HIGH); const eddRequired: EDDRequirement = { sourceOfFunds: true, sourceOfWealth: true, seniorManagementApproval: result.pepClass <= 2, enhancedOngoingMonitoring: true, annualReview: true, }; await requestEDD(userId, eddRequired); await notifyComplianceOfficer(userId, result); } Для непрерывного мониторинга настраиваем еженедельный rescreening всех активных клиентов.
@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 по уровню риска?
PEP класс 1 (главы государств, премьер-министры) требует одобрения senior management и расширенной проверки источников средств. Класс 4 (чиновники местного уровня) — только облегчённая EDD. Неправильная классификация ведёт к штрафам или избыточной нагрузке на compliance. Наш API возвращает pepClass, что позволяет автоматизировать эти процессы.
Как настроить автоматическое обновление PEP статусов?
Используем регулярный запуск скрипта через cron: каждое воскресенье в 2:00. API ComplyAdvantage возвращает обновлённые статусы. При обнаружении нового PEP система немедленно уведомляет compliance-офицера и запускает EDD workflow. Это исключает человеческий фактор и гарантирует соответствие требованиям FATF Recommendation 12.
Сравнение провайдеров PEP данных
| Провайдер | Записей | API | RCA покрытие | Рекомендуется для |
|---|---|---|---|---|
| ComplyAdvantage | 10M+ | REST | Да, 2M+ | Стартапы, криптобиржи |
| World-Check (Refinitiv) | 20M+ | REST/SOAP | Да, 5M+ | Банки, крупные fintech |
| Dow Jones Risk & Compliance | 30M+ | Enterprise | Полное | Корпорации, government |
| Acuris Risk Intelligence | 5M+ | REST | Ограниченное | Бюджетные решения |
ComplyAdvantage лучше для стартапов из-за простой интеграции, а World-Check — для банков благодаря глубине данных. Мы помогаем выбрать провайдера под ваш бюджет и регуляторные требования.
Этапы и сроки
| Этап | Длительность | Результат |
|---|---|---|
| Анализ требований | 1-2 дня | Документ с требованиями |
| Подбор провайдера | 1 день | Выбор провайдера и план интеграции |
| Интеграция API | 3-5 дней | Рабочий эндпоинт скрининга |
| Разработка EDD workflow | 2-4 дня | Цепочка утверждений и уведомлений |
| Тестирование | 2-3 дня | Отчет о точности >95% |
| Деплой и документация | 2 дня | Продакшн и инструкции |
Что входит в работу
- Документация API и workflow (OpenAPI, диаграммы)
- Исходный код на TypeScript (скрипты миграции, тесты)
- Дашборд мониторинга с графиками false positives
- 2-часовое обучение compliance команды
- 1 месяц поддержки после запуска
Типичные ошибки при интеграции PEP-проверки
- Игнорирование RCA — проверяйте не только самого PEP, но и его окружение. Данные есть у всех провайдеров.
- Слишком высокий порог fuzziness (> 0.9) — пропустите реальные совпадения из-за опечаток в именах. Оптимум — 0.7.
- Отсутствие rescreening — статус PEP может появиться после открытия счета. Настраивайте автоматический пересчёт.
Сроки ориентировочно
От 2 до 4 недель в зависимости от количества провайдеров и сложности EDD-логики. Базовую интеграцию с одним провайдером и базовым скринингом делаем за 2 недели. Полный цикл с RCA, rescreening и дашбордом — 4 недели.
Свяжитесь с нами для оценки вашего проекта — рассчитаем сроки и стоимость за 2 дня. Закажите разработку системы PEP-проверки под ключ уже сейчас. У нас 7+ лет опыта в AML-системах, 30+ интеграций с провайдерами PEP, гарантируем прохождение AML-аудита. Подробнее о ComplyAdvantage API.







