Skip to content

ZeroTrace AirLeak

What AirLeak Sees

The devices and BLE signals AirLeak can identify

A reference for what AirLeak captures and classifies. Every device class below is recognized by the firmware and rendered with its own icon and metadata in the mobile app.

BLE only

AirLeak is a passive Bluetooth Low Energy listener. It does not capture WiFi. Everything on this page is derived from BLE advertisements and scan responses.


Device classes

The classifier emits one of these labels per observed device, with a confidence score (0–100). These are the labels the firmware's classifier actually produces (src/enrichment/device_class.h).

Apple ecosystem

ClassWhat it identifies
iphoneiPhone
ipadiPad
macbookMac laptop
apple_watchApple Watch (any series)
apple_tvApple TV box
homepodHomePod / HomePod mini
airpodsAirPods family (incl. Pro / Max and Beats variants, with battery + lid state when broadcast)
airtagApple AirTag
apple_deviceApple device, form factor not yet pinned

Phones

ClassWhat it identifies
samsung_phoneSamsung Galaxy phones
pixel_phoneGoogle Pixel
android_phoneGeneric / other Android phones

PCs / TVs

ClassWhat it identifies
windows_pcWindows desktop / laptop (Microsoft Continuity / Swift Pair)
smart_tvSmart TVs

Wearables

apple_watch, plus a generic smart_watch class for non-Apple watches and bands.

Trackers / item finders

ClassWhat it identifies
airtagApple AirTag (Find My)
tileTile
samsung_smarttagSamsung SmartTag (with separated / moving / owner-nearby state when broadcast)
google_trackerGoogle Find My Network (FMDN) accessory

Audio

ClassWhat it identifies
airpods(above)
headphonesBluetooth headphones / earbuds
bluetooth_speakerBluetooth speakers and smart speakers

Smart home / IoT

ClassWhat it identifies
iot_sensorGeneric IoT sensors
homekit_lightHomeKit-style smart bulbs
homekit_lockSmart locks
homekit_sensorHomeKit-class sensors
homekit_otherOther HomeKit-class accessories
matter_deviceMatter-protocol devices

Other

ClassWhat it identifies
printerBluetooth printers
vehicleConnected vehicles
fitness_deviceCycling / running / strength sensors and equipment
hid_deviceBluetooth keyboards / mice / gamepads
flipper_zeroFlipper Zero
beaconiBeacon / Eddystone beacons with no other class match

Fallbacks

When no specific class can be determined, the classifier emits a less specific label:

  • apple_device, has an Apple manufacturer ID but ambiguous subtype
  • generic_ble, a recognized BLE device with no class match
  • unknown, no signals matched

What gets captured per device

For every device, AirLeak surfaces the following fields whenever they're broadcast (see DeviceRecord in src/enrichment/device_aggregator.h):

FieldDescription
BLE nameThe device's BLE local name (from advertisement or scan response)
MACCurrent address, with a random/locally-administered flag
VendorOUI / BLE company-ID lookup
Company IDBluetooth SIG company identifier
Class + confidenceClassifier verdict
RSSILast, best, min/max, and a smoothed EMA
TX powerDevice's transmit power (when broadcast)
Distance estimateComputed from RSSI + measured power
Advertising interval / rateBLE advertising cadence
Apple modelDecoded Apple model string (when present)
Apple action / lock stateLast Continuity Nearby Info action; locked / unlocked
iOS majoriOS major version (when broadcast)
AirPods batteryL / R / case percentages + per-pod charging + lid state
Find My stateSeparated-from-owner, unwanted-tracking-protection (UTP) flag, public-key prefix, battery level
AirDrop stateDiscoverable ("Everyone"), with phone-number / Apple ID hash prefixes
Handoff sequenceApple Continuity handoff sequence number
Service UUID listUp to 8 advertised service UUIDs
Appearance codeGAP appearance (phone, watch, headset, etc.)
FingerprintStable hash used to track a device across MAC rotation
Leakage score0–100 combined privacy-exposure score

Event types

The firmware tags each decoded advertisement with one or more BLE event types (src/types/airleak_types.h):

  • BLE device seen (generic advertisement)
  • BLE Apple Continuity (any subtype)
  • BLE Tile
  • BLE Find My
  • BLE Microsoft Swift Pair
  • BLE Google Fast Pair
  • BLE Eddystone
  • BLE Samsung SmartTag
  • BLE Google Find My Network (FMDN)

Each observation updates the device's aggregated record, which streams to the app as a coalesced delta.


When a field is shown but its underlying value hasn't been observed (e.g. no name on a randomized MAC), the app renders an em-dash instead of guessing.