🌐 Internacional · fuente pública
OFAC/UNSC/UE: sanctions
consolidated list of individuals, entities, vessels, and aircraft subject to international financial sanctions across the three major Western sanctions regimes.
Cobertura publicada
- Registros
- 13,908
- Última actualización
- 27 set. 2026
- Frecuencia
- daily
- Frescura
- CURRENT
- Identificador
record_id- Búsqueda por nombre
- Disponible
Conteo y frescura consultados desde api.latinfo.dev/sources durante el build del 2026-09-28.
Fuente primaria
- Institution: US Department of Treasury OFAC + UN Security Council + European Commission DG FISMA.
- Data: consolidated list of individuals, entities, vessels, and aircraft subject to international financial sanctions across the three major Western sanctions regimes.
- Format: XML, UTF-8. OFAC returns ZIP-wrapped XML.
- Registered: OFAC SLS (
ofac.treasury.gov/sanctions-list-service); UN SC Consolidated List portal (main.un.org/securitycouncil/en/content/un-sc-consolidated-list); EUdata.europa.euopen data catalog.
Cómo se procesa
- Download phase (parallel, curl with User-Agent):
- OFAC: fetch ZIP → unzip → read
sdn.xml. - UN: direct XML fetch.
- EU: direct XML fetch with fixed
token=dG9rZW4tMjAxNwquery param.
- Parse phase (streaming XML parser,
fast-xml-parserorsax):
- OFAC: iterate
<sdnList>/<sdnEntry>— each has<uid>,<firstName>,<lastName>,<sdnType>,<programList>,<akaList>,<dateOfBirthList>,<nationalityList>,<idList>. - UN: iterate
<CONSOLIDATED_LIST>/<INDIVIDUALS>/<INDIVIDUAL>and<ENTITIES>/<ENTITY>— fields<DATAID>,<FIRST_NAME>..<FOURTH_NAME>,<UN_LIST_TYPE>,<REFERENCE_NUMBER>,<LISTED_ON>,<INDIVIDUAL_ALIAS>,<INDIVIDUAL_DATE_OF_BIRTH>. - EU: iterate
<export>/<sanctionEntity>— attributeslogicalId,euReferenceNumber, children<regulation>,<subjectType code="person|enterprise">,<nameAlias>(multiple: firstName/middleName/lastName/wholeName/gender).
- Normalize phase — emit a common record per entry:
`` { source: 'ofac-sdn' | 'un-consolidated' | 'eu-fsf' source_id: string // original UID per source record_id: string // "OFAC-{uid}" | "UNS-{DATAID}" | "EUS-{logicalId}" type: 'individual' | 'entity' | 'vessel' | 'aircraft' name: string // primary whole name, uppercased aliases: string // "; "-joined programs: string // "|"-joined (e.g. "IRAN|SDGT") listed_on: string? // ISO date if present reference: string? // source-specific reference number dob: string? pob: string? nationality: string? } ``
- ID scheme (primary_id for the engine):
record_id— composite string{SRC}-{ORIGINAL_ID}, alphanumeric with dash. Prefix mapping:OFAC,UNS,EUS. Max length bounded by longest original ID; pad to fixed length for the binary index. Numeric-alphanumeric encoding must use base36 prefix (same pattern as BR CNPJ — see@latinfo/engine). - Search index — primary UX is name-based screening, not record_id lookup. Build the search index with
nameas the primary search key. Aliases are appended to the search text so queries hit bothwholeNameand anyakaName. - Upload via
uploadWithManifest()fromsrc/imports/shared.ts— content-addressed, same as every other source.
Campos publicados
| Field | Type | Example | Notes | |||
|---|---|---|---|---|---|---|
| record_id | string(≤20) | OFAC-12345 / UNS-110404 / EUS-13 | Primary ID. Composite. Stable across rebuilds because upstream IDs are stable. | |||
| source | string(16) | ofac-sdn | Which upstream list | |||
| type | string(16) | individual | `individual \ | entity \ | vessel \ | aircraft` |
| name | string(≤200) | BANCO CENTRAL DE VENEZUELA | Uppercased, whitespace collapsed. Indexed for search. | |||
| aliases | string(≤500) | BCV; BANCO CENTRAL VENEZUELA | Semicolon-joined. Also indexed for search. | |||
| programs | string(≤100) | `VENEZUELA\ | VENEZUELA-EO13850` | Pipe-joined program codes | ||
| listed_on | string(10) | 2019-01-28 | ISO date | |||
| reference | string(≤40) | IRi.043 | Source-specific ref number (optional) | |||
| dob | string(≤20) | 1965-07-23 or 1965 | Individual only. May be partial. | |||
| pob | string(≤100) | Caracas, Venezuela | Individual only | |||
| nationality | string(≤60) | Iran | Individual only |
Limitaciones conocidas
- Sin ID común entre fuentes. Un individuo puede estar simultáneamente en OFAC + UN + EU, pero cada fuente le asigna un ID distinto. Dedup por nombre normalizado es frágil (homónimos, transliteraciones árabe/ruso/chino). Decisión tomada: no dedup. Mantener cada registro por fuente, el consumidor ve N hits y entiende que es la misma persona en múltiples regímenes.
- Falsos positivos por homónimos. "Juan Pérez" puede matchear varios. Mitigación: match requiere score ≥ 0.9 o nombre + DOB + país. Esto es lógica del consumidor KYB, no del pipe.
- OFAC ZIP. El endpoint devuelve ZIP, no XML directo. Hay que unzipear en el script (deps: ya hay
unzipdisponible en el runner; alternativa Nodeadm-zip). - UN URL migrada. La URL histórica
scsanctions.un.orgestá rota. Hay que monitorear si Azure Blob se mueve otra vez. Añadir health check al import. - EU token. El
token=dG9rZW4tMjAxNwes convención pública conocida (base64 "token-2017") pero podría rotarse. Fallback: si 403, re-descubrir vía scraping de la páginawebgate.ec.europa.eu/fsd/fsf/public/rss. - Volumen bajo. ~19K registros total es trivial comparado con 18M SUNAT. No requiere sharding.
- Encoding. UTF-8 en los 3, pero atención a transliteraciones de nombres no-latinos (árabe, ruso, chino). Los emisores los transliteran al alfabeto latino con convenciones distintas entre sí.
Estado de revisión y alcance
No se publica todavía una opinión jurídica específica aprobada para esta fuente. La ficha documenta procedencia y transformaciones; Latinfo limita su producto a entidades jurídicas.
Latinfo no está afiliado, certificado ni respaldado por la institución de origen. Para decisiones formales, verifica la evidencia en la fuente primaria. Consulta Privacidad y Términos.