Skip to content

Interop Standards

NATO / military interoperability + symbology standards across Bedrock. Each row links its reference doc; status reflects what is actually implemented, verified against source.

Status

Standard Purpose Status Doc
MIL-STD-2525E / APP-6E / ADatP-37 Map symbology via SIDC — APP-6E mandatory; 30-char only internally (gateway normalizes legacy 20-char on ingress) Implemented app6-symbology, adatp37-sidc
ADatP-3 Formatted military text (OPREP, INTREP, SALUTE) Implemented adatp3-messages
CoT / TAK ATAK / TAK Server exchange Implemented cot-tak
NFFI / STANAG 5527 Blue-force tracking XML Implemented (file export) nffi-stanag5527
AIS Maritime vessel position feed ingest Implemented (NiFi → track_hits, Telesto source)
ADS-B Aircraft position feed ingest In the source_type kind enum; no NiFi producer yet
STANAG 4774/4778 Classification labels + ceiling enforcement Implemented stanag4774-4778
Link 16 (MIL-STD-6016 / STANAG 5516) Tactical data link (air/naval) Planned / design link16-track-ingest
Link 11B (STANAG 5511) Serial tactical data link Planned / design link11b-serial-ingest
VMF (MIL-STD-6017) Variable message format (binary) Planned / design vmf-binary-messaging
MIP / DEM Multilateral data exchange model Planned / design mip-dem-exchange
NVG NATO vector graphics (tactical) Planned / design nvg-tactical-graphics
OTH-Gold Over-the-horizon maritime reporting Planned / design oth-gold-maritime
HLA High-level architecture simulation Planned / design hla-simulation
WMS (OGC) User-configurable map tile layers Not started wms-map-sources

Full maturity view and where each capability lives: Status & Roadmap.

The "Planned / design" docs describe the standard and a proposed integration approach; no format adapter exists in gateway/src/formats/ yet.

Live-feed ingest vs gateway adapters. AIS/ADS-B feeds enter through a NiFi pipeline that writes directly to the track_hits table — a direct-DB path, distinct from both the gateway format adapters (Link 16, Link 11B, OTH, etc., listed as Planned) and from the force-tracking ingest API (/api/feed HTTP, for detections/targets). The feed kind (ais | adsb | radar | geojson) is a property of the feed's layer (layers.source_type), not a per-row column; the provider name (e.g. Telesto, Nightingale) is free-text source. AIS is wired up today via a Telesto source; ADS-B is in the kind enum but has no NiFi producer yet.

Where the work lives

  • Gateway adapters follow src/formats/<standard>.rs (serialize/parse) + src/publishers/<standard>_<transport>.rs (file / MQTT / multicast / HTTP / serial). That source-layout convention stays documented in the gateway repo.
  • Symbology (SIDC parse + render) is common/src/sidc/ and android/ui/symbols/; the web renderer uses mil-sym-ts in web/inertia/features/map/symbols/ (see app6-symbology).