QuietField LLC

Privacy policy

QuietCheck: Privacy Scanner — Privacy Policy

Last updated: September 3, 2026

Who we are (data controller). QuietCheck is published by QuietField LLC (Florida); assignment of the app and its intellectual property to the company is pending. QuietField LLC is the data controller for the limited data described below. For privacy questions or to make a data-subject request, contact info@quietfieldllc.com. See the "Your privacy rights and how to reach us" section at the end for details.

What QuietCheck does

QuietCheck: Privacy Scanner ("QuietCheck") scans Bluetooth Low Energy (BLE) advertising frames for signals belonging to known smart glasses, Bluetooth trackers, and drones (via their standardized Remote ID broadcast), and offers a heuristic camera-scan to help spot potential hidden cameras. It tells you when one of these is probably nearby. It's a privacy-protection tool for the person carrying the phone — it helps you notice things nearby that could threaten your privacy, not a tool for tracking or identifying anyone else: every mechanism it uses only ever detects what's physically near the phone it's running on, right now, and cannot look up, locate, or monitor a device or person anywhere else. Two apps using the BLE-scanning technique this app is built on are already published on the App Store: "Nearby Glasses" (open source, github.com/yjeanrenaud/yj_nearbyglasses) and "AntiZuck."

The short version

Almost everything QuietCheck does happens entirely on your iPhone with no network access at all: scanning, matching, notifying, remembering. Four things, all optional, anonymous, or read-only, involve a server we run (Firebase/Google Cloud infrastructure): an on-launch attempt to sync the signature database; an on-launch, read-only fetch of any short in-app announcement notices we've posted; an optional, anonymous way for you to confirm or flag a detection as a false positive; and an optional, anonymous way to contribute to a shared, aggregated map of roughly where smart glasses get spotted. None of the four involves an account, a sign-in you'd notice, or anything that identifies you — and the first two only fetch, sending us nothing about you at all. There is no analytics SDK, no advertising SDK, no crash reporter, and no tracking of any kind — Firestore, Firebase Auth (anonymous only), and Firebase Hosting (static, read-only fetches of the signature database and announcement notices) are the only third-party services this app talks to, and exactly what each one sees is spelled out below. If you have no network access at all, or the server is unreachable, the app keeps working exactly as before — every core feature (scanning, matching, notifying, history) works fully offline.

What QuietCheck collects and where it lives

DataCollected?Where it's storedLeaves the device?
Bluetooth advertising data of nearby devices (manufacturer ID, advertised name, signal strength)Yes, while scanningHeld in memory only, for currently-visible matchesNo
A log of past detections (brand, confidence tier, signal strength, timestamp)Yes, automatically, once a match occursOn-device only, in a local databaseNo
Your approximate location, per detectionOnly if you turn this on — off by defaultOn-device only, alongside the matching history entryNo
The bundled/synced signature database (which manufacturer IDs belong to which glasses makers)N/A — this is reference data the app reads, not data about youCached locally after a successful syncThis is fetched from our server, not sent to it — no data about you accompanies this request
An optional confirm/false-positive report on a detectionOnly if you explicitly swipe a History entry and tap Confirm or False PositiveSent to our server; not stored locally afterwardYes — signature id, report type, and a server timestamp only; see below
A community heatmap contribution (a +1 to a shared density count)Only if you turn this on — off by default, and a separate toggle from location tagging aboveNot stored on-device at all — it's sent directly as an anonymous incrementYes — but only which ~150m map cell, never your coordinate, device, or identity; see below
Live camera video, for the Hidden Camera CheckOnly while you have that screen open and scanning active — never automatic, never in the backgroundAnalyzed in memory, frame by frame, in real timeNo — never recorded, saved, or transmitted; see "Hidden Camera Check" below
Your calendar, for Meeting ModeOnly if you turn this on — off by defaultRead on-device only, to check for a current/upcoming eventNo, never
Anything about you personally (name, email, contacts, photos, precise identity)No, never

QuietCheck does not know who you are by name, doesn't ask, and has no way to find out from what it sends.

Signature database sync

On launch, QuietCheck tries once to fetch the current signature database (which Bluetooth manufacturer IDs belong to which smart-glasses makers) from our server, so the list can improve over time without an app update. This request:

  • Sends no data identifying you or your device — it's a plain, unauthenticated read of a public reference collection.
  • Falls back automatically and silently to the copy of the same data bundled inside the app if the sync fails for any reason — including no network connection, airplane mode, a server outage, or an empty response from the server. The app is fully functional offline either way.
  • Is visible to you: Settings shows whether the app is currently using "Bundled (offline)" or "Remote (synced)" data, and when the bundled/cached copy was last updated.

Feedback (confirm / false positive) — opt-in, anonymous

Swiping left on a History entry lets you tell us whether a detection was accurate ("Confirm") or wrong ("False Positive"). This is entirely optional — nothing is sent unless you explicitly do this. If you do:

  • The app signs in to Firebase Anonymous Authentication in the background the first time you submit feedback. This creates an anonymous identifier scoped to Firebase, used only to satisfy our server-side rule that feedback writes must come from some authenticated session (to deter spam) — that identifier is never written into or stored alongside the feedback report itself.
  • What's actually sent: which signature was involved (e.g. "Meta Ray-Ban"), whether you confirmed or flagged it, and a server-assigned timestamp. Nothing else — no location, no device identifier, no name for the specific device that was detected, nothing about you.
  • Feedback reports are write-only from the app's side — the app has no way to read feedback back, by you or anyone else, even in principle; only manual review of the underlying database, by us, outside the app, can see submitted reports.
  • Feedback is not stored locally after submission and does not appear anywhere else in the app.

Community sighting map (heatmap) — opt-in, anonymous, aggregated only

QuietCheck can optionally show a shared map of roughly where smart glasses get spotted most, built from other opted-in users' detections. This is a separate, explicit toggle ("Contribute to community sighting map" in Settings) from the personal location-tagging toggle above — turning one on does not turn on the other, and they control genuinely different things: location tagging affects only your own private on-device History; this affects a shared dataset other people can see. Both are off by default.

If you turn this on:

  • Each detection contributes an anonymous +1 to a shared counter for the roughly 150-meter map area (a "geohash cell") it happened in — never your exact coordinate, never a record of the specific detection, and never anything that says your device or account contributed it. The server only ever stores a running total per map area and when it was last updated — there is no list of individual contributions stored anywhere, by design.
  • The same lazy, anonymous Firebase Authentication used for feedback reports (see above) gates this too, for the same reason — to satisfy a server-side rule, not to identify you. No identifier from that sign-in is ever stored in a heatmap document.
  • Anyone using QuietCheck can view the resulting community map, whether or not they contribute to it themselves — it's a public, aggregated read, the same way a traffic app's congestion map doesn't require you to report your own trip to see other people's.
  • Known limitation: our security rules restrict each write to "exactly add one to the count, nothing else" — but on our current backend tier, those rules alone can't limit how many times a client calls that endpoint, or where. Concretely, this means someone bypassing the app and querying our database directly could: (1) repeatedly increment an existing cell to inflate a real area's apparent density, or (2) create new cells at arbitrary coordinates anywhere on Earth for free, fabricating "high density" zones that were never seeded by a real detection at all. Requiring anonymous sign-in raises the bar above a fully open write, but does not prevent either form of abuse. We're disclosing this as a known constraint of the current backend, not a claim that aggregate counts or the existence of a given map cell are guaranteed to be accurate or tamper-proof.

Bluetooth scanning

QuietCheck uses Core Bluetooth to scan for BLE advertisements from nearby devices, checking their manufacturer identifier against a bundled (optionally synced) list of known device signatures — smart glasses, Bluetooth trackers — and separately checking for the standardized drone Remote ID broadcast (BLE only; drones broadcasting Remote ID only over WiFi aren't detectable, since iOS blocks third-party apps from scanning WiFi beacon frames). This scan:

  • Runs while the app is open and scanning is active (foreground), and on a best-effort basis while backgrounded (see "Background scanning" below).
  • Only reads what any nearby Bluetooth device already publicly broadcasts to anyone listening — the same information any BLE scanner app (like LightBlue or nRF Connect) can see. QuietCheck doesn't connect to, pair with, or extract any additional data from the devices it detects.
  • Never transmits what it sees anywhere off your phone — the signature matching always happens entirely on-device, regardless of whether the signature database itself came from the bundled copy or a synced one.

Background scanning

QuietCheck requests the bluetooth-central background mode so it can keep receiving already-in-flight Bluetooth events and be woken briefly by the system after backgrounding. This is best-effort only — Apple's Core Bluetooth background execution model does not reliably deliver new device discoveries once the app is suspended when scanning broadly (which QuietCheck has to do, since it's matching on manufacturer ID across many possible devices, not one specific known service). QuietCheck does not use workarounds — such as requesting Always-location permission just to keep itself alive in the background — to get around this platform limitation.

Hidden Camera Check (optional, camera access)

QuietCheck's "Camera Check" tab offers a heuristic scan for potential hidden cameras, using your camera and flashlight to look for small, unusually bright reflective points — the classic "lens glint" pattern a camera lens produces. This feature:

  • Only runs while you have that screen open and have tapped "Start Scanning" — never automatically, never in the background.
  • Analyzes video frames on-device, in real time, purely in memory — no image or video is ever recorded, saved to your device, or transmitted anywhere, by this feature or any other part of the app.
  • Shows a persistent on-screen "Camera scanning active" indicator any time it's running, in addition to iOS's own system-level camera-in-use indicator.
  • Is a heuristic aid, not a guarantee. It will miss many real hidden cameras (wrong angle, no reflection at the moment of scanning, bright ambient light, a small or recessed lens) and may flag things that aren't cameras at all (jewelry, glass, other reflective surfaces). Do not rely on it as your only way to check a space.

Location (optional, off by default)

QuietCheck can optionally tag each detection with your approximate location, so you can later see on a map roughly where a detection happened. This feature:

  • Is off by default. You have to explicitly turn it on in Settings.
  • Uses "When In Use" location authorization only — never "Always." QuietCheck never asks for background location access, and has no feature that would need it.
  • Only reads your location at the moment a new detection happens while the app is open and the toggle is on — it does not track your location continuously or in the background.
  • Stores the resulting coordinate only in the local, on-device detection history. It is never sent to our server or anywhere else — this is unaffected by the sync/feedback features above; location data and feedback reports are entirely separate, and a feedback report never includes a location even if the underlying detection has one.
  • Can be turned off at any time; turning it off does not retroactively remove location data from past entries, but no new entries will be tagged going forward.
  • Is entirely separate from the community heatmap toggle above. Both features need the same underlying location permission from iOS, but each one only actually uses the resulting coordinate for its own purpose if its own toggle is on — turning on location tagging does not also start contributing to the community map, and vice versa.

Notifications

QuietCheck asks for notification permission so it can alert you locally when it detects a likely match. These are ordinary local notifications generated entirely on your device — no push notification service, and nothing is sent to any server to generate them. To avoid spamming you, QuietCheck won't re-notify for the same device more than once every 10 minutes.

Apple Watch companion

If you use the QuietCheck Watch App, it works only by receiving a message from your own paired iPhone over Apple's WatchConnectivity framework — a private channel between your own two devices, not the internet. The Watch app has no Bluetooth scanner of its own — watchOS's limited support for background Bluetooth scanning makes running a second, independent scanner impractical — and has no network access at all — it does not talk to Firestore, Firebase Auth, or anything else, only to your iPhone. It only ever displays what your iPhone relays to it and plays a haptic when a new detection arrives.

Live Activity / widget

If you start a scan, QuietCheck can show a Live Activity (on the Lock Screen and in the Dynamic Island) with a live scan status and match count. This is generated and updated entirely by the app on your device via Apple's ActivityKit — it does not involve any server, and no data about your scan leaves your device to produce it.

Data retention and deletion

Detection history and location tags live in a local database on your device for as long as you keep them there — they're never uploaded, and deleting the app deletes them with it, per standard iOS app deletion behavior. There is currently no in-app control to clear all history at once; we plan to add one in a future update. Feedback reports you submit live on our server and, being anonymous and write-only from the app's perspective, aren't something the app itself can show or delete on your behalf after the fact — since they contain no identifying information to begin with, there's no per-person record to delete. The same is true of heatmap contributions — a +1 to a shared counter has nothing per-person to delete once it's merged into the aggregate.

No analytics, no tracking, no ads

QuietCheck contains no analytics SDK, no crash reporter, no advertising SDK, and no third-party SDK of any kind other than the Firebase Firestore and Firebase Auth libraries described above — the signature-database sync and the announcement fetch are plain read-only HTTPS requests to our Firebase Hosting site, not a third-party SDK — used exclusively for the features detailed in this document. It does not use IDFA and does not participate in any form of cross-app or cross-site tracking, does not use Firebase Analytics or Google Analytics (analytics is explicitly disabled in our Firebase configuration), and does not link the anonymous-auth identifier used for feedback-write gating to any profile, device fingerprint, or advertising identifier. There is nothing in this app that could show an App Tracking Transparency prompt, because it doesn't track anything.

A device identifier the Firebase SDK assigns (so we're being precise)

To be accurate rather than to over-claim: the Firebase SDK we use assigns a per-install identifier of its own — the "Firebase Installations ID" — plus the anonymous Firebase Auth user ID mentioned above. These are created and managed by the SDK to operate the service (for example, to route the signature-database read and to satisfy the anonymous-write gate); QuietCheck's own code does not read, transmit, or store them, and they are not linked to you, not tied to your name or any personal profile, and not used for advertising or cross-app tracking of any kind. They reset if you delete and reinstall the app. We mention this because it is technically a device/installation identifier at the SDK layer, and we would rather tell you it exists than claim, incorrectly, that no identifier of any kind is ever present. Where Apple's App Privacy label or an aggregated App Privacy Report reflects this SDK-assigned identifier, we disclose it there too, so the label and this policy stay consistent.

California privacy rights — we do not sell or share your personal information

QuietCheck does not sell your personal information, and does not "share" it for cross-context behavioral advertising, as those terms are used under the California Consumer Privacy Act (CCPA), as amended by the California Privacy Rights Act (CPRA). We have never done so and have no mechanism to do so — there is no advertising SDK, no data broker relationship, and no third party that receives personal information about you for their own use. Because the only data that leaves your device (the anonymous feedback report and the anonymous heatmap +1) contains nothing that identifies you, there is generally no per-person record to access, correct, or delete; you may still contact us with any request (see below) and we will not discriminate against you for exercising a privacy right.

The signature database

QuietCheck ships with a small, bundled, offline list of Bluetooth manufacturer identifiers associated with known smart-glasses makers, sourced from the Bluetooth SIG's public assigned-numbers registry. This bundled list is always present and always works with zero network access. On launch, the app attempts to replace its in-memory copy with a synced version from our server (see "Signature database sync" above); if the remote database is empty or unreachable, the app falls back to the bundled copy automatically, without changing any of the guarantees described in this document.

Trademark / non-affiliation

QuietCheck's signature database references manufacturer and product names — Meta, Ray-Ban, Snap Inc., Luxottica, TCL, RayNeo, Tile Inc., Chipolo d.o.o., Samsung — descriptively, to identify which hardware a detected Bluetooth signal belongs to. QuietCheck is not affiliated with, endorsed by, or sponsored by any of these companies. No logo or brand mark from any of them appears anywhere in this app.

Your privacy rights and how to reach us

Data controller: QuietField LLC, a Florida limited liability company. Assignment of the app and its intellectual property to the company is pending. QuietField LLC determines the purposes and means of the limited data processing described in this policy and is the controller for purposes of the EU/UK GDPR and the business/controller under the CCPA/CPRA.

Privacy and data-subject-request contact: info@quietfieldllc.com. This is the channel for any privacy question, or to make a data-subject or consumer request — for example a request to access, correct, or delete personal information, or to exercise a right under the GDPR or the CCPA/CPRA. Please note the honest limitation described throughout this policy: the only data that ever leaves your device is anonymous and aggregate and contains nothing that identifies you, so in most cases there is no per-person record for us to locate, return, or delete — but you are welcome to write, and we will respond and explain what, if anything, applies to your request. We will not discriminate against you for making one.

Most of what QuietCheck does happens entirely on your own device; deleting the app removes your on-device detection history and any location tags with it. This is an independent app, not operated by a company with a large support desk, so the fastest answer to most "what does it do with my data" questions is in this document itself — the app's source does not do anything beyond what is described above.

QuietCheck 1.0 links to an earlier copy of this policy from inside the app, at overt-a0e0b.web.app/privacy.html. This page is the current version.

Questions about anything here: info@quietfieldllc.com