kimo
Case file // maritime-authority-ais-gaps
Coastal maritime authority · North Sea
Defense IntelligenceMaritime surveillance · Public sector

A maritime authority spots AIS gaps before the vessel leaves the zone.

When a vessel switches off its transponder, every minute counts. A coastal maritime authority’s analysts used to need 46 minutes on average to notice an AIS gap. Fusing AIS, coastal radar contacts and open sources in Kimo brought the median down to seven.

median time to flag a dark vesseldown from 46 min
7 min
vessels tracked per day
11,400
AIS gaps triaged per month
312
external dependencies at runtime
0
[01]Challenge

46 minutes to notice a vessel go dark

The authority (an anonymized, fictional agency in this demo) monitors a busy stretch of the North Sea: shipping lanes, offshore wind farms, subsea cables and fishing grounds. Its two operations centers track around 11,400 vessels a day from coastal AIS receivers, satellite AIS and radar contacts, with patrol aircraft reporting via ADS-B.

A vessel that stops transmitting AIS (“going dark”) is not always suspicious; receivers drop messages, and some vessels have faulty equipment. But a gap near a cable route or a sanctioned port call deserves attention fast. Analysts were spotting gaps by watching track displays and by running scheduled queries against an Elasticsearch archive. The median time from the last AIS message to an analyst flag was 46 minutes, by which point a vessel could be well outside the zone.

Context lived in separate tools: vessel registries, port-call history, weather, and open-source reporting. Building a case for escalation meant copying identifiers between five screens.

> We stopped watching screens for gaps and started reviewing gaps that matter. The difference is measured in nautical miles.
Head of Maritime Operations Centre
Coastal maritime authority · North Sea
[02]Solution

How the maritime authority set up Kimo

Kimo Defense Intelligence was installed on the authority’s own hardware in its sovereign data center, with no outbound connectivity. AIS and ADS-B streams arrive through the existing Kafka bus, the historical archive stays in Elasticsearch, and OpenStreetMap layers and curated open-source feeds are mirrored internally.

A track-fusion model correlates AIS positions with radar contacts and expected routes. When transmissions stop, Kimo scores the gap against the vessel’s history, the expected receiver coverage at that position, weather, proximity to critical infrastructure and recent port calls. Gaps above a threshold appear in a single queue with the evidence attached, on a map with the last known track and a projected area of uncertainty.

Analysts work from that queue rather than from raw displays. Every flag, escalation and dismissal is recorded with the analyst, the timestamp in Zulu time and the reason, which feeds back into the scoring and gives supervisors a full audit trail.

  1. Week 101/03
    Install in the enclave

    Signed bundle on the authority’s hardware; Kafka, Elasticsearch and mirrored layers wired.

  2. Week 202/03
    Track fusion & gap scoring

    AIS, radar and routes correlated; scoring tuned on 90 days of history.

  3. Week 403/03
    Operational use

    Both centers working from one gap queue with full audit trail.

Operational picture

Maritime authority: Maritime picture · Sector N

A recreation with fictional data. Hover the chart for values.

KIMO//DI
Coastal maritime authority · North Sea · Maritime picture · Sector N
Active tracks
1,284
Open gap alerts
6
Median time to flag
7 min
-39 min
Feed latency
2.1 s
AIS gaps detected
Per week, W27 – W38
Gaps scored
Escalated to patrol
Gap queue
TrackTypeGapScoreStatus
TRK-4471Bulk carrier3h 12m0.91Escalated
TRK-0928Tanker1h 47m0.84Review
TRK-7713Fishing0h 38m0.42Watching
TRK-2205Cargo0h 09m0.11Dropout
> ask kimo: gaps > 60 min within 5 nm of cable routes, last 24h
Mock dashboard for Coastal maritime authority · North Sea (fictional data): Maritime picture · Sector N
Outcome
median time to flag a dark vessel
7 min
vessels tracked per day
11,400
AIS gaps triaged per month
312
external dependencies at runtime
0
[03]Results

7 min median time to flag a dark vessel.

The median time from last AIS message to analyst flag fell from 46 minutes to seven. About 312 gaps a month are scored and triaged, and the share dismissed as receiver dropouts within the first minute rose to 71%, so analysts spend their attention where it matters. Escalations to patrol assets now include the evidence pack automatically.

Because everything runs on premises, the deployment passed the authority’s security review without exceptions. Supervisors use the same models to report weekly on coverage and response times, and the authority is extending the approach to monitoring around offshore wind farms. All figures above are simulated for demonstration purposes.

Coastal maritime authority · North Sea: before and after Kimo
MetricBefore KimoWith Kimo
Median time to flag46 min7 min
Context for escalation5 separate tools1 evidence pack
Dropouts dismissed in < 1 min—71%
Outbound connectivityn/aNone
> Nothing leaves the building, and every decision is logged. That is what made our accreditation board comfortable.
Chief Information Security Officer
Coastal maritime authority · North Sea
[04]Stack

From 6 sources to one answer.

Sources
  • AIS Maritime
  • ADS-B Air Traffic
  • Apache Kafka
  • Elastic Security
  • OpenStreetMap
  • OSINT Feeds
Kimo models
  • Track fusion
  • AIS gap scoring
  • Infrastructure zones
Semantic layer · one definition per metric
Dashboards
  • Gap queue
  • Maritime picture
  • Weekly coverage report
Next step // Briefing

Request a sovereign deployment briefing.

Walk through on-premise and air-gapped deployment, accreditation support and the simulated operations picture.