PRIVACY & DATA · SEPTEMBER 17, 2026
Your scan.
Your phone.
ZML is developed by Sonic Team West LLC. This page explains how ZML for Android and iPhone, and this website, handle your information. Platform-specific details are below.
Scan data stays on your phone
ZML listens to public Bluetooth Low Energy advertisements without pairing with observed devices. It keeps advertised names, company identifiers, service UUIDs, signal strength, observation times and classification reasons in private app storage. Your custom names and muted-device choices stay there too.
ZML does not automatically upload scan history or custom names. It has no ZML login, advertising SDK or separate app-usage analytics. It does not request location, camera, microphone or contacts access. It cannot access another device's recordings.
Device identifiers
On Android, a raw Bluetooth address is used in memory to produce a keyed identifier specific to your installation. On iPhone, ZML does the same with the peripheral identifier supplied by Apple. Raw addresses and raw Apple peripheral identifiers are not saved in history. Saved identifiers do not identify a person or prove how many physical devices are nearby.
Retention and deletion
History holds up to 500 recent device records. The default retention is 24 hours; Pro offers optional 7- or 30-day retention. When storage fills, older records are replaced. Android also keeps at most 120 signal samples per device. Expiry and cleanup run when the operating system allows ZML to run; they cannot run while the app is stopped.
On iPhone, if Pro expires, only the latest 24 hours are visible; older records remain within your chosen retention period and the 500-entry limit. Custom names and muted-device choices remain until cleared or the app is uninstalled. Settings lets you clear saved history, names and mutes. Files you have exported and Google or Apple purchase records are not deleted by this action.
Android cloud backup and device transfer are disabled. On iPhone, ZML's private scan-storage directory is excluded from backup and uses Apple's file protection.
Exports you control
Pro CSV exports contain retained advertised names, timestamps and detection details. Android exports also include your custom device labels. Internal device identifiers are replaced with fresh aliases for each export. Names may still be identifying: review a file before sharing it.
You choose where to save an export using the system file picker. If you choose a cloud provider or share a file with another person, that destination's privacy terms and access settings apply.
Android keeps one pending export in private cache, capped at 8 MiB and usable for 15 minutes. Saving, cancelling or clearing history removes that copy. Expired copies are rejected; cleanup runs when Android lets the app run. A failed write may leave a partial file at your chosen destination. On iPhone, ZML holds the export in memory while the system exporter is open and releases it after completion or cancellation; ZML does not keep its own persistent export cache.
Android's separate hardware reports omit device names, custom labels, addresses, persistent identifiers, exact observation times, raw payloads and unfamiliar service identifiers. Reports and exports are not automatically sent to us.
Permissions and gentle alerts
On Android, Nearby devices permission enables Bluetooth scanning and adapter-state access. Notification and foreground-service permissions support visible, timed background monitoring and optional alerts.
On iPhone, Bluetooth access is requested when you start a scan. Quick scans require ZML to remain open. Pro's optional quiet clue alerts use local notifications; enabling them requests Apple's notification permission. ZML does not use a remote push service or send scan results to a notification server. Notifications do not include device names.
Google Play purchases and diagnostics
The Google Play version connects to Google Play when ZML opens, including for Free users. Google's billing library sends diagnostic events about billing requests, responses and errors, along with app/version information, a generated client/session identifier, and device/network information such as device model, operating-system version, language, network type and time zone. Events can wait in an on-device queue and be sent when a connection is available. These diagnostics do not contain ZML scan history or custom names. Google handles this information under its Privacy Policy.
ZML requests purchase status, receives signed receipts and sends purchase acknowledgements to Google Play to activate and restore Pro. Signed receipts are also stored locally. ZML does not receive payment-card details. Annual offline access is bounded to 72 hours after the last successful Play ownership check. Lifetime receipts remain usable until a successful ownership check reports revocation. Clearing scan history does not delete Google's billing records or the billing library's diagnostic queue.
App Store purchases
On iPhone, Apple's StoreKit handles Pro plan information, purchases and restoration. ZML checks Apple's verified transactions on the phone to decide whether Pro is active. It does not send receipts or scan history to a ZML server and does not receive your payment-card details. Apple processes purchases under its App Store privacy terms. Internet access through Apple is needed to buy or restore purchases; current access follows the verified entitlement Apple supplies. No scan history is needed to buy Pro.
Android complimentary access and unfinished edits
If you activate an Android complimentary Pro code, ZML checks it on your phone and stores it encrypted using an Android Keystore key. The code is not sent to ZML. Unfinished code entry is cleared when you leave the screen. Removing complimentary access does not cancel a Google Play subscription or erase paid purchase records.
While an Android device-name editor is open, saved activity state holds the draft, up to 80 characters, and an internal device identifier so the editor can survive rotation. The name is saved to preferences only when you tap Save. Cancel discards the draft.
This website
This site adds no analytics, advertising scripts, newsletter collection or cookies. The demo video, poster and captions are hosted with the site; there is no embedded YouTube player or third-party video request. The hosting provider may process ordinary request information needed to serve the site and its media. Opening an external link is subject to that site's privacy practices.
Contact and information you choose to send
Email contact@zuckmylife.app. If you contact us, we receive your email address, message and any files you choose to attach so we can respond. Please avoid sending private scan records unless they are needed for your support request. You can ask us to delete information you have sent, subject to any records we must retain for legal obligations.