The core rule

“Iran declares the strait closed” is not enough to publish CLOSED. The red status requires evidence that maritime traffic has stopped, the passage is impassable or an operational authority confirms the interruption.
OPEN

Recent evidence shows vessels transiting, traffic continuing, an operational safe route or a confirmed reopening.

OPEN WITH RESTRICTIONS

An operational route exists, but mines, attacks, congestion, alternative corridors, elevated risk or an unimplemented closure declaration remain.

CLOSED

An official maritime source confirms an effective interruption, or at least two reliable independent sources describe halted traffic, a blocked passage or no transit.

UNCERTAIN

Sources conflict, only a political declaration exists, risk is reported without operational confirmation or recent evidence is insufficient.

How the calculation works

  1. GDELT and Google News RSS are checked every hour without paid API keys.
  2. Only outlets and organisations included in the source registry are accepted.
  3. Headlines and metadata descriptions are classified as operational transit, operational interruption, closure declaration or risk/restriction.
  4. Each signal is weighted by source quality and decays with age.
  5. Syndicated pieces with the same headline are deduplicated so repetition cannot imitate consensus.
  6. The engine compares independent signals and applies conservative thresholds.

Confidence level

LevelMeaning
HighDirect official confirmation or broad agreement among several independent sources.
MediumTwo independent sources, or one reliable source explicitly attributing the information to an operational authority.
LowLimited or conflicting evidence, or a status temporarily carried forward while a fresh check is attempted.

What happens when the network fails

The system does not invent a result or switch state merely because of a temporary error. It retains the last valid confirmation, marks the check as incomplete and shows the age of the data.

Emergency manual control

The operator can use manual_override in config.json, including a reason and expiry date. The homepage identifies it as manually set.

Limitations

This is an automated estimate based on public information. Delays, incomplete headlines, blocked sources or maritime activity not immediately reported in the media may affect the result.