Ceasefire Compliance Monitoring via Maritime Traffic Patterns

Verify ceasefire adherence through observed changes in vessel behavior. Klarety fuses SAR vessel counts with AIS shipping lanes to compute traffic flow deltas before, during, and after declared ceasefires. Analysts receive confidence-scored compliance reports — transparent, satellite-verified, not dependent on self-reporting.

Ceasefire verification through vessel behavior data

Klarety AI
Klarety AI chat composer interface

Compliance intelligence from satellite observation

Klarety agents measure traffic flow changes before and after ceasefires and return confidence-scored compliance reports.

SAR + AIS
Klarety satellite analysis output

Traffic delta computation against AIS baselines

Agents calculate vessel count deltas at key waypoints and flag route anomalies inconsistent with declared compliance.

GIS Output
Klarety AI map annotation overlay

Anomaly vectors for intelligence GIS platforms

Outputs route deviation polygons and flow delta layers for geopolitical monitoring and defense GIS system integration.

SAR traffic delta for ceasefire compliance scoring

Klarety agents compute weekly SAR vessel counts at declared ceasefire-zone waypoints, compare against 90-day pre-ceasefire baselines, and score compliance as the ratio of observed to expected traffic. Anomalous vessel clustering or route deviations are flagged with confidence scores. Output is a waypoint-level compliance table and time-series chart.

Klarety AIRun compliance monitoring for your region
analysis/ceasefire_compliance_monitor.pyAgent code
python
import eeimport pandas as pdimport numpy as npfrom datetime import datetime, timedelta
ee.Initialize()
# Key maritime waypoints for compliance monitoringwaypoints = {    'WP-Alpha': ee.Geometry.Rectangle([32.4, 28.1, 33.2, 28.9]),    'WP-Bravo': ee.Geometry.Rectangle([33.0, 27.5, 34.0, 28.3]),    'WP-Charlie': ee.Geometry.Rectangle([32.0, 29.0, 33.0, 29.8]),}
def count_vessels(aoi, start, end):    s1 = (ee.ImageCollection('COPERNICUS/S1_GRD')          .filterBounds(aoi)          .filterDate(start, end)          .filter(ee.Filter.eq('instrumentMode', 'IW'))          .select('VV').mean())    mask = s1.gt(-10)    count = mask.reduceRegion(ee.Reducer.sum(), aoi, 100).get('VV').getInfo()    return int(count or 0)
# Ceasefire declared 2026-03-15pre_start, pre_end = '2025-12-01', '2026-03-14'post_start, post_end = '2026-03-15', '2026-04-30'
results = []for wp_name, aoi in waypoints.items():    pre  = count_vessels(aoi, pre_start, pre_end)    post = count_vessels(aoi, post_start, post_end)    # Normalise to per-week counts    pre_wk  = pre  / 15.0    post_wk = post / 7.0    compliance = min(post_wk / pre_wk, 1.0) if pre_wk > 0 else None    delta_pct = (post_wk - pre_wk) / pre_wk * 100 if pre_wk > 0 else 0    results.append({        'waypoint': wp_name,        'pre_wk': round(pre_wk, 1),        'post_wk': round(post_wk, 1),        'delta_pct': round(delta_pct, 1),        'compliance_score': round(compliance, 2) if compliance else None,    })
df = pd.DataFrame(results)print(df.to_string(index=False))
output/ceasefire_compliance_report.mdOutput report
python
# Ceasefire Compliance Report**Event:** Declared ceasefire 2026-03-15**Source:** Sentinel-1 SAR vessel detection | **Method:** Traffic delta vs 90-day baseline
## Waypoint Compliance Scores| Waypoint   | Pre (vessels/wk) | Post (vessels/wk) | Delta  | Score  | Status       ||------------|-----------------|-------------------|--------|--------|--------------|| WP-Alpha   | 34.1            | 31.8              | -6.7%  | 0.93   | Compliant    || WP-Bravo   | 28.7            | 41.2              | +43.5% | >1.0   | ANOMALOUS    || WP-Charlie | 19.4            | 18.9              | -2.6%  | 0.97   | Compliant    |
## Findings- WP-Bravo shows **+43.5% vessel count increase** post-ceasefire — flagged- WP-Bravo anomaly: unusual clustering of 8-12 vessels in anchor pattern- WP-Alpha and WP-Charlie show normal or slightly reduced traffic- Overall compliance confidence: **0.61 / 1.0** (WP-Bravo derating)
## MethodsSentinel-1 C-band GRD vessel detection. Pre-period: 105 days.Post-period: 47 days. Counts normalised to per-week rate.Confidence threshold: score <0.80 flagged as non-compliant.

Try Klarety now.