NFFI — STANAG 5527¶
Status: Implemented
See the Status & Roadmap for the system-wide view.
What it is¶
NFFI (NATO Friendly Force Information) — STANAG 5527 — is a standardised XML schema for exchanging blue-force tracking data between NATO C2 systems. NFFI is a wire format, not a symbology or rendering standard. It answers the question: "How do I tell another NATO system where my friendlies are?"
What NFFI is NOT¶
NFFI is often confused with symbology standards. The distinction:
| MIL-STD-2525D / APP-6D | NFFI / STANAG 5527 | |
|---|---|---|
| Purpose | How to draw a unit on a map | How to share positions between systems |
| Format | 20-digit SIDC code → icon | XML document over a network |
| Where it lives | Inside your app (renderer) | On the wire (between apps) |
| Contains the other? | No | Yes — each NFFI track carries an SIDC |
NFFI message structure¶
An NFFI message contains a list of tracks, each with:
- TrackId — unique identifier for the track (originator + local ID)
- Position — WGS84 latitude, longitude, altitude (HAE)
- DateTime — observation time in ISO 8601 / DTG
- SymbolCode — MIL-STD-2525D SIDC (the 20-digit code Bedrock already uses)
- Speed — ground speed in m/s
- Course — heading in degrees true
- Source — originating system identifier
- Reliability — confidence/quality indicator
- Comment — free text annotation
Versions and transport¶
Two versions are in use — NFFI 1.3 (widely deployed, simpler schema) and NFFI 2.0 (expanded with sensor data, engagement status, logistics state). NFFI is transport-agnostic and is commonly delivered over HTTP POST, JMS/MQTT, file drop, or a SOAP/REST web service.
Bedrock's integration¶
NFFI 1.3 export is implemented in the gateway: gateway/src/formats/nffi.rs serializes
WayPoint positions to NFFI XML and gateway/src/publishers/nffi_file.rs writes them to a
configured directory. Every field NFFI requires is already carried on a WayPoint position,
and the 20-digit SIDC is reconstructed from decomposed fields via the builder chain.
HTTP/MQTT publishers, NFFI import (ingest), and NFFI 2.0 are not yet implemented. The full task breakdown and field-mapping detail live with the owning repo: gateway/docs/standards/nffi-stanag5527.md.
See also¶
- ADatP-37 / SIDC — the symbol codes NFFI tracks carry
- Interop standards index
- Status & Roadmap