Every decision a delivery drone makes, on the record.
Proof of Flight is a concept for transparent AI in autonomous drone delivery. The aircraft records each decision with its inputs, the exact model that made it and the reason, chains those records together, and anchors them to a ledger shared by the operator, the regulator, the insurer and the UAS service supplier. Anyone with access can check a flight. No one can quietly rewrite one.
- 01Aware
- 02Decide
- 03Guard
- 04Explain
- 05Anchor
- 06Verify
Live simulation
A flight that writes its own record.
Hub 4 to drop point D-17, 5.1 km. Each decision becomes a record that carries the hash of the one before it. Every few records the aircraft seals the newest batch into a Merkle root and anchors it to the shared ledger. Select any record and edit its explanation to see what verification catches.
ADS-B In
No crewed trafficRemote ID
No drones nearbyAirspace
NFZ-3 edge 1.3 kmWind
15 kt G18Ground
Object in drop zoneRemote pilot
RP-12 deciding · 21 sRecord chain · on aircraft
7 records · 2 anchored- #0001Decision✓ A1SELECT_ROUTE
Route B · south arc · 5.1 km
prev8b90…ad65hash482c…3948 - #0002Decision✓ A1TAKEOFF
Pad clear · climb to 76 m AGL
prev482c…3948hash2075…8d3a - #0003Decision✓ A1CONTINUE
Remote ID contact UA-3F2 · diverging
prev2075…8d3ahash0baa…d51b - Anchored A1 · records 0001–00034/4 signed ✓
- #0004Decision✓ A2DESCEND_AND_HOLD
Crewed helicopter converging · yielding
prev0baa…d51bhashffe7…e5eb - #0005Guard veto✓ A2RESUME_ROUTE
DIRECT_TO_DROP vetoed · route resumed
prevffe7…e5ebhash02e9…10b3 - #0006Decision✓ A2CONTINUE_APPROACH
Drop-zone wind inside tether limit
prev02e9…10b3hash6248…981e - Anchored A2 · records 0004–00064/4 signed ✓
- #0007Handoff✓ ChainedHOLD_FOR_HUMAN
Drop zone unconfirmed · handed to RP-12
prev6248…981ehashfb49…aef4
Records appear here as the aircraft decides. Each one points to the hash of the record before it.
Record inspector
#0007 · HOLD_FOR_HUMAN
fb49…aef4 matches the recomputed hash. Waiting for the next anchor.- Model
- perception 3.1.0 · build 8859…74c5
- Inputs
- 6174…eb5e · Downward camera, Depth sensor
- State
- E 4.26 km, N 1.98 km from Hub 4 · 25 m AGL · 0 m/s · 68%
- Confidence
- 0.62 · human threshold 0.80
- Human
- Escalated to RP-12
- Prev
- 6248…981e
- Hash
- fb49…aef4
- Anchor
- Pending · next batch
Options considered
- LOWER_PACKAGE0.62
below 0.80 human threshold - SHIFT_DROP_4M_N0.57
- ABORT_DELIVERY0.21
Guard checks
- ESCALATEHuman threshold
0.62 < 0.80 - PASSHover reserve
90 s available
Reason codes
R-ZONE-01Moving object in drop zoneR-HIL-01Confidence below human threshold
Shared ledger · permissioned
2 of 4 batches anchored- A1Records 0001–0003T+01:12✓ Matches chainBatch root
b6ea…3efaBlock1,204,329 · confirmed in 1.4 sOperator ✓Regulator ✓Insurer ✓USS ✓ - A2Records 0004–0006T+04:16✓ Matches chainBatch root
f46f…34f9Block1,204,331 · confirmed in 1.7 sOperator ✓Regulator ✓Insurer ✓USS ✓
The first batch anchors after record #0003.
The framework
Six layers between a sensor reading and a verifiable record.
Proof of Flight wraps an existing autonomy stack. The AI still flies the aircraft. The framework sets the limits it flies within and records why it did what it did.
- 01
Aware
Real-time flight awareness
Fuses ADS-B In, Remote ID broadcasts, UTM flight intents, geofences, weather and onboard vision into one picture of the airspace around the aircraft, refreshed several times a second.
Rule
Every decision cites the inputs it saw.Writes
inputs digest · sources · sensor health - 02
Decide
The AI pilot proposes
Navigation and perception models score candidate actions (continue, reroute, climb, descend, hold, divert, land, lower) and propose the best one.
Rule
Every action names the exact model build that chose it.Writes
model build hash · ranked options · confidence - 03
Guard
Deterministic rules dispose
A safety envelope written as plain rules checks each proposal against geofences, separation minima, energy reserve and wind limits. It can veto the model. The model can't override it.
Rule
Rules outrank the model, and every veto is recorded.Writes
each check · threshold · pass, fail or escalate - 04
Explain
Reasons a person can read
Each decision carries reason codes from a published catalogue and a plain-language sentence built from them. Below a confidence threshold, the aircraft holds and hands the decision to a remote pilot.
Rule
No action without a reason code. No silent handoffs.Writes
reason codes · explanation · human status - 05
Anchor
Tamper-evident by construction
The aircraft hashes each record together with the hash of the one before it and signs it. Every few seconds it sends the Merkle root of the newest batch to a ledger run jointly by the operator, regulator, insurer and UAS service supplier.
Rule
Hashes go on the ledger. Raw data and personal data stay off it.Writes
prev hash · record hash · signature · anchor - 06
Verify
Checkable without trusting the operator
Anyone with access can replay a flight, recompute every hash and compare the roots with the ledger. A customer gets one record and a short Merkle proof instead of the whole flight.
Rule
Verification needs the data and the ledger, not the operator's word.Writes
verification events: who checked what, and when
Designed to sit alongside Remote ID (14 CFR Part 89), UTM interoperability (ASTM F3548) and the FAA's pending Part 108 BVLOS rule. It adds a record. It doesn't replace any of them.
Ledger design
Hashes on the chain. Flight data stays with its owner.
A flight record is only useful if it can be shared without leaking a customer's address or an operator's model. The ledger holds commitments. The data behind them stays encrypted with the operator and is disclosed per request.
On the shared ledger
Commitments and signatures
- Merkle roots of record batches, every 10 s and at each phase change
- Model passports: build hash, validation results, operating envelope and sign-offs
- Flight open and seal events, signed by the aircraft and operator keys
- Validator signatures from the operator, regulator, insurer and USS
- Verification events: who audited which flight
Kept off-chain, encrypted
The data behind them
- Raw telemetry and sensor frames
- Camera images, including the delivery photo (its hash is on the record)
- Customer name and address
- Model weights (only the build hash is shared)
- Remote pilot identity (records carry a pseudonymous ID)
Permissioned, then checkpointed
A consortium ledger keeps cost and latency predictable. Its state root is checkpointed to a public chain every hour, so even the full consortium can't rewrite anything older than that.
Offline is an event, not a gap
If the link drops, the aircraft keeps chaining and signing locally. On reconnect it anchors the backlog, and the record shows when it went offline and for how long.
Load grows with time, not fleet size
Anchoring every 10 s is 360 writes per flight hour. A fleet can roll every aircraft's batch root into one write, so adding aircraft doesn't add ledger traffic.
Who checks what
One flight record, five readers.
Each reader gets what their role needs and checks it against the same anchored roots.
Customer
Did my package arrive where and when they say?
Their delivery record, the photo hash and a short Merkle proof.
The anchored batch root, in a browser.
Regulator
Did the aircraft stay inside its approved envelope?
Any full flight on request, through its own ledger node.
Guard checks and the model passport behind each decision.
Insurer
Was the record changed after the incident?
The flights linked to a claim.
Anchor timestamps that predate the claim.
UAS service supplier
Did the flight match the intent we approved?
The flown track and decision summaries.
The operational intent it accepted before takeoff.
Community
What flies over my street, and why did it reroute?
A public log of routes, counts and decision summaries, delayed 24 h, with no personal data.
The published anchors.
Open questions
What the concept doesn't solve yet.
Who runs the ledger?
A consortium needs governance: who admits members, who pays for nodes, and what happens to the history when a member leaves.
How much can a model explain?
Reason codes describe what the model weighed, not every internal feature. Operators would need a shared catalogue for records to be comparable.
Is anchoring fast enough?
Seconds suit audits and claims. Live oversight, such as a regulator watching a flight, needs a streaming channel alongside the ledger.
What do operators give up?
Option scores and thresholds can reveal proprietary tuning. Audit-only fields and selective disclosure are the likely compromise.
Request information
Interested in Proof of Flight?
Tell us who you are and what you'd like to explore, from a technical brief to a pilot with your fleet. The Air Pixels team follows up by email.
Your request, as a recordDraft
- Name
- —
- Organization
- —
- Role
- —
- Interests
- —
sha256 8a28ce1252815de6…37f2bfad