Conversemos
Compliance · Sanciones Internacionales

Screening contra Sanciones Internacionales

Una plataforma de screening contra sanciones internacionales es un sistema que verifica automáticamente personas y entidades contra listas de sanciones globales como OFAC, ONU y UE. nodo. construyó esta plataforma con un motor de fuzzy matching multi-algoritmo —Levenshtein, Jaro-Winkler y token set ratio—, procesamiento batch vía colas FIFO de Amazon SQS con circuit breakers, y arquitectura multi-tenant con aislamiento completo de datos. El resultado: verificaciones que antes tomaban 45 minutos por entidad ahora se completan en menos de 2 segundos, con una tasa de falsos positivos inferior al 3% y cobertura sobre más de 44.000 entidades sancionadas en 7 listas internacionales.

Verificación manual, riesgo máximo

El proceso de screening de sanciones era enteramente manual. Un analista de compliance debía ingresar el nombre de cada persona o entidad en múltiples portales web —el buscador de OFAC, el consolidado del Consejo de Seguridad de la ONU, el registro de la UE, la lista consolidada del Reino Unido— y comparar visualmente los resultados. Para una sola persona, este proceso tomaba entre 30 y 45 minutos, considerando las variaciones de nombre, alias y transliteraciones.

El riesgo regulatorio era crítico. Una verificación incompleta o un falso negativo puede derivar en sanciones civiles: la OFAC publica caso a caso sus multas y acciones de cumplimiento, además del bloqueo de operaciones internacionales. Las listas cambian constantemente —el registro de acciones recientes de la OFAC deja ver la frecuencia con que se modifica la SDN List— y el equipo no tenía forma de garantizar que trabajaba con la versión más reciente.

Los nombres internacionales agravaban el problema. Un nombre en árabe transliterado al inglés puede escribirse de 5 o más formas distintas. «Mohammed» aparece como «Muhammad», «Mohamed», «Mohamad». Los nombres rusos transliterados varían entre «Ivanov» e «Ivanoff». Una búsqueda exacta por texto simplemente no funciona en este contexto, y cada variante no detectada es un riesgo regulatorio real.

Motor de matching inteligente

Diseñamos y construimos una plataforma de screening automatizado que consolida 7 listas de sanciones internacionales en una sola base de datos normalizada, actualizada diariamente desde las fuentes oficiales. El corazón del sistema es un motor de matching multi-algoritmo que combina múltiples técnicas de comparación difusa para maximizar la detección sin generar un volumen inmanejable de falsos positivos.

El motor ejecuta cada consulta a través de tres algoritmos en paralelo: distancia de Levenshtein para detectar errores tipográficos y variaciones menores, Jaro-Winkler para capturar similitudes en prefijos comunes de nombres, y token set ratio para manejar reordenamientos de palabras y nombres compuestos. Los scores de cada algoritmo se ponderan y combinan con bonificadores contextuales —fecha de nacimiento, número de pasaporte, nacionalidad, tipo de documento— para producir un score final de coincidencia entre 0 y 100.

Un score por encima de 85 se marca como hit automático; entre 60 y 85, como revisión manual; y por debajo de 60, como descartado. Estos umbrales son configurables por cliente según su apetito de riesgo regulatorio.

Por qué la coincidencia exacta no funciona

El matching exacto de texto falla sistemáticamente con nombres internacionales. Las listas de sanciones contienen entidades de más de 80 países, con nombres en alfabetos árabe, cirílico, chino y otros que deben transliterarse al latín. Cada transliteración introduce variantes legítimas que un sistema basado en igualdad de strings no detecta.

La distancia de Levenshtein mide cuántas operaciones de edición (inserción, eliminación, sustitución) se necesitan para transformar un string en otro. Es eficaz para errores tipográficos y variaciones menores, pero penaliza excesivamente las diferencias de longitud. «Al-Rahman» vs «Alrahman» produce una distancia baja, pero «Mohammed bin Salman Al Saud» vs «M. Salman» genera una distancia alta que no refleja la relación real.

Jaro-Winkler compensa esta limitación al dar mayor peso a las coincidencias en los primeros caracteres del string, lo que es particularmente útil para nombres propios donde el apellido o nombre de pila suele coincidir al inicio. El token set ratio, por su parte, tokeniza ambos strings, los ordena alfabéticamente, y compara los conjuntos de tokens independientemente de su orden original. Esto resuelve casos como «Kim Jong-un» vs «Jong-un Kim» o «Banco Nacional de Cuba» vs «Cuba Banco Nacional».

La combinación de los tres algoritmos, ponderada por tipo de entidad, produce una tasa de detección superior al 97% en nuestras pruebas contra datasets de referencia, con una tasa de falsos positivos inferior al 3% —un orden de magnitud mejor que los sistemas de matching exacto, que típicamente muestran tasas de falsos negativos del 15-25% con nombres internacionales.

SQS FIFO y circuit breakers

Las operaciones de compliance a menudo requieren verificaciones masivas: onboarding de carteras completas, auditorías periódicas, o screenings regulatorios trimestrales. Un cliente puede necesitar verificar 5.000 a 10.000 entidades en un solo batch. Enviar todas estas consultas de forma síncrona saturaría el sistema y generaría timeouts.

Implementamos una arquitectura de colas basada en Amazon SQS FIFO que garantiza el orden de procesamiento y la entrega exactamente una vez (exactly-once delivery). Cada batch se divide en chunks de 50 entidades, se encola con un deduplication ID único, y se procesa por workers Lambda concurrentes. Un orchestrator monitorea el progreso y notifica al usuario cuando el batch completo está listo, con un reporte descargable en CSV o PDF.

Cada fuente de datos externa (OFAC API, ONU XML feed, UE consolidated list) está protegida por un circuit breaker independiente con tres estados: closed (operación normal), open (fuente caída, se usa caché local) y half-open (pruebas periódicas de recuperación). Si la API de OFAC sufre una interrupción, el sistema continúa verificando contra las otras 6 listas sin degradar la experiencia del usuario, y marca los resultados de OFAC como «pendiente de verificación» hasta que la fuente se recupere.

Aislamiento de datos por cliente

La plataforma opera como servicio multi-tenant, donde cada organización cliente accede a su propio espacio aislado con configuraciones independientes. El aislamiento se implementa a nivel de base de datos mediante row-level security (RLS) en Aurora PostgreSQL, lo que garantiza que las consultas de un cliente jamás puedan acceder a datos de otro, incluso en caso de un bug en la capa de aplicación.

Cada tenant puede configurar sus propios umbrales de matching (conservador, estándar, agresivo), seleccionar qué listas de sanciones son relevantes para su jurisdicción, y definir flujos de aprobación personalizados para resultados en zona gris. La autenticación se gestiona vía AWS Cognito con soporte para SSO corporativo (SAML 2.0), y cada acción queda registrada en un log de auditoría inmutable para cumplir con requisitos regulatorios de trazabilidad.

La plataforma también soporta múltiples tipos de entidad más allá de personas naturales: personas jurídicas, embarcaciones, aeronaves, y direcciones. Cada tipo tiene su propio conjunto de bonificadores y reglas de matching optimizadas para las características específicas de esa categoría.

De horas a segundos

El impacto fue inmediato y medible. Las verificaciones individuales que antes tomaban 30-45 minutos ahora se completan en menos de 2 segundos. Un batch de 5.000 entidades que antes requería semanas de trabajo manual ahora se procesa en menos de 15 minutos. La tasa de detección subió al 97.4%, mientras que los falsos positivos bajaron al 2.8%, eliminando la mayoría de las revisiones manuales innecesarias.

Cada verificación queda registrada con trazabilidad completa: qué analista la inició, qué listas se consultaron, qué algoritmos se usaron, cuál fue el score, y qué decisión se tomó. Los auditores externos pueden generar reportes de cumplimiento en un clic, en lugar de reconstruir manualmente la evidencia de cada verificación.

7
Listas
44K+
Entidades
<2s
Por consulta
<3%
Falsos positivos
app.sanctions.nodo.build/dashboard
Dashboard
Cobertura de listas
7
OFAC, EU, UN, UK + 3 más
Entidades monitoreadas
44.2K
↑ 1.2K vs. mes anterior
Falsos positivos
2.8%
↓ 0.4% vs. mes anterior
Screenings procesados
31,847
últimos 30 días
Match OFAC-SDN #18234 — coincidencia PEP nivel 2 hace 3 min
Limpio Lote #2091 — 520 entidades verificadas, 0 coincidencias hace 11 min
Revisión EU-CONS #7821 — match parcial, confianza 68% hace 18 min
Match UN-SC #4412 — entidad sancionada, alerta enviada hace 27 min
Limpio Lote #2090 — 215 entidades verificadas, 0 coincidencias hace 42 min

Tecnologías utilizadas

AWS Lambda Aurora PostgreSQL SQS FIFO Cognito CloudFront Python

Preguntas frecuentes

¿Qué listas de sanciones internacionales cubre la plataforma?

La plataforma consolida 7 listas de sanciones internacionales: OFAC SDN y Consolidated (Estados Unidos), ONU (Consejo de Seguridad), UE (lista consolidada de la Unión Europea), UK OFSI (Reino Unido), Argentina UIF y México SAT. En total, se monitorean más de 44.000 entidades sancionadas, incluyendo personas naturales, personas jurídicas, embarcaciones y aeronaves. Todas las listas se actualizan diariamente desde las fuentes oficiales.

¿Con qué frecuencia se actualizan las listas de sanciones?

Las listas se sincronizan diariamente desde las fuentes oficiales de cada organismo regulador. La OFAC actualiza su SDN List varias veces por semana, y la plataforma refleja estos cambios dentro de las 24 horas siguientes. Cada fuente de datos está protegida por circuit breakers independientes: si una fuente no responde, las demás continúan actualizándose sin interrupción, y los resultados de la fuente caída se marcan como pendientes de verificación hasta su recuperación.

¿Cómo se integra el screening de sanciones con los workflows de compliance existentes?

La plataforma ofrece una API RESTful documentada que permite integrar el screening directamente en los procesos existentes de la organización. Las verificaciones se activan automáticamente en eventos críticos como onboarding de clientes, alta de proveedores o auditorías periódicas. También soporta procesamiento batch vía SQS FIFO para verificaciones masivas de hasta 10.000 entidades. La arquitectura multi-tenant con row-level security en PostgreSQL garantiza aislamiento completo de datos entre clientes, y cada acción queda registrada en un log de auditoría inmutable.

Recursos relacionados

¿Tienes un desafío similar?

Conversemos sobre cómo podemos automatizar tus procesos de compliance y screening regulatorio.

Escríbenos →

o directo a contacto@nodo.build