SignalScope Privacy Policy
Last updated: 23 September 2026
This explains how the SignalScope Android app handles your data. SignalScope is published by Bonufied Pte Ltd ("Bonufied", "we", "us"), a company registered in Singapore, and this policy is written in line with Singapore's Personal Data Protection Act (PDPA).
In short: SignalScope keeps what it measures on your phone. Nothing leaves your phone unless you turn on Contribute to the shared coverage map, and even then what is sent is coarse, anonymous summary data. There are no accounts, no ads, no analytics and no tracking.
What the app records on your phone
To work out why your mobile data drops, SignalScope records the following in a database stored on your device:
- Mobile network state: signal strength and quality, network type (4G, 5G and so on), frequency band, mobile network operator, which mobile mast (cell) is serving you, and the state of each SIM.
- Connection state: whether you are on Wi-Fi or mobile data, and whether the connection actually works, including the results of small connection and speed tests.
- Whether a call or audio is in progress: only whether one is happening, so the app avoids running tests that would interrupt it. It never records who you call or what you play.
- Approximate location, if you grant location permission. The app never stores your exact latitude and longitude. Each position is rounded to a hexagonal area before it is saved. The smallest of these areas is about 65 m across.
Please treat this data as sensitive. Even rounded, a timestamped history of areas and serving masts is a record of where you have been. This record is kept whether or not you grant location permission, because the serving mast is itself a movement history.
This data stays on your phone. We do not receive it and cannot see it.
What leaves your phone
| What | Where to | What is sent |
|---|---|---|
| Shared coverage map contribution (only if you turn on Contribute) |
Our server, signalscope-map.fly.dev, hosted by Fly.io in Singapore |
A summary of signal quality per area (about 460 m across), mobile network and band, dated only to the week. It contains no exact location, no serving-mast identities, no times of day, and no account, no device identifier and nothing derived from your hardware. It does carry one random number, generated on your phone, which lets our server recognise that a later contribution replaces your earlier one rather than adding to it — see why below. It changes every three months and is destroyed when you delete your data. Automatic contributions are sent at most once a day and only over Wi-Fi or another unmetered connection. |
| Connection and speed tests | Cloudflare (1.1.1.1, one.one.one.one, speed.cloudflare.com) |
Test traffic only, such as random bytes. No personal data. These tests use up to about 1 MB of mobile data a day. |
| Map downloads | Protomaps map files hosted on Source Cooperative (data.source.coop), and the
shared map from our server |
Requests for map data only. No personal data. Over Wi-Fi only, unless you allow mobile data for map downloads in Settings. |
| Exports | Wherever you choose | If you use Export, the app hands a file to Android's share sheet and you pick where it goes. Nothing is sent unless you choose to share it. |
Like any internet service, these providers see your device's IP address when your phone connects to them. Our own server does not record IP addresses, set cookies, or assign you any identifier.
How we use shared contributions
Contributions are combined with those from other phones to build a public map comparing mobile network coverage across areas. An area is published only once at least three separate phones cover it. Contributions are kept as received for up to 30 days and then deleted, leaving only the combined map. Nothing in a contribution identifies you: there is no account, no device identifier and no coordinate in it, and we cannot connect one to a person.
What that protection does not cover. The rule counts separate contributions, and a contribution is not proof of a separate person. Somebody determined to do so can submit several and clear the threshold on their own, which would let them learn that somebody has measured a given area. We would rather say that plainly than let the number of phones read as a guarantee it is not. It is a floor against incidental exposure, not a defence against a deliberate attempt.
Why a contribution carries a random number
Each contribution is a summary of everything your phone has measured so far, sent again each day rather than only the new part. Without something to recognise it by, our server would treat yesterday's contribution and today's as coming from two different people — and after three days your phone alone would satisfy the rule that three phones must cover an area before it is published. The rule would still be printed on this page and would no longer be doing anything.
So each installation generates one random number for itself. It is not derived from your phone, your SIM or anything about you, and it is not an account: it tells us only that two contributions came from the same installation, which is what lets the newer one replace the older. It changes every three months, it is never stored alongside a contribution once that contribution is filed, and deleting your data on the app's Settings screen discards it, after which your phone is one we have never seen.
We do not sell data, and we do not use it for advertising or profiling.
Permissions the app asks for
- Phone state: to read signal, network and SIM status. The app does not read your phone number, calls or messages.
- Location (precise and approximate): Android needs this for detailed cell information and to place measurements on the map. Positions are rounded before they are saved.
- Network access and network state: to see which connection is in use and to run connection tests.
- Foreground service, notifications and start at boot: so measurement can keep running, with a visible notification, while the app is not on screen.
- Shizuku (optional): if you have installed the Shizuku app and grant access, SignalScope can read some additional radio details. It is not required.
Your choices and deleting your data
- Contribute is off until you turn it on, and you can turn it off at any time in the app.
- To delete everything SignalScope has recorded, clear the app's storage in Android Settings or uninstall the app.
- We cannot delete or return a contribution you have already sent, because nothing in it identifies you or your phone.
Children
SignalScope is intended for adults (18 and over) and is not directed at children.
Security
All data the app sends to our server uses encrypted HTTPS connections. Our server's storage is encrypted.
Changes to this policy
If the app's handling of data changes, we will update this page and the date at the top before the change is released.
Contact
Questions about this policy or your data: use the contact form at bonufied.com/contact.