rf_sentinel / guides / police-detector
Detect police with Android
Police equipment talks constantly over Bluetooth LE and WiFi: body cameras pair with phones and holster sensors, cars carry cellular routers, printers and radios pair with tablets. A phone can hear all of that without root and without transmitting anything.
What gives police gear away
| Equipment | Signal | Rule | Score |
|---|---|---|---|
| Body camera (multiple brands) | BLE payload | BWCDEVICE ASCII in service / manufacturer data or raw advert, either byte order | 90 |
| Axon / TASER | BLE | Company ID 0x034D; UUID 0xFC81, 0xFE6B, 0xFE6C | 60 each, fused |
| Axon | MAC prefix | 00:25:DF (IEEE MA-L, Axon Enterprise) | 75 |
| Utility Inc. body cam | BLE name | contains BodyWorn Remote | 80 |
| Motorola Solutions radios / gear | BLE | Company ID 0x04EC; UUID 0xFD8E / 0xFE04 | 45 |
| Zebra e-ticket printer | BLE | UUID 0xFE79 / 0xFD66 + factory-serial name | 50 (30 otherwise) |
| In-car router | WiFi / MAC | Cradlepoint, Sierra Wireless registrant (role only, never alone) | via grouping |
| Flock plate reader | WiFi / BLE | Flock- SSID, FS Ext Battery, Penguin-, FS-, 0x09C8 | 45-88 |
Plus vendor prefixes of Digital Ally, WatchGuard, Getac, Zepcam, Vievu, P25 / TETRA radio makers, police radar makers and vehicle upfitters in the Global, Canada and US presets. Every prefix cites its IEEE registrant. Full list: SIGNATURES.md.
Patrol vehicles: grouping gear that moves together
One Motorola radio is a security guard as often as a cop. A body camera, a radio and a vehicle router whose signals rise and fall together are a patrol car. RF Sentinel gives each device a role from its matches or IEEE registrant, then groups two or more different roles when:
- their RSSI series correlate (Pearson r ≥ 0.6 over at least 8 aligned seconds), or
- both are flat (parked) and appeared within 30 s of each other.
Consumer brands that also make car audio or office gear (Kenwood, Panasonic Connect, Havis) get no role from their vendor name alone, and whitelisted devices never count. The group is recomputed every 2 s, so it disappears when the vehicle leaves.
Setup for driving
- Install and run the setup wizard: pick your region preset (Global, Canada, US) and alert threshold.
- Settings → Start scanning automatically in the car → pick your car's Bluetooth.
- Enable the floating bubble if you drive with Waze or Google Maps on screen, or use Android Auto.
- Leave screen-on while charging (default) on a car mount: Android limits Bluetooth scans with the screen off.
Limits
- A match is a signature, not an officer. Every hit shows its evidence; verify weak ones.
- Gear that's off, docked, or only on cellular is invisible. Radios' voice channels (VHF/UHF/700/800 MHz P25, TETRA) are not received.
- Not a radar detector: X/K/Ka-band radar and lidar can't be received by a phone.
- Range is limited by phone antennas; an ESP32 board helps.
Questions
Do body cameras advertise all the time?
Many do, on and off. Some only include their tag in some packets, so RF Sentinel holds a device's match for 2 minutes after the evidence was last seen before it fades.
Does it detect an officer's phone?
No. Phones use random addresses and generic Apple / Google adverts with nothing police-specific. It detects the equipment, not the person.
Can it tell if a body camera is recording?
No. Recording state isn't in the advertisement RF Sentinel matches.