Activity monitoring at sanctioned industrial facilities
Open-source satellite imagery can reveal whether a sanctioned refinery, port, or weapons-related plant is still operating, using vehicle counts, stockpile geometry, thermal signatures, and vessel calls as proxies for activity that trade data no longer shows.
Sensors
- Sentinel-2 MSI: 10 m resolution in visible and near-infrared bands; 5-day revisit at mid-latitudes with both satellites. Sufficient for parking-area density, floating-roof position on large tanks, and thermal plume direction. Free and systematic, making it the baseline cadence layer.
- Maxar WorldView-3: 30 cm panchromatic, 1.24 m multispectral. Resolves individual vehicles, shadow-based stockpile height estimation, and rail-car counts. Tasked on demand; latency from order to collect typically 1 to 3 days depending on cloud and orbit geometry.
- Planet SkySat: 50 cm resolution, up to 12 collects per day over a target with tasking. Useful for intra-day activity rhythm: shift-change vehicle flux, loading sequences at berths. Archive from roughly 2020 onward for most sites.
- Landsat 8/9 TIRS: Thermal infrared at 100 m resolution (resampled to 30 m in products), 16-day revisit per satellite. Detects furnace and kiln thermal anomalies, cooling-water discharge plumes, and process-heat signatures that persist even when visible activity is obscured. Free archive back to 2013 for Landsat 8.
What the paper trail stops showing
When a facility falls under international sanctions, the documentary record thins quickly. Shipping manifests, customs declarations, and financial disclosures either disappear or become unreliable. What does not disappear is the physical footprint: heat, movement, geometry, and the simple fact that workers need somewhere to park.
Open-source satellite analysis, practised systematically by groups including the Middlebury Institute of International Studies and C4ADS, reconstructs operational status from those physical signals. The approach is not new, but the availability of daily commercial imagery and free Sentinel-2 coverage has made it far more tractable than it was even five years ago. The question is no longer whether you can observe a site. It is whether you can observe it often enough, and at fine enough resolution, to distinguish active production from a facility that is merely maintained.
Four indicators that carry real evidentiary weight
Vehicle counts in parking areas are the most widely published proxy for workforce presence. At 30 cm resolution, individual cars are unambiguous. Middlebury analysts have used this method on North Korean facilities where official reporting is absent entirely. The limit is that shift patterns vary: a single image showing an empty car park may mean a night shift, a holiday, or genuine shutdown. Time-series comparison across dozens of collects is what converts a snapshot into a pattern.
Floating-roof position on large crude or product storage tanks is a direct volume indicator. A floating roof sits on the liquid surface; its height above the tank rim, measured from shadow length in VHR imagery, gives an estimate of fill level. The method requires a known tank diameter (often recoverable from Sentinel-2 or open mapping) and a sun-elevation angle at acquisition time. Uncertainty is typically plus or minus 10 to 20 percent of tank capacity at 30 cm resolution, which is honest enough to flag significant drawdown or restocking.
Thermal signatures from active furnaces, blast furnaces, and coking ovens persist even under moderate cloud if you use Landsat TIRS or, for acute anomalies, VIIRS. A steel plant running hot at night produces a thermal radiance anomaly detectable at 375 m VIIRS resolution. Landsat TIRS at 100 m native resolution can distinguish between a facility in cold standby and one running at partial load, though not between 60 and 80 percent capacity. Cloud cover is the hard constraint: persistent overcast, common at many northern industrial sites in winter, can blank a TIRS time series for weeks.
Vessel calls at adjacent berths tie facility activity to supply chains. A refinery receiving crude must receive it somehow. AIS data, cross-referenced with VHR imagery of the berth, can identify vessel presence even when the vessel's AIS transponder has been switched off, because the ship's hull remains visible in optical imagery. This is a companion method to dark-vessel detection, covered separately in this library.
Resolution floors and what they honestly cannot resolve
Sentinel-2 at 10 m will not resolve individual vehicles. It will show whether a large car park is predominantly occupied or empty, and it will catch major changes in tank-roof shadow length. For anything requiring object-level discrimination, you need VHR: WorldView-3 at 30 cm or SkySat at 50 cm.
Even VHR has limits. It cannot see inside buildings. A weapons-component assembly hall looks identical to an idle one from above unless there is external evidence: loading docks in use, ventilation running, support vehicles present. Covered production is the hardest case, and analysts should say so plainly rather than overreach from rooftop observations.
Revisit is the other constraint. A single VHR collect costs money and covers a narrow swath. Systematic monitoring at the cadence needed to track shift patterns requires either Planet's high-revisit constellation or a deliberate tasking schedule. Sentinel-2 fills the gap at lower resolution, providing the baseline from which anomalies trigger VHR tasking. The two tiers work together; neither alone is sufficient.
Building a time series that holds up to scrutiny
A single image showing activity at a sanctioned site is an observation. A time series showing consistent activity across 18 months, correlated with thermal anomalies and vessel calls, is evidence. The methodological discipline matters because the outputs of this kind of analysis are used in policy and legal contexts where cherry-picked imagery is a liability.
The practical workflow runs roughly as follows. Sentinel-2 provides the systematic baseline, flagging anomalies in parking density, roof position, or visible plume activity. Anomaly dates trigger retrospective VHR pulls from the Planet or Maxar archive, or prompt new tasking. Landsat TIRS provides the thermal layer, cloud-permitting. Each indicator is logged with acquisition date, sun angle, cloud fraction, and the analyst's confidence level. The composite picture is more defensible than any single sensor could produce.
Change detection algorithms, including simple band-ratio differencing and more structured methods such as the CCDC algorithm published by the USGS, can automate the Sentinel-2 screening layer. The VHR interpretation step still requires human judgement. Automation finds the candidates; analysts assess them.
Where this fits in a sanctions-monitoring programme
Satellite analysis does not replace financial intelligence or human reporting. It adds a layer that is independent of the target's cooperation and resistant to document falsification. A facility can produce false shipping records; it cannot produce false shadows.
The method is most useful when combined with trade-flow data. If a sanctioned country's crude imports appear to have fallen to near zero in official statistics, but thermal and vessel-call imagery shows a refinery running at apparent normal capacity, the discrepancy is itself the finding. That gap between the paper record and the physical record is precisely what organisations like C4ADS and the UN Panel of Experts on North Korea have used to document sanctions evasion.
Satellize runs this kind of layered analysis on open constellations, adding commercial VHR tasking where resolution demands it. The approach is the same one we use in our Tonga crop-estimation programme: systematic open-data baselines, anomaly-triggered precision collection, and outputs that are traceable back to specific acquisitions. Clients who need a defensible, repeatable monitoring cadence for specific facilities can discuss a scoped assessment through our Overhead briefing channel.
Typical figures
| Baseline optical resolution | 10 m (Sentinel-2); 30 cm panchromatic (WorldView-3) |
| Thermal resolution | 100 m native / 30 m resampled (Landsat 8/9 TIRS); 375 m (VIIRS day/night band) |
| Systematic revisit (Sentinel-2) | 5 days at mid-latitudes; up to 2–3 days above 50° N with off-nadir pointing |
| High-revisit VHR (SkySat) | Up to 12 collects per day over a tasked site |
| Minimum detectable vehicle (VHR) | Individual passenger cars at 30–50 cm resolution; van-sized vehicles at 1 m |
| Tank fill-level uncertainty | ±10–20% of tank capacity via shadow-based floating-roof height at 30 cm |
| Archive depth | Sentinel-2 from 2015; Landsat from 1972 (TM/ETM+), TIRS from 2013; Planet SkySat from ~2020 |
| Cloud limitation | Optical methods fail under cloud cover; TIRS partially effective through thin cloud; SAR (Sentinel-1) unaffected but does not provide thermal data |
| Delivery format | GeoTIFF change layers, annotated PDF reports, GIS-ready vector overlays, time-series CSV of indicator values |
Analytics Satellize can run
| Parking-area occupancy time series | Object detection or manual count on VHR imagery; density estimation on Sentinel-2 using spectral texture | Monthly trend chart with flagged anomaly dates; GIS point layer per facility |
| Floating-roof fill-level estimates | Shadow-length photogrammetry using sun-elevation angle at acquisition and known tank diameter from open mapping | Per-tank fill-level estimates with uncertainty range, delivered as time-series table and annotated image strips |
| Thermal activity index | Landsat TIRS band 10 anomaly detection relative to seasonal baseline; VIIRS nighttime thermal cross-check | Monthly thermal anomaly score per facility; alert flag when index exceeds two standard deviations above baseline |
| Vessel-call log at adjacent berths | Optical imagery matched against AIS position records; hull detection in VHR imagery for dark-vessel periods | Vessel-call register with dates, estimated vessel class, and AIS/optical cross-reference flags |
| Stockpile volume change | Shadow-based height estimation on open stockpiles (coal, ore, aggregate) using sun angle and known pile footprint | Bi-weekly volume estimates with confidence intervals; annotated before/after image pairs |
| Composite operational-status assessment | Multi-indicator fusion: parking, thermal, vessel, stockpile, and visible plume signals combined into a structured analyst judgement following published C4ADS/Middlebury methodology | Quarterly PDF assessment report with per-indicator confidence ratings and source imagery citations |
Who does the work
We can get this done for you. Satellize runs its own analyst desk and a strong science team. You do not buy a data feed and work out what it means; our people source the imagery, run the analysis described on this page, and hand you the answer with its confidence limits stated. Discuss this requirement.