Privacy policy

ZuckOff for iOS, last updated 12 September 2026

ZuckOff has no account system and no analytics. Nothing the app records is transmitted anywhere on its own. The one exception is a hardware report, and that only happens when you compose one and tap Send.

What the app collects

ZuckOff scans for Bluetooth Low Energy advertisements, the broadcasts nearby devices send out on their own. For each device it hears, it stores locally on your iPhone:

This is the same information any Bluetooth scanner sees. Apple does not give apps the Bluetooth MAC address, so the identifier stored here is one your own device issues. It does not identify anyone else's hardware outside this app.

Where it is stored

In the app's own storage on your device, plus an app group container shared with the ZuckOff widget so it can display the current status. Deleting the app deletes all of it. You can also clear the log at any time from Settings.

What is never collected

Data leaving your device

Only if you choose to send it, in one of two ways. The CSV export in Settings produces a file and hands it to the iOS share sheet. Where it goes from there is entirely your decision. The other way is a hardware report, the only network request ZuckOff makes at all, and it only happens when you tap Send.

Community hardware reports

ZuckOff can flag glasses it recognises, but new hardware only gets added to that list once someone has captured a real advertisement from a pair. The report sheet lets you send one from inside the app: it shows you the exact payload before anything leaves, and nothing is sent until you tap Send.

A report can include what the device broadcasts: its advertised name, its manufacturer company ID, the full advertisement payload, any service UUIDs and the bytes attached to them, whether it accepts connections, and up to six different payloads it sent with how often each was heard. It can also include a rough figure for how often it advertises, signal strength and transmit power, what the app already thinks the device is and why, and the version of ZuckOff and of its detection list. Two fields you type yourself go with it, a label of up to 80 characters and a note of up to 500, along with how you say you know what the device is. It never includes the identifier iOS issues for the device, your location, an account, an advertising identifier, or a date or time of its own. Timings inside a report count seconds from when the app first heard the device, and the server records when the report arrived. A report cannot be linked to you, and for that reason it cannot be withdrawn once sent.

The report sheet also offers to ask the device about itself, and only if you tap Probe. ZuckOff then connects for a few seconds and reads the public fields any Bluetooth device can publish: its name, its appearance category, its manufacturer, model, firmware and hardware strings, the vendor and product IDs it declares, and the list of services it exposes. Then it disconnects. It never writes anything to the device and never pairs with it, and if the device asks to pair, the probe is cancelled. Serial numbers and any other field that identifies one particular unit rather than a model are never read. What the probe returns is shown to you on the same sheet, and you can drop it before sending.

Reports are stored so they can be reviewed and turned into new detection rules. To limit how many reports one source can send in an hour, the server keeps a salted hash of the network address a report arrives from, shortened to eight bytes. The address itself is never written down. The hash is never joined to the report it came with, and it is deleted once the hour has passed.

The free text a report can carry, meaning your note, the label you typed and the name the device broadcast, is removed 30 days after the report has been dealt with, and in every case 180 days after it arrives. The advertisement bytes are kept, because those are what a detection rule is written from and they identify nobody. Please leave other people's names out of the note.

Notifications

Alerts are local notifications generated on your device. No push server is involved, so no notification content ever reaches Apple or anyone else.

Children

ZuckOff is not directed at children and collects no personal information from anyone, regardless of age.

Changes

If this policy changes, the updated version will be posted on this page with a new date.

Contact

Questions about privacy or anything else: pawels.apps@gmail.com

ZuckOff is an independent app and is not affiliated with Meta Platforms, Luxottica, Ray-Ban, Oakley or Snap.