Skip to content

NFFI / FFTS / STANAG 5527 / ADatP-36 Tracking Custody

This blueprint describes a safe custody model for externally normalized Friendly Force Tracking / Friendly Force Information events. A gateway or C2 adapter owns ADatP-36, NFFI, FFTS, FFI, and terminal-specific behavior. nats-sinks persists normalized tracking events after they are authorized and published to JetStream.

flowchart LR
    Source[Tracking source or terminal] --> Adapter[External NFFI / FFI adapter]
    Adapter --> JS[NATS JetStream]
    JS --> Sink[nats-sinks]
    Sink --> Store[Oracle / file / object sink]
    Store --> Audit[Custody / replay / reporting]

Synthetic Tracking Event

{
  "event_id": "synthetic-track-0001",
  "source_gateway": "tracking-gateway-placeholder",
  "source_system": "tracking-adapter-placeholder",
  "tracking_profile": "synthetic-ffts",
  "tracking_profile_version": 1,
  "track_id": "track-placeholder-001",
  "friendly_track_id": "friendly-placeholder-001",
  "unit_reference": "unit-placeholder",
  "position_reference": "redacted-grid-placeholder",
  "position_quality": "reduced-precision",
  "event_time": "2026-05-31T10:30:00Z",
  "receive_time": "2026-05-31T10:30:02Z",
  "correlation_id": "correlation-placeholder-004",
  "sequence": "tracking-sequence-001",
  "payload_sha256": "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
  "raw_payload_reference": "artifact://synthetic/tracking/0001",
  "normalized_payload": {
    "synthetic": true,
    "status": "active",
    "precision_category": "reduced"
  },
  "classification": "NATO UNCLASSIFIED",
  "labels": ["synthetic", "tracking", "custody"],
  "security_labels": {
    "profile": "example-security-label-v1",
    "handling": "synthetic-only"
  },
  "mission_metadata": {
    "profile": "tracking-fix-event",
    "profile_version": 1
  },
  "data_quality": {
    "timeliness": 0.9,
    "confidence": 0.75
  },
  "schema_profile": "tracking-fix-event",
  "schema_version": 1
}

Operational Guidance

  • Treat tracking metadata as sensitive even when examples are unclassified.
  • Prefer reduced precision, redacted position references, or external artifact references where policy requires.
  • Use idempotency keys based on source_system, track_id, sequence, event_time, and payload_sha256.
  • Preserve event time and receive time separately.
  • Do not assume total ordering across gateways; query by explicit timestamps and sequence metadata when reconstructing custody.

Boundaries

This page does not implement NFFI, FFTS, ADatP-36, FFI MTF, APP-11, terminal protocols, tactical track fusion, routing, targeting, or operational movement analysis.