PNTMAP: GNSS interference alerts as canonical objects
PNTMAP is an operational data source rather than a standard. It reports positioning, navigation and timing interference: where satellite navigation is being jammed or spoofed, how strongly, and with what confidence. The open integration layer publishes the reference adapter that turns one alert into two canonical objects, and it is the adapter to read first because every rule the canonical model enforces appears in it at least once.
What PNTMAP is
A PNTMAP alert describes an interference episode: a type, a frequency band, a signal strength, a confidence, a severity and a validity interval, with an optional geolocated emitter and an optional affected area.
Two different things are being reported at once. There is something that exists, an interference source at a place over an interval, and something that happened, interference observed over an area. Those are different canonical kinds.
PNTMAP is published by Decent Cybersecurity, the same company that builds SynapseCommand. That relationship is stated here rather than left to be discovered, and it changes nothing about how the adapter behaves.
Why this matters to a commander
Satellite navigation denial is now an ordinary condition of operations rather than an exception, and it degrades exactly the inputs a common operating picture depends on most.
An interference report is what makes a position source meaningful. A satellite derived fix inside a jammed area is suspect; an inertially derived fix in the same area is not, and the canonical model records which is which precisely so that this comparison can be made.
Because the alert is translated into the same objects as everything else, the effect of interference on the picture is visible in the picture rather than in a separate advisory channel.
The exact behaviour, not a capability claim
One alert becomes an Entity for the emitter and an Event for the interference. Forcing them into one object would lose whichever half the container was not shaped for.
Affiliation is not inferred. A jamming emitter is very likely hostile, and the adapter still records unknown unless the payload itself states an attribution, because an intelligence judgement made inside a translator is invisible to the audit trail and unattributable.
An alert with no geolocated emitter produces an entity with no position, never a placeholder coordinate.
An unreadable severity raises rather than defaulting, because an alert whose urgency cannot be read must not arrive labelled as routine. Interference type and attribution resolve to unknown instead, because both vocabularies have a member that means exactly that.
The stated geolocation method maps to a position source that reflects how much the fix can be trusted, and the source's own word is kept alongside it. Time of arrival and angle of arrival fixes are recorded as estimated, and none of them is ever labelled as satellite derived, which would be absurd in an alert about satellite navigation being denied.
Every field the adapter does not map is parked verbatim, so a field it has never seen still arrives intact. The one declared transform is the re-rendering of the alert times into the canonical fixed precision form, and the harness prints its reason on every run.
Identity derives from the emitter identifier when the payload has one and from the alert identifier when it does not, and which basis was used is recorded, because an identifier keyed on a per-alert field is not stable across alerts.
- 01Direction inOne PNTMAP alert document to one emitter Entity and one interference Event.
- 02Direction outNone. No alert is generated from canonical objects.
- 03Interference typesJamming, spoofing and unknown, mapped to the canonical vocabulary; anything else resolves to unknown rather than being guessed.
- 04SeverityInformational, advisory, warning and critical. An unreadable value is refused rather than defaulted.
- 05Published schemaThe interference payload has a generated JSON Schema in the repository, so a consumer can validate the canonical output independently.
Which way the data actually moves
Into the canonical model
- PNTMAP alertOne JSON alert document, already fetched by the caller.
- Entity and EventThe emitter and the interference episode, with the identity basis recorded.
Out of the canonical model
Not implemented, and not claimed.
Where this data is used
Degrading confidence in a region
An interference event over an area lets the fusion layer treat satellite derived positions inside it differently from inertially derived ones, on the record rather than by operator memory.
Maritime and air picture integrity
Vessel and aircraft self reports depend on satellite navigation. An active spoofing alert is the context that explains a track behaving impossibly.
Independent validation
The interference payload has a published JSON Schema, so an integration authority can validate what the adapter produces without access to any deployment.
Every claim above has a file behind it
These paths are in the public repository, published under Apache 2.0. The adapter module for this page is pntmap.
Source and fixtures
- Adapter sourcepackages/cdm/synapse_cdm/adapters/pntmap.py
The reference adapter, with the never-infer, never-default and never-drop rules argued at the point each applies.
- Fixturespackages/cdm/synapse_cdm/fixtures/pntmap/
Synthetic alerts including a spoofing alert with no geolocated emitter.
- Published JSON Schemaschemas/payload_gnss_interference.schema.json
Generated from the canonical model, so the output can be validated independently.
Test evidence
- Harness testtests/test_cdm_pntmap_adapter.py
Replayed by the validation harness shipped in the same package, which runs six checks per fixture including a never-drop lossless check.
- Lossless checktests/test_cdm_lossless.py
Confirms unmapped alert fields arrive intact rather than being dropped.
Manifest-backed assurance
Maturity is declared in each generated adapter manifest and checked against suite eligibility. VERIFIED is a separate claim-status axis. Neither means external certification or integration with a named system.
pntmapMaturity L3Claim VERIFIED
What these maturity levels mean
L3 means required provenance survives translation. L4 adds applicable roundtrip evidence. L5 would require every applicable public conformance gate to pass. L6 requires an independent real implementation or system and cannot be awarded from this repository's synthetic fixtures.
What is claimed, and what is not
The published adapter translates the format into the canonical data model. No egress path is implemented, and none is claimed.
Last reviewed against the published implementation on 2026-09-06.
Limitations
- Ingest only. Nothing emits PNTMAP alerts.
- This is a vendor data source, not a ratified standard, so its payload shape can change and the adapter is written against a documented representative shape.
- No real PNTMAP data appears in the repository. Every fixture is synthetic.
- Hostility is never inferred from interference. Only an explicit attribution in the payload sets affiliation.
- The adapter holds no HTTP client, credentials or polling logic; fetching an alert is the caller's job.
Security boundary
- The published layer translates one already fetched alert document and holds no state between alerts.
- No endpoint, credential or subscription detail for PNTMAP appears in the repository or on this page.
Frequently asked
- Is PNTMAP a standard?
- No. It is an operational data source that reports satellite navigation interference. It appears in this register because the open integration layer publishes an adapter for it, and it is categorised as a data source rather than as a standard.
- Does an interference alert mark the emitter as hostile?
- Only if the alert itself states an attribution. Otherwise affiliation is unknown. Inferring hostility inside a translator would put an intelligence judgement outside the audit trail, and it would be wrong the first time the source turned out to be a friendly electronic warfare exercise.
- Does the repository contain real PNTMAP data?
- No. Every shipped fixture is synthetic and representative.