Skip to content

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