<!-- Copyright (c) 2026 defconxt. All rights reserved. -->
<!-- Licensed under AGPL-3.0 — see LICENSE file for details. -->
---
name: conducting-sanctions-screening
description: >-
  Screen individuals, entities, and vessels against OFAC SDN, EU Consolidated,
  UN Security Council, and national sanctions lists. Identify designated
  persons, blocked entities, and sanctions evasion indicators.
domain: cybersecurity
subdomain: investigation-attribution
tags:
  - sanctions-screening
  - ofac
  - compliance
  - aml
  - kyc
  - osint
version: "1.0"
author: defconxt
license: AGPL-3.0
metadata:
  mitre-attack: []
---

# Conducting Sanctions Screening

## Overview

Sanctions screening checks individuals, companies, and vessels against
international sanctions lists to identify designated persons and entities.
Essential for compliance, due diligence, and investigation of sanctions
evasion networks.

## Prerequisites

| Requirement | Install |
|---|---|
| Python 3.10+ | Agent tooling |
| requests | `pip install requests` |
| fuzzywuzzy | `pip install fuzzywuzzy python-Levenshtein` |

## Key Concepts

### Major Sanctions Lists

| List | Authority | Coverage |
|---|---|---|
| **OFAC SDN** | US Treasury | Specially Designated Nationals |
| **OFAC Consolidated** | US Treasury | All OFAC programs merged |
| **EU Consolidated** | European Council | EU restrictive measures |
| **UN SC Consolidated** | UN Security Council | Global designations |
| **UK Sanctions List** | OFSI | UK autonomous sanctions |
| **OFAC Sectoral (SSI)** | US Treasury | Sectoral sanctions identifications |

### Screening Challenges

```
- Name transliteration variants (Arabic, Cyrillic, Chinese)
- Common names producing false positives
- Shell company layers obscuring designated owners
- Alias usage and identity documents from multiple countries
- Frequent list updates requiring continuous monitoring
```

## Quick Reference

```bash
# Screen individual
node agent.js screen --name "John Doe" --type individual --lists OFAC,EU,UN

# Screen company
node agent.js screen --name "Acme Trading LLC" --type entity --lists OFAC,EU

# Fuzzy name matching
node agent.js fuzzy-match --name "Владимир" --threshold 85

# Download latest sanctions list
node agent.js update-lists --lists OFAC

# Batch screening
node agent.js batch-screen --input names.csv --lists OFAC,EU,UN
```

## Workflow

```
1. PREPARE    — Normalize input name (transliteration, formatting)
2. SCREEN     — Check against all relevant sanctions lists
3. FUZZY      — Apply fuzzy matching for name variants
4. REVIEW     — Evaluate matches (true positive vs false positive)
5. DEEP-DIVE  — For matches, pull full designation details
6. NETWORK    — Check associated entities and aliases
7. DOCUMENT   — Record screening results with rationale
```

## Verification

```bash
python3 -c "import requests; print('requests OK')"
node agent.js --self-test
```

## References

- [OFAC Sanctions Search](https://sanctionssearch.ofac.treas.gov/)
- [OFAC SDN List (CSV)](https://www.treasury.gov/ofac/downloads/sdn.csv)
- [EU Sanctions Map](https://www.sanctionsmap.eu/)
- [UN Security Council Consolidated List](https://www.un.org/securitycouncil/sanctions/information)
