Privacy policy
In short
- Who Calls shows the name of a caller using names that other users saved in their contacts.
- If you agree, the app uploads the names and phone numbers in your contacts to our server. It uploads no call history, messages, e-mails or photos.
- Phone numbers are stored only in hashed form. We don't sell personal data.
- The app is free and shows ads from Google (AdMob). Where the law requires it, personalized ads are shown only with your consent. If the app crashes, a technical crash report goes to Google (Firebase Crashlytics). Neither ever receives your contacts or the numbers you look up.
- App users can delete everything they uploaded in the app at any time.
- If your number shows up in the app and you don't want it to, ask us to remove it, even if you don't use the app.
1. Who is responsible
The controller of the personal data described here is {{OPERATOR}}, {{ADDRESS}}. Contact for all privacy questions and requests: {{EMAIL}}.
2. How the app works
Who Calls identifies callers with a shared database. People who use the app can choose to share their contacts. When a phone number calls a Who Calls user (or the user calls it), the app asks our server for that number and shows the names that other users saved it under, plus a photo if one is available.
This means that the name under which you are saved in other users' phones may be shown to Who Calls users you call, even if you don't use the app yourself. See Remove your number.
3. Data for caller ID
a) Your contacts, if you agree to share them
The app asks for your consent before uploading anything. With your consent, it uploads the name and phone number of each contact on your phone, and afterwards only the changes, each time you open the app.
- Phone numbers are stored only as a keyed hash (HMAC-SHA-256), not as readable numbers.
- Names are stored as text, cleaned of invisible characters and shortened to 64 characters.
- Each name is linked to the device that uploaded it, so it can be deleted when that device's data is deleted, and so a single device can't push a fake name to the top.
b) Your device
When you install and open the app, it registers your device with our server. We store:
| Data | Why |
|---|---|
| A random device token. We store only its hash. | To recognize your device without knowing who you are |
| App version and the version of the consent text you accepted | Compatibility, and proof of consent |
| Time of registration and of last use | Operation and abuse prevention |
| IP address at registration, stored only as a keyed hash | To detect many fake devices created from one network |
| Google Play Integrity result (whether the app is genuine and the device is not modified) | To stop bots and modified copies of the app |
| Number of contacts uploaded, and warnings or blocks for misuse | Abuse prevention |
Our server doesn't know your name, your own phone number or your Google account.
c) Caller lookups
When a call comes in or goes out, the app sends that call's phone number to our server to find its name. We don't keep a record of which numbers you looked up. To prevent bulk scraping of the database, our server keeps short-lived counters (for example, how many lookups a device made today) that use hashed values and expire within 24 hours.
d) Permissions on your phone
| Permission | Used for |
|---|---|
| Contacts | Reading names and numbers to upload them, only after your consent |
| Phone and call log | Getting the number of the current incoming call. Android only gives the number to apps with this permission. Your call history is not read or uploaded. |
| Outgoing calls | Getting the number you are calling, to show its name |
| Display over other apps | Showing the caller name window during a call |
| Notifications, foreground service | Keeping the app running during a call so the lookup can finish |
| Advertising ID | Used by Google's ads service, see section 4 |
e) People who don't use the app
If your number is saved in the phone of a Who Calls user who shares their contacts, we store your number (hashed) and the name they saved it under. We may also hold:
- names for numbers from lists that we import ourselves: {{IMPORT_SOURCES — describe what kind of lists you import and where they come from, or delete this item}};
- a link to a photo for a number, where one has been added.
You can have your number removed at any time: see Remove your number.
f) Our website and server
Our web server doesn't keep access logs of visitors or app requests. The IP address of a request is used briefly, in hashed form, for rate limiting.
4. Ads and crash reports (Google)
The app contains two services from Google. They collect data directly on your phone and send it to Google, not to our server.
a) Ads: Google AdMob
Who Calls is free and is funded by ads shown through Google AdMob. To show ads, limit how often you see them, measure them and prevent ad fraud, Google's ads software collects:
- your device's advertising ID;
- your IP address, from which Google can estimate an approximate location (city or region, not GPS);
- information about your device and the app (model, Android version, language, app version);
- how you interact with ads (views and clicks).
Personalized ads are based on your interests, which Google infers from activity in other apps and websites. Where the law requires consent, the app asks with Google's consent form before personalized ads are shown. If you don't consent, you see non-personalized ads. These are based on context, such as the app and an approximate location, and the data above is still used to count, limit and protect ads.
Your choices:
- change your consent at any time under Privacy options in the app's settings;
- reset or delete your advertising ID in Android settings, under Privacy → Ads (on some phones Google → Ads);
- manage Google's ad personalization at myadcenter.google.com.
Google uses this data as an independent controller under its own policies: Google Privacy Policy and How Google uses information from apps that use its services.
b) Crash reports: Firebase Crashlytics
If the app crashes or hits a serious error, it sends a crash report to Google Firebase Crashlytics so we can find and fix the problem. A crash report contains:
- technical details of the error (where in the app's code it happened);
- device model, Android version, app version, free memory and storage, and whether the device is rooted;
- the time of the crash and a random Crashlytics installation ID, which is not linked to your name or number.
Crash reports contain no contacts, names, phone numbers or numbers you looked up. Google processes them on our behalf. More information: Privacy and security in Firebase.
Never shared with Google or advertisers: your contacts, the Who Calls database, the numbers you look up, and the names shown to you. Ads are never chosen based on who calls you.
5. What we don't collect
- No call history, call recordings, SMS or messages
- No e-mail addresses, postal addresses, photos or other fields from your contacts
- No precise location (GPS). The app doesn't ask for location permission.
- We don't sell personal data
6. Purposes and legal basis
| Purpose | Legal basis |
|---|---|
| Uploading and using your contacts to run the shared caller ID database | Your consent, given in the app. You can withdraw it at any time by deleting your data. |
| Registering your device and answering caller lookups | Providing the service you asked for |
| Showing the names of people who don't use the app to callers' contacts | Our legitimate interest, and that of our users, in knowing who is calling and avoiding unwanted calls. It is balanced by hashing numbers, showing only names, and the right to have a number removed at any time. |
| Security, stopping bots, scraping and fake names | Our legitimate interest in protecting the service and the people in the database |
| Personalized ads | Your consent, where required, which you can withdraw in the app's Privacy options |
| Non-personalized ads, ad measurement and fraud prevention | Our legitimate interest in funding a free app |
| Crash reports | Our legitimate interest in a reliable, working app |
We process personal data in line with the Law of Georgia on Personal Data Protection.
7. Who receives data
- Other app users see the names saved for a number when that number calls them or they call it. Several spellings are grouped and the most common are shown. Users never see who uploaded a name, and they can't browse or search the database.
- Our administrators can view and correct the database, through an access-protected admin panel that logs every action.
- Our server hosting provider (servers located in {{SERVER_COUNTRY}}), as our processor.
- Google: Play Integrity (checking that the app is genuine) and Firebase Crashlytics (crash reports), as our processor. AdMob ads, as an independent controller (see section 4).
- Photo hosts: if a photo is shown for a caller, your phone loads it from the website where it is stored, which can see your IP address.
- Authorities, only where the law requires it.
We don't sell or rent personal data.
8. Processing outside Georgia
Our server is located in {{SERVER_COUNTRY}}. Google may process ad and crash report data in the United States and other countries. Where data leaves Georgia, it is protected by the providers' contractual safeguards, such as standard contractual clauses, as the law requires.
9. How long we keep data
| Data | Kept |
|---|---|
| Your device record and the contacts it uploaded | Until you delete them in the app, or we delete the device for misuse. Uninstalling the app does not delete them: use “Delete my uploaded data” first. |
| Contacts you removed from your phone | Removed from our server the next time you open the app |
| Rate-limiting counters | Up to 24 hours |
| Encrypted backups | 14 days, then deleted automatically |
| Removal requests (a blocked number, stored hashed) | As long as the service exists, so the number stays removed |
| Crash reports (Firebase Crashlytics) | 90 days, then deleted by Google |
| Ad data (Google AdMob) | According to Google's policies |
10. Security
- All connections use HTTPS. The app refuses unencrypted connections.
- Phone numbers and IP addresses are stored only as keyed hashes. The key is kept separately from the database.
- The database is not reachable from the internet, and backups are encrypted.
- Limits on lookups, together with Google Play Integrity, stop automated scraping.
- Administrator access requires a password and a second factor, and every administrative action is logged.
No system is completely secure. If a breach affects your data, we will act as the law requires, including informing the authority and, where needed, the people concerned.
11. Delete your data (app users)
In the app, tap “Delete my uploaded data” and confirm. Right away, your device record and every contact your phone uploaded are deleted from our server, and syncing stops. Copies in encrypted backups disappear within 14 days.
If you have already uninstalled the app, we can't tell which device was yours, because we don't know who you are. Install the app again, delete your data, then uninstall it. Or write to {{EMAIL}} and we will help.
Ad data is controlled by Google: reset or delete your advertising ID in Android settings. Crash reports are deleted automatically after 90 days.
12. Remove your number (anyone)
If your phone number shows a name in Who Calls and you don't want it to, whether or not you use the app, write to {{EMAIL}} with:
- the phone number, including the country code (e.g. +995 5XX XX XX XX);
- whether you want the number removed entirely, or only a wrong or offensive name corrected.
To make sure the request really comes from the number's owner, we may call or text that number once. After that we block the number: the app then shows nothing for it, including names that users upload later. We handle requests within {{DAYS, e.g. 10}} days and confirm by e-mail.
13. Your rights
Under the Law of Georgia on Personal Data Protection you have the right to:
- know whether we process your data, and get information about it and a copy of it;
- have incorrect data corrected and data deleted;
- object to processing and have it restricted;
- withdraw your consent at any time, for contact sharing or personalized ads. This doesn't affect processing done before you withdrew it.
Because numbers are stored hashed, please give us the phone number your request is about. Write to {{EMAIL}}. You may also complain to the Personal Data Protection Service of Georgia.
14. Children
Who Calls is not meant for children under 16, and we don't knowingly collect their data or show them personalized ads.
15. Changes to this policy
If we change this policy, we will update the date at the top. If a change affects what the app uploads, the app will ask for your consent again before uploading anything more.