Roadmap
Every capability, built and planned. Each answers one question with its own data and method. Statuses say how far each has got; planned items are designs, not results.
Validated built and tested against known eventsPartly validated built; first controls passed, more tests openRunning collecting or operating nowBuilt a working toolPrototype a first result, not yet a productPlanned designed, not builtParked set aside with its final state written down; revisited on a named trigger
7Validated
3Partly validated
6Running
2Built
1Prototype
4Parked
Jump to: Positioning, navigation and timing · Emitters seen from space · Satellite communications · Vessels at sea · Context and assessment · Platform · Build order
Positioning, navigation and timing
Where GNSS receivers lose accuracy, are fed false positions, or are told to expect trouble, and how to tell deliberate interference from natural causes.
ValidatedGNSS degradation from ADS-B
Phase 1Share of aircraft per area whose own GNSS accuracy degraded, by day, hour and minute.
- What
Aircraft broadcast their own position quality (NACp and NIC). The processor turns a day of worldwide ADS-B into the share of aircraft in each H3 cell (about 1,770 km²) that lost accuracy, at two thresholds: worse than 93 m (severe GPS error) and worse than 10 m for aircraft that showed 10 m capability that day (space weather and SBAS problems).
- How
Version-2 reports from the aircraft's own GNSS only, airborne, sampled at most every 30 s. A peer test drops faulty avionics, which are bad where their neighbours are fine. A post-exposure tag separates aircraft still degraded after leaving a jammed area. The cell score uses the formula GPSJam publishes, and cells are coloured only with 5 or more aircraft.
- Data
- adsb.lol daily archive (ODbL 1.0)
- Notes
An effect measure, not attribution. Processing takes 53–70 s per worldwide day on one PC. Validated on 20 days (Oct–Nov 2025 and Sep 2026). Runs every day in GitHub Actions; history from 1 Oct 2025. Next: a cross-day blacklist of persistently faulty avionics, to complement the daily peer test.
- More
Method card · Validation report · Code
ValidatedSBAS outage and storm flags
Phase 1.2Hours when an SBAS service area loses 10 m accuracy, labelled storm or probable service problem.
- What
For each SBAS service area and UTC hour, the share of 10 m-capable aircraft that fell below 10 m. An hour is flagged as an outage at 60% or more and as degraded at 35% or more.
- How
GFZ Kp of 5 or more labels a flagged hour as a storm; otherwise it is a probable service problem. Flagged hours are kept out of the 10 m baselines.
- Data
- adsb.lol daily archive
- GFZ Potsdam Kp (CC BY 4.0)
- Notes
Reconstructed the 13–17 Oct 2025 EGNOS outage to within an hour at both ends. On the 12 Nov 2025 G4 storm, 38.5% of capable aircraft fell below 10 m against a 3.7% baseline, while severe GPS error stayed flat. Planned: corroborate flags against EGNOS service notices and FAA WAAS NOTAMs.
- More
Validation report
ValidatedMinute bursts and anomaly events
Phase 1.2Short interference bursts timed to the minute, and departures from each area's own baseline.
- What
Per-minute counts of aircraft with gross-bad reports catch bursts that an hourly majority rule would dampen. Each region and hour is also compared with the same hour on up to 14 earlier days.
- How
An anomaly is a share above the median by more than the larger of a fixed floor and 4 × MAD, with at least 30 aircraft-cell-hours behind it.
- Data
- Notes
Recovered both bursts of the 22 Sep 2026 San Francisco Bay Area GPS loss (18:00–18:08Z and 19:52–20:12Z). An FAA flight advisory confirms a Point Mugu Sea Range GPS test that day, 18:30–20:29Z; the second burst falls inside it.
- More
Validation report
ValidatedDownstream effects by aircraft type
Validated (Oct 2026)Which aircraft types stay degraded after leaving interference, and how far they carry it.
- What
Some avionics keep reporting degraded accuracy for hours after an aircraft leaves a jammed or spoofed area. Over 17 days, A350-900s made up 24.9% of post-exposure aircraft-days against 1.3% of traffic (19.4×), A380s 19.2× and 777-300ERs 4.7×; most narrowbodies were near 1×.
- How
An aircraft's exposure point is its first degraded cell-hour where its peers were degraded too. Later degraded reports 300 km or more away, among healthy peers, are tagged post-exposure.
- Data
- Notes
Explained 23–26 Oct 2026 (verdicts 43 and 48). Inside jamming, A350s stay visible while degraded where other types go dark, and A350/A380 degraded episodes last 4–8 times longer. Australia reported to ICAO in June 2025 that on these types the ADS-B accuracy value is set to zero when one satellite is flagged degraded, so the type pattern is most likely a reporting artefact. It can't be removed by type without losing real detections (A350s and A380s also carry most real burst detections in hotspots), so the method stays v1.4: the type chart shows them apart and every daily table counts them, so each event says how much it rests on those types.
- More
Post-exposure results
ParkedRadio-horizon jammer localizer
Parked (Oct 2026)Narrow down where a jammer sits from where aircraft lose and regain GNSS.
- What
A jammer on the ground can only reach aircraft above its radio horizon. Each aircraft's first jammed position and altitude define a horizon circle, and where many circles' edges meet points to the source area.
- How
tools/horizon_fix.py fits the jammer's reach from the data and scores candidate cells by how tightly aircraft onsets agree. Scored against a 2025 TDOA network's fixes in Kaliningrad over two held-out sets: the best version is within 25 km of a known site on 3 of 5 days, but a single fixed point between the two sites does as well.
- Data
- Notes
Parked 26 Oct 2026. Held-out tests (verdicts 41, 42 and 44) show it gives an area, not a site: two sites 21 km apart can't be told apart, and its likelihood version did no better than a constant guess. The code stays; revisit if a day with one known active site and time turns up. Positions stay off the public map.
- More
Research note · Validation (verdicts 40–44)
ValidatedADS-B spoofing detection
Validated (Oct 2026)Aircraft fed false positions: jumps, convergence on false points, altitude mismatches.
- What
Spoofing shows up as position jumps, many aircraft converging on the same false point, and divergence between GNSS (geometric) and barometric altitude.
- How
tools/spoof_day.py looks for positions an aircraft can't have flown: near-zero ground speed at altitude, staying in one spot at altitude, and jumps to a separate track and back. It doesn't rely on accuracy values: 61% of spoofing episodes kept good NACp. Over 22 days, the places aircraft were shown match published spoofing points (Beirut within 1 km, Amman 3 km, Moscow Sheremetyevo 2 km) and change when sources say they did; MLAT confirms 90% of the episodes it can test; six quiet control regions stay at 0.002% of aircraft-hours.
- Data
- Notes
Validated 26 Oct 2026: a held-out test on 12 days fixed in advance passed all five pre-registered checks, first for version 0.4 and again for version 0.5, the default since late October. Version 0.4 adds a 'replay' class for feeds re-sending old positions (found over northern Florida, 6 Mar 2024). Version 0.5 lets indicated airspeed, from air data rather than GNSS, qualify an aircraft for the tests, so aircraft spoofed for their whole visible flight are tested: 13% more episodes over 41 days, controls unchanged at 0.002%. Two of the 12 held-out days were seen while designing 0.5, so that rerun is only partly independent. Spoofing and jamming are mostly separate signals. Maps show where receivers were told they were, not where a transmitter is. Offset tracks with no jump are missed; no coverage over Iraq and almost none over Iran. Not on the public map yet.
- More
Validation
ValidatedSpoofing at sea (AIS)
Validated, regional (Oct 2026)Ship position reports that jump, circle or land ashore.
- What
Ships broadcast GNSS-derived positions over AIS. Spoofed fixes appear as impossible tracks, ships placed on land and clusters in patterns.
- How
A collector records Finland's open AIS stream (Digitraffic), and detectors flag impossible speeds, course swinging against a fixed heading, positions on land, and many ships reported on one spot. The same detectors also look for rendezvous, loitering, going dark and identity changes, for the maritime work.
- Data
- Digitraffic AIS (CC BY 4.0)
- Kystverket AIS (NLOD; licence text not yet read)
- Notes
Validated 26 Oct 2026 for Finnish waters and the approaches, on a 24-hour capture held out and checked by rules set in advance: flagged ships were 0.13% in the control areas, 97% of those with a trusted position were in the eastern Gulf of Finland (140 times the control rate), and the aircraft map agreed (22 times). The ships' own lost-fix reports agreed less than set in advance (2.6 times against 3). Flagged ships peak at night, and the circle in inland Russia (Tver region) that their receivers were moved to on 24 Oct was used again by 19 ships. The flags point to GNSS spoofing of the ships' receivers rather than false AIS. Coverage is regional: Finland's open AIS only.
- More
First results · Sea map
RunningDeclared interference and test notices
Phase 2What authorities say: announced GPS interference tests now; navigation warnings and NOTAMs next.
- What
Official notices that GNSS may be unreliable in an area and time window: maritime navigation warnings, US GPS interference test notices, NOTAMs and announced test events.
- How
The FAA's public flight advisories for US GPS interference tests are read every morning (window, centre and radius by altitude). An anomaly or burst inside a test's window and reach is tagged on the map as consistent with an announced test, rather than counted as an incident. Other notices will join the same layer.
- Data
- FAA SPANS GPS interference testing flight advisories (US government)
- NGA Maritime Safety Information broadcast warnings (next)
- US Coast Guard NAVCEN GPS test notices (next)
- UKMTO advisories (Open Government Licence; next)
- FAA NOTAMs (API access pending)
- Notes
Live: 214 announced US tests from Sep 2025 on, back-matched to the full history. It matched the White Sands test of Oct 2025 day by day and the Point Mugu test behind the 22 Sep 2026 Bay Area GPS loss. Announced events such as Jammertest serve as known positives.
- More
Map · Validation · Collector
ParkedLow-frequency navigation and VLF
Parked (Oct 2026)Chayka (Loran-type) and RSDN-20 Alpha VLF signals, the backups to GNSS.
- What
Long-range terrestrial navigation systems matter more when GNSS is denied. Public receivers and direction-finding work make their activity observable.
- How
Follow published receiver captures and VLF direction-finding methods; add public KiwiSDR receivers.
- Data
- Public Loran/Chayka receiver captures (reuse terms UNVERIFIED; private watch only)
- KiwiSDR public receivers
- Notes
Parked 26 Oct 2026: kept in the private watch until reuse terms are confirmed.
Emitters seen from space
Transmitters that show up as interference in satellite radar and radiometer data, inside the instrument's own band.
Partly validatedL-band emitters from NISAR radar
Phase 7 (pulled forward)Transmitters inside NISAR's L-band receive slices (one contains GPS L2), from the processor's own RFI tables.
- What
NISAR's L-band radar listens in 1219–1239 MHz (contains GPS L2) and 1291–1296 MHz over most land. Its processor records, for every block of raw data, how much interference it found and at which frequencies, before filtering it out.
- How
Two detectors run on those tables. Tones: frequencies hit in most pulses, excluding the radar's own two tones. Broadband: the cross-polarized channel far above what the ground produces, the signature of a noise jammer. Positions come from the orbit, and a cheap first pass on the processor's score decides which passes get the full read.
- Data
- NISAR L1 RSLC and L2 GCOV via ASF DAAC (NASA data, CC0 unless marked)
- Notes
The broadband detector passed its first positive control: an area with documented L1/L2/L5 jamming was detected on 12 of 13 passes that covered it. The published Shiraz jammer was not confirmed by either detector, and the earlier image-based method failed that test. A pre-registered check against announced US GPS tests failed too (27 Oct 2026): passes inside test windows had hits no more often than passes outside them (21% against 18%), and none of the hits was at GPS L2, so they fit other L-band emitters near the ranges. Since 28 Oct 2026 the repeat sites are on the map as leads, with this status beside them; the daily file is in the nisar-data release. Credit to @auonsson, whose post prompted the idea.
- More
README · Validation · Map layer
Partly validatedL-band radars and other emitters from SMAP
Phase 7Emitters in or spilling into the protected 1400–1427 MHz band, from the RFI flags of NASA's SMAP radiometer.
- What
SMAP's radiometer listens in 1400–1427 MHz, a band reserved for passive sensing. Its processing flags each look that carries interference. Long-range air-surveillance radars transmit just below the band, at 1215–1400 MHz, and spill into it.
- How
tools/smap_rfi.py counts, for each 36 km cell over 7 days, the share of looks flagged and how far that share stands above the cells 100–300 km around. The map shows cells that stand out (single emitters) and, faintly, regions where the band is busy everywhere.
- Data
- NASA SMAP L1C radiometer brightness temperatures, SPL1CTB v006 (NSIDC DAAC, NASA open data, doi:10.5067/DV7IX2DQ681Y)
- Notes
A first check against 31 US long-range sites from a 2010 FAA file failed (AUC 0.50): the US background is busy and the positions are old. A second check, pre-registered, against the 14 active North Warning System long-range radars on two unseen weeks held: AUC 0.988, 10 of 14 sites heard in both weeks, 1.2% of far cells flagged. SMAP finds L-band radars against a quiet background; in Europe, East Asia and the Middle East most looks are flagged, so single emitters can't be told apart there. It does not show GPS jammers.
- More
Validation
Partly validatedC-band radar activity from Sentinel-1
Phase 7Where C-band (5.4 GHz) transmitters, mostly radars, interfere with the Sentinel-1 radar satellites, by region over 28 days.
- What
Sentinel-1 Level-1 products carry per-burst radio-frequency-interference annotations. Counted over four weeks, they show where C-band transmitters are active. This band is not GPS: the layer shows radars and other C-band transmitters, not jammers.
- How
tools/s1_rfi_global.py reads only the RFI reports of every IW product of a day worldwide (about 950 a day, a few hundred kB each, never the imagery) and records, for each pass and H3 cell, whether any burst carried RFI. tools/s1_daily.py counts the share of passes with RFI per res-3 cell (about 110 km across) over 28 days; the map shows cells passed over at least 4 times with RFI on a quarter of passes or more.
- Data
- Copernicus Sentinel-1 L1 GRD annotations via Microsoft Planetary Computer (free, including commercial use; attribution)
- Notes
A first, private version looked for sites in three published cases and failed: the reports place an emitter only to tens of kilometres. Worldwide over 2–29 Oct 2026, every quiet control read 0.00 and the Gulf 1.00, and against the aircraft map the share gave AUC 0.747; that agreement is descriptive, because the band is not GPS. No account needed.
- More
Validation
ParkedWeather-radar spokes
Parked (Oct 2026)Interference spokes in open weather-radar data, as evidence of nearby emitters.
- What
A strong emitter in a weather radar's band paints a thin radial spoke on its scans. National services publish the scans.
- How
tools/radar_spokes.py reads the unfiltered lowest sweep from German (DWD) and Finnish (FMI) radars, finds rays whose range-corrected power stays level along range (the signature of a transmitter, not weather), separates the sun and rain, groups spokes into persistent sources and crosses bearings between radars. First day (23 Oct 2026, 29 radars): 101 sources, the sun found to within 0.23°, and bearing crossings no better than chance, so no emitter located yet. A second day (24 Oct) found all 10 persistent sources again within 1°.
- Data
- FMI radar (CC BY 4.0)
- DWD radar (CC BY 4.0)
- Notes
Parked 26 Oct 2026. Most sources are steady, narrow, weak and seen by one radar only, which matches published descriptions of outdoor Wi-Fi links in the band: a pattern, not an identification, and nothing points to military activity. With no validation target it waits for a specific case. C-band, so it complements the L-band NISAR work.
- More
First results
ValidatedSpaceborne and network GNSS
Validated: CYGNSS (Oct 2026)GNSS reflectometry, radio occultation, ground reference networks and L-band radiometers.
- What
CYGNSS GNSS-reflectometry has been used to localize a jammer (the Shiraz case). COSMIC-2 radio-occultation amplitude can indicate ground jamming power. CORS/IGS ground stations record degradation at fixed sites, and SMOS/SMAP map 1.4 GHz interference.
- How
CYGNSS first: the noise floor in each delay-Doppler map, against a same-day baseline for the same spacecraft, antenna and land/sea mix (tools/cygnss_rfi.py). On six days it separated aircraft-jammed from aircraft-clean areas with AUC 0.98; on 21 held-out days, with the method frozen and the checks set in advance, AUC 0.97, 99% of jammed cells caught at 1 dB, and control areas quiet. Over a full year (383 days) the AUC is 0.974. About 80% of the areas it flags have no aircraft coverage, such as the Red Sea, Iran and Myanmar. Ground reference stations: tools/station_cn0.py compares each EPN/IGS station's GPS L1 C/A C/N0 with its own quiet days at the same sky position and flags simultaneous drops on most satellites. First test (southern Baltic; 6 stations 110–486 km from the Kaliningrad coast; 6 jammed days, 2 controls): no flags on any of 48 station-days, while aircraft within 150 km were degraded. Coastal ground jammers are beyond these stations' line of sight, so the null was expected; the next test needs stations within sight of an emitter.
- Data
- NASA CYGNSS
- UCAR COSMIC-2
- EPN and IGS stations via BKG (CC BY 4.0); NOAA CORS
- ESA SMOS, NASA SMAP (licences UNVERIFIED for these products)
- Notes
CYGNSS validated 26 Oct 2026 on its pre-registered held-out test: all six checks hold on 21 unseen days (pooled AUC 0.974, 98.7% of jammed cells caught at 1 dB, 15.8% false alarms, at least 0.959 with each region left out). The separate check on announced US GPS tests came out "not shown" (AUC 0.57 against the 0.70 set in advance), although some tests are seen with the published timing. Location is coarse: the antenna beam is a few hundred km wide, so the map says where satellites were exposed, not where a transmitter is. Coverage is within about 38° of the equator (no Baltic). Sentinel-6A's own GPS receiver passed its four pre-registered checks on 21 held-out days on 31 Oct 2026 (pooled AUC 0.956; at least 0.918 with each region left out; no control cell-days raised; rank agreement 0.504 with CYGNSS); it reaches 66°N, places interference by region, not by site, and did not show the Gulf's spring 2026 rise. COSMIC-2's navigation antennas (UCAR's interference index) passed all five of their checks on the same 21 days (pooled AUC 0.919; at least 0.920 with each region left out; rank agreement 0.265 with CYGNSS); they follow the Gulf's spring rise, narrowly, and cover about 45°S to 45°N. Both are on the map as regions. The ground-station part is still a prototype; a station sees a ground jammer only within roughly 35–60 km (line of sight). Licences are checked before any other product here feeds a layer.
- More
CYGNSS validation · Ground-station validation
Satellite communications
Open data can't see satcom jamming directly, so this half is built from orbits, outages, the official record and predictable natural effects.
BuiltGEO threat board
Built (Oct 2026)Known inspector satellites near commercial comsats, with drift and manoeuvre flags.
- What
Daily positions of known GEO inspector satellites, such as the Olymp-K (Luch) and Shijian series, against the communications satellites near them.
- How
Longitude-drift and manoeuvre flags from public orbital elements. Proximity thresholds are no tighter than public element accuracy (about 50 km).
- Data
- CelesTrak orbital elements (USSPACECOM SSA data, redistribution allowed with citation)
- Notes
Built 26 Oct 2026 (the GEO page): every active geosynchronous object from CelesTrak's public elements (USSPACECOM basic SSA data, used with citation), with its longitude, drift and class, pairs of different owners within 100 km, and manoeuvres between daily snapshots (from 26 Oct 2026). Public elements at GEO are good to tens of km, so no separation under about 50 km is claimed. Operators co-locate on purpose and servicing vehicles dock, so it shows proximity and behaviour, never intent. Not validated: a check against announced manoeuvres and published rendezvous comes next.
- More
GEO board
ParkedSatellite-internet health
Parked (Oct 2026)Telling a constellation-wide outage from a local one.
- What
Internet-measurement data shows when satellite-ISP users in one area lose service while others don't.
- How
Speed-test and outage-detection data, compared across areas and with the GNSS measurements.
- Data
- M-Lab NDT (CC0)
- IODA (permission needed)
- RIPE Atlas (permission needed for commercial use)
- Notes
Parked 26 Oct 2026 until the permission requests to IODA and RIPE NCC go out; M-Lab (CC0) needs no permission.
RunningSun outages: calculator, board and alerts
Running (from Oct 2026)Predictable daily losses when the sun passes behind a GEO satellite, to the minute, with alerts when observed solar conditions make them worse.
- What
Twice a year the sun sits behind each GEO satellite as seen from a given receiver, and dishes lose the signal for a few minutes a day. Losses inside those windows are natural; losses outside them deserve a second look. A strong solar radio burst can black out sun-facing links, and GNSS on the sunlit side, at any time.
- How
A low-precision solar ephemeris (Meeus, about 0.01°), an ideal geostationary satellite and a WGS84 receiver; an outage is the sun within half the dish beamwidth plus the sun's radius of the satellite (1.2° for a 0.9 m Ku-band dish). The Sun page computes windows for any place, slot and dish in the browser; the home page predicts them live for 32 slots seen from 36 cities and sets them against NOAA's live solar radio flux and radio bursts. An alert fires when a predicted outage meets observed evidence, or when a strong L-band burst is observed; the feed carries them.
- Data
- Computed geometry
- NOAA SWPC solar radio flux, radio bursts and alerts (US public domain)
- Curated public outage reports (cited)
- Notes
The browser code matches the project's Python tool on six pairs in both hemispheres, and the Python tool matched an independently written calculator for Tehran. Alert thresholds are provisional. Our own aircraft data joins the alerts once a check against archived radio bursts passes. The planned interference register now lives here, as the curated outage-reports file (public sources, each cited).
- More
Sun page · Design · Code
Vessels at sea
Ships and the signals around them: what radar satellites see that AIS doesn't, behaviour that suggests hiding or pressure, and emitters at sea.
PrototypeVessels, dark ships and signals at sea
Prototype (M2 scored, Oct 2026)Find vessels that hide, transfer cargo at sea or press others near contested features, and the emitters they carry, starting in the South China Sea and Indian Ocean.
- What
Combines ships seen by radar satellites while silent on AIS (dark ships), AIS tracks with no ship under them (phantom tracks), ship-to-ship transfers, identity changes, spoofed tracks, behaviour over undersea cables, RF emitters at sea and HF signal metadata, with weather and declared activity as context.
- How
First one method, validated and written up: Sentinel-1 ship detections matched against AIS at one focus area. Ship detection is built and runs privately on the first area (19 radar passes in 60 days). Checked against Sentinel-2 optical images, about half of its detections are confirmed at the best setting, against 13–31% at the first one. Matched against Finland's open AIS at the radar's acquisition time on a held-out pass (26 Oct 2026, pre-registered): all 75 ships of 100 m or more were found, with a 105 m median gap. With OpenStreetMap coastlines, 3 of 86 large detections had no AIS match (1 after a map of fixed objects), so the amended setting is validated for Finnish waters on one pass; the pre-registered setting, with Natural Earth coastlines, only partly (islets swamp it). A seven-day extension is running. Then behaviour detectors, context layers and a separate Sea map with licence-clean layers only.
- Data
- Digitraffic AIS (CC BY 4.0)
- Official sanctions lists (OFAC SDN, UK Sanctions List)
- Copernicus Sentinel-1 and -2
- VIIRS night lights (licence to confirm)
- AIS (aisstream, private until its terms are clear)
- Declared warnings
- Public HF receivers (metadata only)
- Notes
A public Sea map shows sanctioned, military, law-enforcement and Russian, Chinese, Iranian or North Korean-flagged vessels in Finland's open AIS, with official listings, reporting patterns and failed spoofing tests; everything else stays private. No open AIS feed covers the South China Sea or Indian Ocean, and no free source sees per-vessel satellite communications. Communications content is never published.
- More
Sea map · Plan · Ship detection check · Dark-ship test
Context and assessment
Turning each capability's outputs into graded events with a stated basis, and keeping natural and benign explanations in view.
RunningSpace-weather context
Phase 1–2Geomagnetic storms and ionospheric scintillation, to separate natural degradation from deliberate interference.
- What
Storms and scintillation degrade GNSS too. The Kp index already labels SBAS flags. ESA's worldwide scintillation nowcast (S4, sigma-phi and TEC on a 2.5° grid) has been archived since 21 Oct 2026, because ESA keeps only the current hour. So far about one hour in five is kept, because GitHub runs the capture only every few hours. The events grader reads it (rule N3).
- How
Context layers sit beside the measured layers. Thresholds follow ICAO's scintillation categories (S4 0.5/0.8, sigma-phi 0.4/0.7 rad).
- Data
- GFZ Potsdam Kp (CC BY 4.0)
- ESA Space Weather Service Network scintillation nowcast (ESA S2P terms)
- NOAA SWPC and GloTEC (US public domain)
- Notes
The ESA terms allow derived products with attribution, but the raw grids may be passed on only to people who accept the same terms, so the archive itself stays private. 'Data provided by the European Space Agency (ESA) as part of its Space Safety Programme (S2P)'.
BuiltEvents and grading
Phase 6 (v1.1, 27 Oct 2026)Fusing every source into events, each graded on five fields.
- What
An event joins what the different sources saw in one place and time window. It is graded on signal type, support, localization, attribution and verdict.
- How
tools/events.py turns each capability's outputs into observations (ADS-B anomalies, bursts, all-day severe-error regions and SBAS flags; CYGNSS noise-floor cells; FAA announced GPS tests; GFZ Kp storms; curated official notices; EASA's weekly FIR tables) and fuses them per UTC day: same or adjacent H3 res-2 region, overlapping or adjacent hours, no two members more than 600 km apart. Exclusion checks (announced test, geomagnetic storm, ionospheric scintillation, official notice) set the verdict. Every grade stores its rule and the observations behind it.
- Data
- Notes
Rules frozen as v1.0 on 26 Oct 2026; v1.1 (27 Oct) adds EASA's FIR tables as a source for 'deliberate_suspected'. They are stated choices, not yet validated. 1 Oct 2025 – 25 Oct 2026: about 160,000 events. 8,632 reach 'Multiple sources' (an aircraft 93 m signal and a raised CYGNSS noise field agreeing within 300 km). 691 effect events are 'planned': inside an announced FAA test window and its FL250 radius, the one the map draws. 905 are 'benign_natural' (10 m-only effects at storm time). 1,322 are 'deliberate_suspected': EASA's weekly table listed spoofing in the event's FIR that week (FIRs approximated by country outlines). EASA's tables exist for only 13 weeks of the period (the current one and Internet Archive copies), so that count follows which weeks have a table, not how much spoofing there was. NGA's warning feed has been frozen since May 2024, so other notices are added by hand, each cited; the two on file (Baltic, Gulf of Finland) say 'interference', so they corroborate without changing a verdict. The scintillation rule reads ESA's nowcast, archived since 21 Oct 2026. Only monthly counts are published (Validation page); the register stays private. Grades describe evidence strength. They don't name perpetrators. Known look-alikes, such as radar faults, are kept here as test cases (this absorbed the planned exclusion layer).
- More
Method and results · Monthly counts by grade
How the outputs reach people: a public, licence-clean map and a private watch kept apart from it.
RunningPublic map, charts and data
Phase 2The map updates every day from an automatic pipeline; the charts cover the validated days.
- What
A static site: a Leaflet map of H3 cells, charts, the method card and the validation report. Each day's cell data is downloadable under ODbL, and the full daily outputs sit in monthly data releases.
- How
A GitHub Actions workflow processes each new adsb.lol day after it is published (about 03:30 UTC the next day), stores the outputs as assets on a monthly GitHub release, and redeploys the site. It checks the last 7 days each run and fills gaps. The year back to 1 Oct 2025 was backfilled the same way on 22–23 Oct 2026 (about 1.3 TB downloaded and discarded).
- Data
- adsb.lol daily archive (ODbL; derived data published under ODbL with attribution)
- Notes
Live: every day from 1 Oct 2025, with a time slider and a per-day strip, four views (severe-error, accuracy, change from usual, fewer aircraft than usual), each day's anomalies, bursts and SBAS flags listed and outlined, a daily trend chart of the known hotspots, the 20 validated days, and the full outputs of every processed day (per cell, hour and minute; SBAS flags, anomalies and bursts) in the data releases, all under ODbL. Daily runs are automatic and not reviewed by a person. Planned: ad-hoc queries in the browser (DuckDB-WASM), with no server. Static files on the free tier: no servers and no database bill. The home page is a live status board (alerts, sun outages, solar radio, GNSS today, sea), which replaced the planned daily-status product; a weekly assessment will come from the same data.
- More
Map · Charts · Data releases · Source code
RunningPrivate watch
RunningDaily runs over private areas of interest, behind a login, kept apart from the public site.
- What
Watch areas, keywords and alert history are private. The NISAR work also publishes a private page behind Cloudflare Access, with alert history and lower-confidence detections; its repeat sites are public on the map.
- How
Private configuration never enters the public repo; a check on every commit blocks private terms.
- Data
- Same sources as the public pages
- Notes
Event and alert state will move to Cloudflare D1 (free tier).
Build order
Each phase is finished, validated and committed before the next starts.
| Phase | Scope | Status |
| 1. Foundation | Licence registry, GNSS processor, method card, validation against known events | Validated |
| 2. Daily and public | Daily pipeline and backfill, public map, declared-interference lane, home status board | Running |
| 3. SATCOM v1 | Sun outages with alerts (running; the interference register folded in), GEO threat board (next), satellite-internet health (parked until permissions); the L-band risk overlay was dropped | Running sun outages |
| 4. Spoofing and maritime | ADS-B spoofing (validated), AIS spoofing at sea and dark ships (prototypes, held-out tests next), declared-warning layers | Validated ADS-B spoofing |
| 5. Emitters | Sentinel-1 RFI board, weather-radar spokes | Parked |
| 6. Assessment | Event model and grading (v1.0, rules frozen; exclusions folded in), community lane, the home status board as the daily status; weekly assessment later | Built events; community collection running |
| 7. Extensions | Spaceborne and network GNSS; NISAR L-band emitters (pulled forward) | Partly validated NISAR |