Sideways-drag spoof — detection replay
A 2 m/s sideways drag, caught in the closed loop. Left unprotected, it walks a drone off course with no alarm.
Simulation replay
●Ready
Cross-track error
0.0m
How far the drone actually is from the course it was told to fly. Bigger = further off track.
Doubt level — is the GPS being faked?
0.00/ 8.0 cut-off
trusting GPSGPS rejected
The device's own suspicion score. The instant it crosses the 8.0 cut-off line, it stops trusting GPS and protects the flight.
t+0.0 s
Intended course Actual course · protected Actual course · drifting Input-rejected event
What this is — and what it proves
Built from Nodus Fortis's frozen closed-loop simulation (the 2 m/s sideways-drag demo) against widely deployed ArduPilot flight-controller software in a software-in-the-loop (SITL) environment.
The figures shown — detection time, cross-track error, drift distance, doubt level — are measured simulation results,
not artwork. It demonstrates that the detection logic works on the ~2 m/s drag: it detects and rejects the compromised
input in ~8 seconds and stays silent on a clean flight. Slower drags (≤1 m/s) sit below the frozen detector's boundary and are
not flagged by this configuration — a stated limitation addressed on the roadmap. It is not a claim
about the physical board, which is pending bench validation. The path geometry is drawn to scale from the measured endpoints; time is compressed for viewing.