[CL-1152] SEC-Q2: inline AML pre-screen крупных выводов перед авто-исполнением #1165
No reviewers
Labels
No labels
ci-failing
duplicate
needs-rebase
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
europa-tech-srl/europatech!1165
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/claude-sec-q2-1152-aml-inline"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Что сделано
Inline AML pre-screen крупных выводов перед авто-исполнением — закрывает слепую зону €5K–€25K (issue #1152).
api/src/services/aml/inline-screen.ts(new) —screenUserPayoutInline(userId, now): прогоняет 8 batch AML-правил за 72h-окно, фильтрует флаги целевого пользователя. Чистая детекция.api/src/services/aml/persist.ts(new) —persistAmlResults()вынесена verbatim изscan.ts(dedup + amlAlert.create + risk-score + авто-SAR + escalation + Telegram);runAmlScanделегирует. Identity-рефактор.request-bank-payout.ts/request-crypto-payout.ts— перед SEPA-AUTO-02 / крипто-исполнением: сумма >=LARGE_PAYOUT_THRESHOLD(€5K) → screen; при флагеpersistAmlResults+ форсPENDING_REVIEW. bank пропускает screen для scheduled (skipOtp).Зачем
Payout €5K–€25K превышает AML-порог, но review только >€25K → уходил немедленно (SEPA-AUTO), AML только retrospective 15-мин cron (слепая зона до 15 мин, деньги уже ушли). Теперь санкционный/структурный флаг держит вывод на ручной проверке ДО исполнения. Fail-closed: если screen/persist падают — исключение блокирует вывод (не обёрнуто в try-catch), деньги не уходят.
План тестирования
aml.test.tsдоказывает 1:1 экстракцию persist; новые flagged→PENDING_REVIEW + clean→auto).tsc --noEmit0 errors,eslint --max-warnings 0clean.runAmlScanLOW (1 caller),checkKytSanctionsLOW.Где могу ошибаться
PENDING_REVIEWflow (нет новых user-facing строк → i18n не требуется).Merge — требует explicit CEO approval (Rule C, financial logic на пути вывода средств).
Merge evidence (Rule 103.1 + Rule C):
5a67211.