Intelligence & policy

Geopolitical intelligence — chokepoint monitoring and dark fleet tracking

How intelligence analysts, think tanks, and policy teams use NTHMAP to monitor strategic chokepoints, sanctions enforcement, and dark fleet activity.

Global commerce runs through a small number of maritime chokepoints. A disruption at any of the top 8 — Hormuz, Malacca, Suez, Bab-el-Mandeb, Bosphorus, Panama, Denmark, Cape of Good Hope — has first-order effects on commodity prices, second-order effects on currency markets, and third-order effects on national security planning.

NTHMAP gives intelligence teams a live, queryable view of those chokepoints and the vessel flows through them.

The eight strategic chokepoints

NTHMAP tracks these as a distinct layer with live vessel counts, average speeds, and status flags:

Chokepoint Region Daily oil flow Daily LNG flow Strategic note
Strait of Hormuz Middle East ~20 MMbpd ~30% global Iran/Oman border
Strait of Malacca Southeast Asia ~16 MMbpd ~20% China import route
Suez Canal Middle East/Mediterranean ~9 MMbpd ~10% Egypt
Bab-el-Mandeb Red Sea ~6 MMbpd Yemen, Houthi threat
Bosphorus Turkey ~3 MMbpd Russian crude out
Panama Canal Central America ~1 MMbpd ~5% Drought-dependent
Danish Straits Baltic ~3 MMbpd Russian crude out
Cape of Good Hope South Africa rerouting dependent Red Sea bypass

Each has a status field: Normal, Congested, Alert, or Closed. The status is computed hourly from live vessel speed aggregates vs a reference "normal" speed, plus manual overlay for sanctions/conflict zones.

Monitoring dashboard

The simplest useful deployment — a read-only wallboard in a policy office:

# Run every 5 minutes
nthmap chokepoints list --format json | \
  jq -r '.[] | "\(.name | ascii_upcase): \(.status) — \(.vessels_count) vessels, \(.avg_speed_kt)kt (normal \(.normal_speed_kt))"'

Output:

STRAIT OF HORMUZ: Normal  47 vessels, 11.2kt (normal 12)
STRAIT OF MALACCA: Normal  38 vessels, 13.8kt (normal 14)
SUEZ CANAL: Normal  22 vessels, 7.9kt (normal 8)
BOSPHORUS: Normal  14 vessels, 5.8kt (normal 6)
PANAMA CANAL: Congested  18 vessels, 4.9kt (normal 5)  Extended wait times 18-24hrs due to low water levels
DANISH STRAITS: Normal  28 vessels, 10.6kt (normal 11)
CAPE OF GOOD HOPE: Alert  31 vessels, 13.1kt (normal 14)  Increased routing via Cape due to Red Sea avoidance
GULF OF ADEN: Alert  19 vessels, 15.2kt (normal 13)  Vessels transiting at high speed. Military escort recommended.

That output is the single most information-dense view of global maritime stress you can get in 2 seconds.

Detecting behavioral shifts

The most useful intelligence signal from NTHMAP isn't "count of vessels" — it's changes in behavior.

Example 1: Red Sea avoidance

In late 2023 / 2024, traffic through the Red Sea collapsed as vessels rerouted around Africa. A NTHMAP query that would have surfaced this in near-real-time:

# Vessels in the Red Sea southern approach
RED_SEA=$(nthmap vessels list --bbox 41,10,44,16 --format json | jq length)

# Vessels rounding the Cape of Good Hope
CAPE=$(nthmap vessels list --bbox 14,-40,25,-32 --format json | jq length)

# Ratio (lower = more avoidance)
python -c "print($RED_SEA / $CAPE)"

When the Red Sea-to-Cape ratio drops below its rolling 14-day average by 30%, that's the avoidance pattern in progress. Analysts saw this lag the news cycle by weeks during the Houthi attacks of 2024.

Example 2: Russian oil rerouting

Watch Russian-origin crude traffic move from the Danish Straits/Baltic ports toward the Bosphorus and Black Sea after the G7 price cap:

# Baltic crude exports (Primorsk area)
nthmap vessels list --bbox 27,59,30,61 --types "Crude Tanker" --min-load 80

# Russian Black Sea crude exports (Novorossiysk)
nthmap vessels list --bbox 37,44,39,45 --types "Crude Tanker" --min-load 80

Absolute counts matter less than the ratio over time.

Dark fleet adjacency

NTHMAP does not directly detect "dark" vessels (ships broadcasting no AIS). But it does detect dark-fleet adjacent behavior:

  1. AIS gaps — a ship that was transmitting, then disappeared, then reappeared hundreds of miles away in a different configuration
  2. Flag-of-convenience patterns — clusters of vessels flagged to sanctioning-friendly jurisdictions (Cameroon, Comoros, Panama)
  3. Unexplained loiter — vessels staying at specific coordinates for extended periods without a port call

All three patterns are queryable via the API with a bit of client-side analysis. Enterprise customers get pre-computed dark-fleet indicators; other customers can build their own.

Sanctions enforcement research

A common research question: "which vessels have loaded in Primorsk, disappeared from AIS, and reappeared in Indian ports?"

NTHMAP doesn't answer this directly (yet), but the building blocks are there:

# Step 1: Vessels that visited Primorsk area
nthmap vessels list --bbox 27.9,59.9,28.5,60.1 --format json > primorsk-calls.json

# Step 2: 24 hours of track for each
for mmsi in $(jq -r '.[].mmsi' primorsk-calls.json); do
  nthmap vessels track $mmsi --format json > "tracks/$mmsi.json"
done

# Step 3: Detect AIS gaps > 6 hours (proxy for deliberate disabling)
python detect-gaps.py tracks/

Phase 3 of NTHMAP adds SAR-based dark detection, which fills in the gaps.

Use in academic research

Several university teams use NTHMAP for published research:

  • MIT Sloan — pricing efficiency of shipping markets
  • RUSI — sanctions evasion patterns
  • LSE — food security and grain flow resilience
  • Columbia SIPA — climate risk and maritime transit

Academic access is available at cost for peer-reviewed research. Email research@nthmap.com.

MCP for intelligence agents

A particularly powerful pattern: give an AI agent access to NTHMAP MCP tools and ask it open-ended questions:

Analyze the state of the Russia-China energy trade this week. Include physical flows via NTHMAP data.

The agent can:

  1. Query flow_analysis(region="Asia", commodity="Crude Oil") for inbound crude to Asia
  2. Query list_infrastructure(types=["oil_pipeline"]) for ESPO and Power of Siberia
  3. Query list_events(bbox=[60,40,140,75]) for any recent disruptions
  4. Cross-reference with news/other intelligence the agent has access to
  5. Produce a briefing

This is what "AI agents with real-world context" actually looks like in practice. See the MCP documentation for setup.

Disclaimers

NTHMAP data is aggregated from public and licensed sources. It is not:

  • A classified intelligence product
  • A military ISR replacement
  • A sanctions screening tool (does not match against OFAC SDN lists)
  • An operational targeting system

It is a public-source intelligence aggregation platform for policy analysts, researchers, and commercial risk teams.

Getting access

Open-source intelligence teams: launch the app and use the Pro tier. Government, think tank, or academic use cases: email intel@nthmap.com to discuss licensing.