SystemAir Cargo

Undeclared Dangerous Goods Detection

Undeclared dangerous goods found in the booking, before the piece is built into a ULD, with every hold tied to its proof

Hidden batteries caught before they load, with every hold tied to its proof.

See one case, screen by screen ↓
demo18,946bookingsread at 38 stations from October 1 to 15, with the documents behind the doubtful ones
demo1.6%held for a person: 312 bookings, each with the words and invoice lines that caught it
demo15of 42inspections found hidden dangerous goods before loading, about 1 in 3
target100%of bookings read, not a sample and not keywords alone
In short

What is Undeclared Dangerous Goods Detection?

Undeclared dangerous goods detection finds cargo that contains dangerous goods — most often lithium batteries — booked under an ordinary description, before it is loaded. Undeclared Dangerous Goods Detection puts eight agents in front of every booking: they read the invoice, packing list and product listing behind the doubtful ones, work out watt-hours, UN number and packing instruction, weigh the shipper's history and the aircraft, and hold only the few that need a person, with the proof.

How to choose AI for airlines: a buyer's guide to agentic AI solutions →

Updated

The problem

Why undeclared dangerous goods get past acceptance

Undeclared dangerous goods arrive with an ordinary description. A forwarder books one carton of "sports equipment", 22 kg, and nothing on the booking says DG, so dangerous goods acceptance never sees it, and the security X-ray is built to find explosives, not the full range of dangerous goods. The truth is on documents nobody reads at booking: the commercial invoice names a "48V 13Ah e-bike battery", and the product listing says it ships fully charged. Nobody works out 48 × 13 = 624 Wh before the cut-off.

The cargo safety officer has a list of suspicious words, a gut feel and minutes per booking. The aircraft on the booked flight matters — UN 3480 is forbidden on a passenger aircraft — and so does the shipper's record, which lives in email. When hidden DG is found, the FAA discrepancy notice under 49 CFR 175.31 and DOT Form F 5800.1 are written by hand from photos, and the lesson stays with the person who found it.

typical80%+of dangerous goods incidents reported to IATA involve undeclared goods
typical93eventslithium battery smoke, fire or extreme-heat events the FAA verified aboard aircraft in 2025
typical$170,000proposed by the FAA against one shipper for undeclared lithium batteries
Where one hidden-DG finding's days go, from booking to filed reportestimated
By hand9.8 days
With the solution1.0 days
  • Spotting the doubtful booking among the day's bookings0.3 → 0.0 d
  • Getting the invoice and the product's specification1 → 0.1 d
  • Inspecting, photographing and recording the finding0.5 → 0.1 d
  • FAA discrepancy notice under 49 CFR 175.311 → 0.1 d
  • DOT Form F 5800.1 from emails and photos5 → 0.5 d
  • Shipper letter and the lesson for the next screening2 → 0.2 d

Estimated split for one undeclared lithium battery shipment that is found before loading, by hand and with the solution. By hand, many are never found at all.

How it works

How a booking moves

Eight specialist agents read every booking and the documents behind it, rank the holds and draft the reports; people decide and sign.

What comes in
Bookings in5 sources · bookings, e-AWB, invoices, listings, history
Agents at work
Booking readerevery booking
Then
Invoice readerquotes the line
Product identifierWh, UN number
Then
Shipper historyfacts only
Risk rankerrisk and cut-off
Then
Second readerreads on its own
Report drafterFAA and DOT
A person decides
Cargo safety officerreleases, asks or inspects
What comes out
Hidden DG stopped
FAA notice signed
Rules that learn
One case, step by step

One undeclared lithium battery shipment, from booking to filed report

Thursday, October 15, at Corvane Airways' Chicago O'Hare hub. At 1:52 pm a forwarder books one carton of "sports equipment", 22 kg, on CV 517 to Seattle — a Boeing 787-9 carrying passengers, cargo cut-off 4:40 pm. Here is what happens next, screen by screen, in the working solution.

  1. 013:05 pm

    The assistant starts with the riskiest hold

    Dana Whitlock · Cargo Safety Officer, ORD

    Since midnight the agents have read 1,284 bookings at 38 stations; 1,261 fell through clean and 23 are held for a person, 9 of them waiting for Dana at ORD. Her list is ranked by risk and cut-off, and the agents have already said why: "sports equipment" on CV 517, two lithium-ion e-bike batteries of 624 Wh each, UN 3480.

    The agents: “The most urgent decision is CV 517 "sports equipment": two e-bike batteries on a passenger aircraft, 95 minutes to cut-off. Want me to open it?”

  2. 02The sieve

    Every booking read; the few that catch wait with their words

    Booking reader

    Valves, handbags, seat covers, frozen salmon — each booking is read as it arrives and falls through clean. "Sports equipment" from a cycling shipper catches. Its card shows what caught it (invoice line 3: TrailVolt 48V 13Ah e-bike battery, spare × 2), the shipper's history in one line and the flight: CV 517, Boeing 787-9, passenger, cut-off in 1 h 35 min.

    “The agents hold and explain; a person releases, asks or inspects.”

  3. 03Open the case

    The invoice line that names the batteries

    Invoice reader

    Commercial invoice RD-INV-20931 has three lines: a bike repair stand, saddle bags, and line 3 — two TrailVolt 48V 13Ah e-bike batteries, highlighted. Nothing on the booking declares them. The Invoice reader quotes the line with a confidence of 0.99, and the Risk ranker scores the hold 94 of 100, first of 23.

    Risk ranker: “I recommend a physical inspection before 3:55 pm.”

  4. 04Product

    Watt-hours worked out, not guessed

    Product identifier

    The Product identifier matches SKU TV-4813 to the maker's listing: capacity 624 Wh, lithium-ion, 3.6 kg, "ships fully charged, ready to ride". It shows the working — 48 V × 13 Ah = 624 Wh per battery, over 100 Wh, so a fully regulated Class 9 battery; shipped alone, not in or with equipment, so UN 3480 under packing instruction 965. Fully charged is also over the 30% state-of-charge limit.

  5. 05Watch the agents check

    A second agent reads it all again, on its own

    Second reader

    Dana replays the check. Each agent's step runs in view with what it read and how long it took. The Second reader re-reads the booking, invoice and listing without seeing the first reading and agrees: UN 3480, forbidden on a passenger aircraft, confidence 0.97. Had the two disagreed, both readings would have gone to Dana side by side.

    “Each step is logged with the sources it read.”

  6. 063:06 pm

    She asks why, and orders an inspection

    Dana Whitlock · Cargo Safety Officer, ORD

    Dana asks, "Is this allowed on CV 517?" The answer cites the rule and the flight: no — two 624 Wh lithium-ion batteries shipped on their own are UN 3480, forbidden on passenger aircraft; declared, packed and at 30% charge or less they could fly on a cargo-only flight. She orders a physical inspection with the reason code "Invoice names lithium batteries not declared", and Marcus Bell is notified.

    Her decision is signed with a reason code and teaches the next screening.

  7. 073:41 pm

    A checklist, and the label read from his photo

    Marcus Bell · Dangerous Goods Inspector, ORD

    The order tells Marcus where the piece is — ULD AKE 72104CV, build-up bay 4, Cargo Building 2 — and what to look for. He works the six-step check with a witness. From his photo the Product identifier reads the battery label: TrailVolt 48V 13Ah 624Wh Li-ion, no UN 3480 mark, no Class 9 label, no cargo-aircraft-only label, charge indicator 4 of 5 bars, about 80%.

  8. 083:52 pm

    Undeclared DG found; the piece comes off CV 517

    Marcus Bell · Dangerous Goods Inspector, ORD

    Marcus records "undeclared dangerous goods found" with his witness and the tag DGC-1015-03; the finding is filled from the photos for him to check. The piece is offloaded, AKE 72104CV is rebuilt without it and the load plan is updated. The agents line up what happens next: the FAA notice and Form F 5800.1 drafted for the head of cargo compliance, and the legal route offered to the shipper — declare as UN 3480 and move to a cargo-only flight.

    Report drafter: “Nothing goes out until the head of cargo compliance signs.”

  9. 094:12 pm · signed

    The FAA notice, every field from the record

    Thomas Hale · Head of Cargo Compliance

    The Report drafter has filled the 49 CFR 175.31 discrepancy report to the FAA — reporter, operator, where the shipment is, shipper, forwarder, air waybill and the nature of the discrepancy — each field cited to the booking, the inspection record or the photos. Form F 5800.1 is drafted with its 30-day clock, due Nov 14, 2026, beside the IATA occurrence report and the shipper letter. Thomas signs and sends the notice the same afternoon.

    Thomas Hale: “Every field I sign has to come from the record.”

  10. 10Learning

    The decision becomes a proposed rule, back-tested

    Learning agent

    The Learning agent proposes to read the invoice for "sports equipment" and "bicycle parts" from cycling shippers: of 9 such holds in 90 days, 4 found e-bike batteries, and the description alone never named a battery. Back-tested on the last 30 days, it adds 6 holds and 2 findings it would have caught, with none missed. Renee Castillo, the cargo security manager, approves or rejects it.

    Learning agent: “Back-test each one before you approve; I never switch a rule on myself.”

Who it’s for

Built for everyone between the booking and the aircraft.

The same hidden shipment, seen by four of the people who stop it — what their shift looked like, and what it looks like now.

DW
Dana WhitlockCargo Safety Officer, ORD · decides every hold
Cargo Safety Officer
Before
Scans booking descriptions against a word list under the cut-off clock, and chases invoices by email when something looks wrong.
Now
Opens a short list ranked by risk and minutes to cut-off, each hold with the invoice line, the product, the shipper's record and the aircraft; asks the agents why, then decides.
MB
Marcus BellDangerous Goods Inspector, ORD Cargo Building 2
Dangerous Goods Inspector
Before
Opens the cartons someone thought worth a look, then writes up what he found by hand.
Now
Gets the ULD, the bay and what to look for; follows a six-step checklist while the agent reads the battery label from his photo and fills the finding.
TH
Thomas HaleHead of Cargo Compliance · signs every FAA and DOT report
Head of Cargo Compliance
Before
Assembles the FAA notice and Form F 5800.1 from emails and photos, and keeps the clocks in his head.
Now
Reads drafts with every field cited to the record and the clocks kept for him, then signs: FAA notice the same day, Form F 5800.1 inside 30 days.
RC
Renee CastilloCargo Security Manager · owns shipper vetting and the screening rules
Cargo Security Manager
Before
Learns about repeat shippers from colleagues, and changes the word list on instinct.
Now
Sees each shipper's bookings, holds and findings, decides enhanced screening, and approves rule changes only after a back-test.
Built on the engine

8 agents. Each with one job, and hard limits.

Eight specialist agents read every booking and the documents behind it, rank the holds and draft the reports; people decide and sign.

Booking reader

Reads every booking and air waybill as it arrives — the description in any language, HS code, handling codes, pieces, weight, shipper, consignee and flight. Vague words send it to the documents.

  • Never changes a booking
  • Never holds on a word alone when the documents answer it
Invoice reader

Reads commercial invoices, packing lists and house bills, and quotes the lines that name a regulated item.

  • Asks for a missing document; never assumes one
  • Below the confidence floor, asks a person; never guesses
Product identifier

Identifies the product from SKUs and model numbers: chemistry, volts × amp-hours = watt-hours, state of charge, UN number and packing instruction. Reads battery labels from the inspector's photos.

  • States the calculation
  • Says "unknown" when no specification is found
Shipper history

Brings the shipper's and forwarder's bookings, holds, findings and answers, and known-shipper status.

  • Facts and dates only — no reputation words
Risk ranker

Scores each hold from 0 to 100, ranks by risk and minutes to cut-off, knows whether the booked aircraft carries passengers, and recommends release, ask the shipper or inspect.

  • Recommends; never releases, refuses or offloads
  • Explains every point of the score with its source
Second reader

Re-reads every hold from the sources without seeing the first reading, and 1 in 50 clean bookings each day; agrees or disagrees.

  • Cannot create or clear a hold
  • Disagreement goes to a person with both readings
Report drafter

Drafts questions to shippers, the FAA discrepancy notice, DOT Form F 5800.1, the IATA occurrence report and letters to the shipper and forwarder from the record, and keeps the clocks.

  • Drafts only; never sends
  • Every field from the record, cited
Learning agent

Turns decisions and findings into proposed rule changes with their evidence, and back-tests each one on past bookings.

  • Proposes; never switches a rule on
  • Two cases before a proposal; back-tests before asking
Cargo safety officer

Decides every hold with a reason. The agents propose; a named person decides.

Ask in plain words

Ask the agents about any hold, shipper or flight

Ask in plain words on every screen — about an air waybill, a shipper, a flight, a station, a rule or the month — or tell the agents to open, filter or draft something. Every answer cites its source; nothing is released, refused or reported until a person decides.

Is this allowed on CV 517?

No. Two 624 Wh lithium-ion batteries shipped on their own are UN 3480, which is forbidden on passenger aircraft. CV 517 is a 787-9 with 296 seats. Declared, packed and at 30% charge or less, they could go on a cargo-only flight.

How sure are you?

0.97. The invoice line is unambiguous and the product listing gives 624 Wh. The Second reader reached the same answer without my reading. What would change it: if the carton held only the stand and the bags, which 22 kg makes unlikely — two batteries weigh 7.2 kg.

Why were the other 1,261 not held?

Each one was read: the description, HS code and handling code, and the shipper's record. None named or implied dangerous goods, none came from a shipper with an open finding, and the product codes we could read matched non-regulated goods. A 1-in-50 sample of clean bookings is re-read every day by the Second reader; it agreed on all 26 today.

What closes first?

CV 1418 to Denver closes first, at 3:55 pm, with two holds: camping gear (48 butane canisters) and refurbished laptops sent for battery replacement. CV 517 closes at 4:40 pm.

Every screen

The working solution, as it ships.

13 screens from the working solution, on its sample data. Pick one to see it large.

TodayThe cargo safety officer's day: bookings read for undeclared dangerous goods, holds ranked by risk and cut-off, and the agents a question away.
The screening sieveEvery booking read as it arrives; clean ones fall through, and the few that catch wait with the words, the invoice line and the shipper's history.
The hold and its invoiceA "sports equipment" booking held for hidden lithium batteries: the flight's clock, the invoice line quoted and the agents' recommendation.
The product, identifiedThe maker's listing and the working — 48 V × 13 Ah = 624 Wh — to UN 3480 and packing instruction 965.
The agents checkEach agent's step in view, and the Second reader's independent reading agreeing at 0.97.
Ask why, then decide"Is this allowed on CV 517?" answered with the rule and the aircraft, beside inspect, ask the shipper, release and refuse.
When the agents disagree"Bicycle parts" read two ways: the Booking reader holds at 68, the Second reader sees no battery; the officer decides.
The inspection checklistWhere the piece is, the six-step check with a witness, and the battery label and charge indicator read from the inspector's photos.
Undeclared DG foundThe finding filled from the photos, the piece offloaded and the load plan updated, and the next steps lined up.
The FAA discrepancy noticeThe 49 CFR 175.31 notice drafted with every field cited, with the clocks for DOT Form F 5800.1 and the IATA occurrence report.
Learning, back-testedProposed rule changes with their evidence and back-test, and how each trigger family performs.
Audit trailEvery agent step and every person's decision, chained, with CSV export and an evidence pack per finding.
Your thresholdsWhen a booking holds, when an inspection is recommended, when a second officer confirms, the decide-by time, the readers' confidence floor and the shipper reply clock.
Governance

Built for dangerous goods compliance: cited, signed, on the record.

Every hold cites its proofEach hold carries the words that caught it, the invoice line quoted, the product's listing with the watt-hour working, the shipper's record and the rule — the IATA Dangerous Goods Regulations or 49 CFR passage — one click away.
People decide, with a reason codeThe agents never release, refuse, offload, contact a shipper or file a report. The cargo safety officer releases, asks or inspects with a reason code, signed by name, role and time.
Two readers, or a person sees bothThe Second reader re-reads every hold without seeing the first reading. When the two disagree, the officer gets both readings side by side and decides.
A second officer above risk 85Releasing a hold above risk 85 needs a second officer, and every FAA and DOT report is signed by the head of cargo compliance before it goes.
Rules change only after a back-testThe Learning agent proposes rule changes with their evidence and back-tests each one on past bookings; the cargo security manager approves or rejects it, and nothing switches on by itself.
A chained audit trail, kept 7 yearsEvery agent step and every decision is recorded with the record it touched. Entries are chained and cannot be edited, export as CSV, and each finding exports as an evidence pack.
Configuration

Your dangerous goods program, not ours

When a booking holds, when an inspection is recommended and who must confirm are settings at Corvane — versioned and back-tested before they change.

SettingDefaultChoose from
Hold a booking for a person at risk60 of 100Any score from 0 to 100; versioned and back-tested
Recommend a physical inspection at risk85 of 100Any score from 0 to 100
A second officer confirms a release above risk85 of 100Any score from 0 to 100
Decide at least this long before cut-off45 minutesMinutes before the station's cargo cut-off
Readers ask a person below confidence90 %Confidence floor for the readers
Shipper reply clock60 minutesMinutes the shipper or forwarder has to answer
Trigger rules8 families · 1,240 words · 9 languagesLithium batteries · Gases and aerosols · Flammable liquids · Used electronics · Oxidizers · Vague descriptions · Explosives and articles · Magnetized material
Report clocksFAA notice same day; Form F 5800.1 alerts at 7 and 2 days leftClocks per role; each alert switched on or off per person
Connections

Works with the systems your cargo already runs on

Cargo booking systembookings as they are made
e-AWB messagesCargo-XML FWB and FHL, air waybills and house bills
Shipper documentscommercial invoices and packing lists, from the documents mailbox and forwarder portal
Flight schedule and aircraft assignmentpassenger or freighter, and cut-off times per station
Warehouse handling systempiece location, ULD build-up and offload
IATA DG AutoCheck and CBP ACASdeclared DG acceptance checks and US inbound advance data
What it changes

The difference, in numbers.

Every figure is labelled: a target the solution is built to, an estimate, a typical published result, or a proven one.

target
100%
of bookings read, with the documents behind the doubtful ones
Todaykeywords and spot checks
With the agentsevery booking
typical
$170,000
proposed by the FAA in one undeclared lithium battery case; every finding reported on the clock
15 of 15
FAA notices the same day, October
target
1 in 3
inspections finds hidden dangerous goods, aimed by the agents
15 of 42
inspections found DG, October 1–15

“demo” = seen in the working solution, on its sample data · “target” = the design goal, measured in the live solution · “estimated” = our estimate · “typical” = published figures (IATA, Safety & Security in the Cargo Supply Chain, Sept 24, 2026 — more than 80% of dangerous goods incidents reported in the first half of 2025 involved undeclared goods; FAA lithium battery incident data — 93 verified smoke, fire or extreme-heat events aboard aircraft in 2025; FAA proposed civil penalty, Sept 5, 2025 — $170,000 against one shipper). 49 CFR 175.31, 171.16 and 173.185 and IATA DGR packing instruction 965 are named as context. Corvane Airways, the shippers, forwarders, flights, air waybills and people named on this page are fictional — characters and sample data in the working solution.

Questions

What airline cargo safety teams ask about undeclared dangerous goods.

What is undeclared dangerous goods detection?

Undeclared dangerous goods detection finds cargo that contains dangerous goods — most often lithium batteries — booked under an ordinary description, before it is loaded. Undeclared Dangerous Goods Detection puts eight agents in front of every booking: they read the invoice, packing list and product listing behind the doubtful ones, work out watt-hours, UN number and packing instruction, weigh the shipper's history and the aircraft, and hold only the few that need a person, with the proof.

How do airlines find undeclared lithium batteries in cargo?

Not from the booking alone: "sports equipment" or "phone accessories" says nothing, so lithium battery screening in air cargo has to read the documents behind the booking. The agents read the commercial invoice and the product's own listing, compute volts × amp-hours = watt-hours, and check the booked aircraft. In the working solution, an invoice line naming two 48V 13Ah e-bike batteries became a 624 Wh UN 3480 hold, ranked first of 23.

Why doesn't cargo security screening catch undeclared dangerous goods?

Security X-ray is built to find explosives, not the full range of dangerous goods, and the DG acceptance checklist only sees goods that are declared. IATA has said screening alone cannot solve the problem and called for more layers of checking across the supply chain. This solution adds one at the airline: it screens for misdeclared cargo on the booking and its documents, before the piece is loaded.

What must an airline report when it finds undeclared hazmat?

Under 49 CFR 175.31 the operator notifies the FAA as soon as practicable, and under 49 CFR 171.16 files DOT Form F 5800.1 within 30 days of discovering undeclared hazardous material. The Report drafter fills both, plus the IATA occurrence report and the shipper letter, with every field cited to the record and the clocks kept. The head of cargo compliance signs.

Can lithium-ion batteries ship on a passenger aircraft?

Not on their own. Lithium-ion batteries shipped alone are UN 3480 under packing instruction 965, forbidden as cargo on passenger aircraft; declared, labeled and at 30% state of charge or less they can fly on a cargo-only aircraft. The agents know the aircraft on the booked flight, so they rank the risk and propose the legal route.

Do people stay in control?

Yes. The agents recommend and draft; they never release, refuse, offload, contact a shipper or file. The cargo safety officer decides every hold with a reason code, a second officer confirms releases above risk 85, the head of cargo compliance signs every regulator report, and rule changes need a back-test and an approval.

Will it flood our officers with false holds?

Holds rest on documents, not a word alone. On the sample data 23 of 1,284 bookings were held in a day (1.8%), and most lithium holds are released in minutes with the invoice in hand. Before go-live, the first-time setup back-tests the screening on the last 30 days to show what would have been held.

How long does it take to go live?

The Agentic Solution Engine builds and deploys it from your requirements and documents — your dangerous goods procedures, word list, stations and a month of past bookings and findings — and it goes live once every quality gate has passed, after a back-test on your own last 30 days.

See it on
your bookings.

We'll run Undeclared Dangerous Goods Detection on a month of your own cargo bookings and the findings you already know about.