Android Call/SMS blocker. (Android 10+)
- Screenshot
- How it works
- Features
- Limitations
- Permissions
- Privacy
- Support
- FAQ
- Language Support
- Contributing
- Some ideas
- Donate
| History | Settings | Notification |
|---|---|---|
![]() |
![]() |
![]() |
It works without replacing your call/SMS app.
- For call:
It's the Caller ID app. - For SMS:
It takes over SMS notifications but only filters them, spam messages will still appear in the SMS app.
You can kill the app after setup, it's unnecessary to keep it running in the background.
| Filter | It checks |
|---|---|
| Contacts | From a contact? |
| STIR/SHAKEN | Fails STIR/SHAKEN attestation? |
| Repeated | Multiple calls from the same number in a short while? |
| Dialed | Have you dialed the number? |
| Push Alert | Allow calls after receiving notifications from other apps, e.g.: "Your order has been taken by driver ...", the driver may then contact you. |
| SMS Alert | Allow calls after receiving SMS messages like: "[From ...] We are calling to inform ..., please feel free to answer." |
| Recent Apps | Allow calls if some apps have been used recently. Use case: You ordered Pizza online and soon they call you to refund. |
| Meeting Mode | Decline calls during online video meetings. |
| Off Time | A time period that always allows calls, usually no spams at night. |
| Spam Database | If it exists in the spam database. Any public downloadable spam databases can be integrated, such as the DNC. |
| Instant Query | Check the incoming number online in real time, querying multiple API endpoints simultaneously, such as the PhoneBlock. |
| Report Spam | Automatically or manually report the number to build our crowd-sourced databases, protecting others and yourself. |
| Regex (regular expression) |
Check the Wiki for examples. Some typical patterns: - Any number: .* (the regex .* is equivalent to the wildcard * in other apps) - Unknown/Private/Empty number (it's actually empty text): .{0} or ^$- Exact number: 12345 - Start with 789: 789.* - End with 123: .*123 - 7 digits: .{7} - Shorter than 5: .{0,4} - Longer than 10: .{11,} - Contain word "verification": .*verification.* - Contain any of the words: .*(police|hospital|verification).* - Start with 789, with leading country code 11 or not: (?:11)?789.* - Extract verification code from SMS message: code.*?(\d+) |
- Auto clear SMS: No plan
- Dual SIM support: "Won't fix" by Google
- Local AI support: Future plan, not yet ready
- RCS support: No plan
| Permission (all optional) | Why |
|---|---|
| INTERNET | For database downloading / instant query / number reporting |
| MANAGE_EXTERNAL_STORAGE (Android 11+) READ/WRITE_EXTERNAL_STORAGE (Android 10) |
For file access via automated workflow |
| ANSWER_PHONE_CALLS | Reject, answer and hang-up calls |
| POST_NOTIFICATIONS | Show notifications |
| READ_CONTACTS | Match contacts |
| RECEIVE_SMS / RECEIVE_MMS | For SMS notification screening |
| READ_CALL_LOG READ_SMS |
For allowing repeated calls |
| PACKAGE_USAGE_STATS | For feature: Recent Apps (check whether an app has been used recently) |
| READ_PHONE_STATE | For BlockMode: Answer+Hang-up (monitor ringing state) |
| REQUEST_IGNORE_BATTERY_OPTIMIZATIONS | For it to keep working after being swiped and killed |
| NOTIFICATION_ACCESS | For feature: Push Alert (receiving notifications from other apps) |
| WRITE_SETTINGS | For customizing call ringtone |
| READ_LOG | For reporting bugs with logcat messages |
-
For offline features
No data collection.
-
For online features:
The API endpoints will see your:
- IP address
- TLS and TCP fingerprints (which would reveal your Android version)
- The reported number(including the country code)
Nothing else.
You can also disable the internet access , or download the offline apk from the release page.
-
No communication with other apps
-
Reproducible apk
-
Apk signing signature:
apksigner verify --print-certs SpamBlocker.apk7b1ce727856f3427eab1fadfad6c9730cd4e6ba201661547f009206377dffb58
Full Privacy Policy
- Most problems are already covered in the issue list, please search first.
- There's a matrix channel.
- Security warning from Google Play when installing this app
- How the "Priority" works
- It stops working after being killed
- Android 9- support
Languages are translated using Gemini AI(golang script), fire an issue for requesting a new language support. PRs for corrections are welcome.



