Alpha — thresholds not proven against real hardware
Fixed-Site GNSS Integrity Monitoring

Atri Sangam

The assembly that notices when the sky goes dark

यं वै सूर्यं स्वर्भानुस्तमसाविध्यदासुरः ।

अत्रयस्तमन्वविन्दन्नह्यन्ये अशक्नुवन् ॥

The sun, whom the Asura Svarbhānu had enveloped with darkness, the Atris recovered; no others were able.

Rig Veda 5.40.9

In hymn 5.40 the sky's most trusted reference goes dark — the eclipse of Svarbhānu — and is understood rather than merely feared. The fifth Mandala of the Rigveda is called the Atri Mandala.

Sangam (சங்கம்) is confluence and assembly: rivers meeting, and the classical Tamil academies where independent voices reached consensus by collective judgment. That is the architecture — a sangam of independent channels deliberating over what the sky and the clocks are really saying.

A GPS receiver cannot audit itself

GPS is infrastructure that almost everything else quietly depends on, and it is easy to attack. Jamming drowns the signal. Spoofing is worse: the receiver keeps reporting a confident fix, and the fix is a lie. Both are cheap. Neither announces itself.

The defence is not a better receiver — it is a second opinion that does not come from the same sky. Atri Sangam's premise is that a site which already knows where it is can check what it is being told.

The assembly

Each channel is a residual — an observed value minus what it should be — fed into one engine. Only the GPS channels come from the satellite constellation; the rest are deliberately independent of it.

gps_time_offset

from the sky

GPS-reported UTC minus the local clock

Time spoofing, receiver faults

gps_position_error

from the sky

Distance of the reported fix from the surveyed site

Position spoofing, multipath

gps_cn0_spread

from the sky

Spread of per-satellite signal strength

Spoofing tell — a single transmitter collapses the spread toward zero

ntp_time_offset

independent

Network time minus the local clock

Independent time cross-check

ntp_consensus_spread

independent

Widest disagreement among several NTP servers

A minority of lying time servers

roughtime_time_offset

independent

Ed25519-signed time minus the local clock

Time reference an attacker cannot forge without the key

wwvb_time_offset

independent

WWVB 60 kHz radio time minus the local clock

Terrestrial time, no network needed

holdover_residual

independent

Observed offset minus the local clock's own drift model

Slow manipulation that tracks nothing real

Three shapes of attack

A healthy site is the fourth. See all four in the dashboard demo, where GPS is plotted against the consensus band the independent references span — a hairline when everything agrees, fanning open when it stops.

Where it actually stands

Alpha. The monitor runs: the daemon, the detection layers, the storage and the dashboard are built and tested, and the independent time channels — NTP consensus, Roughtime, WWVB — are wired in and opt-in per site.

What is honestly not done: the solar channel exists as a predictor but is not yet wired into the daemon, and the star-tracker channel is a roadmap idea. The default thresholds are consumer-grade starting points, meant to be overridden, and have not been validated against real jamming or spoofing hardware. Treat them as a place to begin tuning, not as a calibrated defence.

There is no language model anywhere in it — nothing is generated, nothing is inferred. It is arithmetic on residuals, and the reason it can be trusted is that you can read every step of it.