Data Methodology v1.0

Published 2026-08-14. Parameter-level description of what PNTMAP™ measures, how it decides that something happened, and which parts are not yet implemented. Every parameter below is read from the running implementation; anything not implemented is stated as such rather than described aspirationally.

PNTMAP is an intelligence and situational-awareness service. It is not an authorised navigation source and must not be used as the sole basis for flight planning, navigation or aviation safety decisions.

Capability status

Inputs

Publicly broadcast ADS-B integrity fields (NIC, NACp, SIL, ADS-B version) received by PNTMAP™ ground nodes on UK territory, plus direct GNSS-band RF measurements from RF-capable nodes as those are commissioned. No RF-capable node is live yet, so no published figure on this site rests on an RF measurement. No third-party interference feed is republished.

Implemented parameters

  • Grid systemEquirectangular latitude/longitude grid snapped to 0.5° latitude by 0.5° longitude. Cells are identified by their south-west corner. No equal-area or H3 grid is used. The cell label is computed on the node and accepted as sent; the platform does not recompute it from raw positions.
  • Window durationNodes submit pre-aggregated integrity reports stamped with a window_start. The platform does not impose a window length; the observed node cadence is 60s and is displayed alongside each peak figure rather than assumed. Cells are aggregated by summing aircraft counts and low-NIC counts across all reports sharing a cell in the selected period, so the displayed cell percentage is a count-weighted mean, not a mean of percentages.
  • Minimum unique-aircraft sample5 distinct aircraft in a cell/window. Below this the cell is treated as low-sample: it is forced to the nominal band and excluded from peak figures.
  • Headline display thresholdA peak is only headlined as a network peak at 10 or more aircraft in the contributing window. Between 5 and 9 it is labelled "highest single observation" and is explicitly distinguished from network alert state.
  • Band thresholdsLow-NIC share of a cell: below 10% nominal, 10–30% caution, above 30% alert. These bands drive map colouring and the peak card; they do not by themselves open an event.
  • BaselineRolling 7-day count-weighted mean low-NIC percentage for the same cell, computed from all integrity reports in that period. Displayed as the comparison figure in cell popups. No seasonality, time-of-day, or traffic-mix correction is applied.
  • Trend resolution2-minute buckets over the last 6 hours for cell trend curves; buckets with no reports are rendered as no-data, distinct from zero.
  • Node livenessA node is reported offline when its last accepted report is older than 10 minutes. The same threshold is used by the watchdog and by every public surface.
  • ADS-B version and missing fieldsadsb_version, nac_p, nac_v and sil are stored per observation when broadcast and displayed as received. Missing fields are stored as null and rendered as unavailable; they are never defaulted to zero and never imputed. No filtering by ADS-B version is applied.
  • Position-inconsistency checkReported routes are validated against observed geometry using a great-circle corridor with 150 km tolerance between origin and destination; failures mark the route unverified in the UI.

Parameters not yet implemented

  • NIC/NACp numeric thresholdNot yet implemented in the platform. Nodes submit a pre-computed low_nic_count; the numeric cut-off (conventionally NIC < 7) is applied in node firmware and is not re-derived or re-validated server-side. The platform therefore cannot currently republish a per-aircraft NIC threshold as its own parameter.
  • Persistence requirementNot yet implemented as an automated rule. Events are currently opened and curated by an operator. The persistence, spatial-concentration and sample rules described below are the criteria applied by that operator; they are not yet coded as an automatic detector.
  • Event open / merge / revise / close automationNot yet implemented. Event records carry status, severity, cell, region, start and end timestamps, and involved nodes, but transitions are made manually and no merge or revision policy is codified.
  • Habitually low-quality airframesNot yet implemented. No per-airframe reputation, exclusion list, or weighting is applied; a persistently low-NIC airframe contributes to every cell it flies through.
  • NormalisationsNone yet. No traffic-density normalisation, altitude banding, geometry weighting, or receiver-sensitivity correction is applied to cell statistics.
  • Validation against controlled testsPending. No controlled jamming or spoofing test has been run against the network, so no measured false-positive or false-negative rate is published. Until such a test is completed and published, all classifications should be read as observational, not validated.

The full validation status and the ordered roadmap to characterised detection performance are published on the Validation Status & Roadmap page.

Use of SIL

SIL (Source Integrity Level) is received and retained as per-observation metadata and shown in the aircraft detail panel. It is not used today in any aggregation, threshold, band, baseline, or event classification. That is its only current role.

Alert criteria (operator-applied)

An event is opened only when a degradation is (a) sustained across successive windows, (b) spatially concentrated in one grid cell rather than diffuse, and (c) supported by at least 5 distinct aircraft. A single elevated reading does not open an event. Where a peak is shown on the site without an event, the site states which of these criteria was not met. As noted above, these criteria are applied by an operator and are not yet automated.

Evidence classes

  • ADS-B integrity anomaly

    A statistically unusual cluster of aircraft reporting degraded navigation integrity. Cause not established.

  • Jamming-consistent ADS-B anomaly

    A persistent, spatially bounded integrity degradation whose shape is consistent with a ground-based emitter. No direct RF measurement available, so jamming is not asserted.

  • RF-corroborated jamming

    An ADS-B integrity signature accompanied by a direct GNSS-band RF measurement from a PNTMAP node covering the same volume and period.

  • Position inconsistency

    Reported position or timing inconsistent with observed geometry, seen by a single node. No cause implied.

  • Multisensor-corroborated position inconsistency

    The same inconsistency between reported position/timing and observed geometry is seen independently by two or more nodes.

  • Spoofing-consistent anomaly

    A corroborated inconsistency whose pattern, for example aircraft converging on identical false solutions, is consistent with spoofing. Spoofing is not asserted.

  • RF-corroborated suspected spoofing

    A spoofing-consistent anomaly accompanied by a direct GNSS-band RF measurement from a node covering the same volume and period.

  • Confirmed spoofing

    Reserved for controlled tests, waveform-level evidence, or incidents independently verified by a third party. Never assigned automatically by the platform.

"Confirmed spoofing" is reserved for controlled tests, waveform-level evidence, or incidents independently verified by a third party. No automated PNTMAP™ classification reaches this rung.

Coverage and known limits

PNTMAP™ can only observe airspace within reception range of a commissioned node. Areas outside that footprint are shown as unmonitored on the map and are not evidence of nominal conditions. Spoofing discrimination requires cross-checks between multiple nodes observing the same aircraft, so spoofing confidence rises as the network densifies. RF corroboration and cryptographic evidence provenance are being deployed progressively, are reported per node as capability badges, and are never assumed for an event.

Provenance: telemetry signing scheme

Each ingest request may carry a detached signature in X-PNTMAP-* headers. The platform computes SHA-256 over the exact raw ingest request body bytes, compares it with the digest declared by the node, then verifies the ML-DSA-65 (NIST FIPS 204) signature over that raw 32-byte digest against the node's registered, non-revoked public key, using @noble/post-quantum v0.7.0. Verified batches are stored with the signing key identifier; a mismatch is rejected and logged; an unsigned batch is accepted and recorded as unverified. ML-DSA-65 telemetry signing: live on all nodes (MAN-1, MAN-2), verified at ingest, effective from 2026-08-15T16:56:00Z on MAN-2 and 2026-08-15T17:28:00Z on MAN-1. What "quantum-safe by default" means here: telemetry provenance uses ML-DSA-65 (FIPS 204) signatures generated at each sensor and verified at ingest before storage; per-node keys, private keys never leave the sensor. Transport uses TLS 1.3 with hybrid post-quantum key agreement (X25519MLKEM768) negotiated by default at the edge and on the backend link, providing harvest-now-decrypt-later protection for supporting clients (Chrome/Edge 124+, Firefox 132+, recent OpenSSL); older clients fall back gracefully to classical X25519. Certificate authentication remains classical (ECDSA/RSA), pending CA ecosystem support for PQ certificates. At rest, AES-256 volume encryption with provider-managed keys (AES-256 retains ~128-bit security against quantum attack); secrets are additionally AES-256-GCM encrypted at row level. A verified signature attests origin and integrity of the batch at ingest only. On top of that, every accepted record is committed to a hash-chained ledger block with a Merkle root, and each block header is independently timestamped by the Bitcoin blockchain (OpenTimestamps) and by an RFC 3161 timestamp authority (DigiCert). The first confirmed Bitcoin attestation is ledger block 55 in Bitcoin block 962625 (2026-08-15 21:00:27 UTC), verified externally against two independent block explorers. Recent blocks are anchored on the next scheduled run, so the newest blocks may not carry a Bitcoin attestation yet; hash chaining means one confirmed attestation fixes every block below it. These are timestamps, not qualified or eIDAS-certified trust services. The trust model and the record format are set out on the Verify Evidence page.

Revisions

Figures are recomputed from a single canonical network snapshot. Where a snapshot cannot be computed, the site states that live status is unavailable rather than displaying zeros.

Changelog

  • v1.0 · 2026-08-14
    First versioned publication. Exact implemented parameters listed (grid resolution, aggregation, sample floors, bands, baseline, liveness, missing-field handling). Graded spoofing ladder introduced. Unimplemented parameters marked explicitly rather than described as active. SIL role stated. Controlled-test validation recorded as pending.
  • 2026-08-15T16:56:00Z
    Telemetry signing scheme documented: SHA-256 over the raw ingest body, ML-DSA-65 (FIPS 204) signature verified at ingest against the per-node registered public key. Initially live on MAN-2 (key b13fca48275021c1); superseded by full-network coverage in the next entry.
  • 2026-08-15T17:28:00Z
    MAN-1 telemetry signing live (key 4f8a732ccad8fa4a), verified at ingest under the same scheme. Signature verification now covers every node in the network.
  • 2026-08-15
    Independent evidence anchoring live. Every sealed ledger block header is timestamped by an RFC 3161 timestamp authority (DigiCert) within seconds and submitted to the OpenTimestamps calendars on the hourly anchoring run. First confirmed Bitcoin attestation: ledger block 55 in Bitcoin block 962625 (2026-08-15 21:00:27 UTC), verified externally against two independent block explorers. Recent blocks are anchored on the next scheduled run.
Traffic
LOADING LIVE TRAFFIC…