|
6 | 6 |
|
7 | 7 | <p align="center"> |
8 | 8 | <strong>Open-source spam call and text blocker for Android</strong><br> |
9 | | - 15+ layer detection + Gradient-Boosted Tree ML | 51,360 spam numbers | Real-time caller ID | RCS filter | No required API keys |
| 9 | + 15+ layer detection + Gradient-Boosted Tree ML | 51,362 spam numbers | Real-time caller ID | RCS filter | No required API keys |
10 | 10 | </p> |
11 | 11 |
|
12 | 12 | <p align="center"> |
13 | 13 | <a href="https://github.com/SysAdminDoc/CallShield/releases/latest"><img src="https://img.shields.io/github/v/release/SysAdminDoc/CallShield?style=flat-square&color=a6e3a1" alt="Release"></a> |
14 | | - <img src="https://img.shields.io/badge/Spam%20Numbers-51%2C360-f38ba8?style=flat-square" alt="51,360 Numbers"> |
| 14 | + <img src="https://img.shields.io/badge/Spam%20Numbers-51%2C362-f38ba8?style=flat-square" alt="51,362 Numbers"> |
15 | 15 | <img src="https://img.shields.io/badge/Tests-1563-94e2d5?style=flat-square" alt="1563 Tests"> |
16 | 16 | <img src="https://img.shields.io/badge/Android-10%2B-89b4fa?style=flat-square" alt="Android 10+"> |
17 | 17 | <img src="https://img.shields.io/badge/License-MIT-cba6f7?style=flat-square" alt="MIT License"> |
|
30 | 30 |
|
31 | 31 | --- |
32 | 32 |
|
33 | | -CallShield blocks spam calls and texts using a **15+ layer on-device detection engine** with a gradient-boosted tree ML scorer, bounded campaign and churn evidence, conservative carrier identity metadata signals, an RCS notification filter, and real-time caller ID. Its 51,360-number database sits alongside a trending-numbers feed the app checks every 30 minutes. There are no accounts or tracking. |
| 33 | +CallShield blocks spam calls and texts using a **15+ layer on-device detection engine** with a gradient-boosted tree ML scorer, bounded campaign and churn evidence, conservative carrier identity metadata signals, an RCS notification filter, and real-time caller ID. Its 51,362-number database sits alongside a trending-numbers feed the app checks every 30 minutes. There are no accounts or tracking. |
34 | 34 |
|
35 | 35 | The database keeps `data/spam_numbers.json` as a stable legacy GitHub-raw |
36 | 36 | endpoint for older clients, while current builds bundle a hash manifest and |
@@ -71,7 +71,7 @@ Version highlights for each release are in [CHANGELOG.md](CHANGELOG.md). |
71 | 71 |
|
72 | 72 | ## How It Works |
73 | 73 |
|
74 | | -1. **51,360 imported spam numbers.** Sources include FCC consumer complaints (2+ reports each), FTC Do Not Call, ToastedSpam, and corroborated community reports. |
| 74 | +1. **51,362 imported spam numbers.** Sources include FCC consumer complaints (2+ reports each), FTC Do Not Call, ToastedSpam, and corroborated community reports. |
75 | 75 | 2. **15+ layer detection + ML**. Database, heuristics, bounded campaign/churn detection, on-device gradient-boosted tree, SMS content/burst analysis, RCS filter, STIR/SHAKEN, and more |
76 | 76 | 3. **Real-time caller ID overlay**. An optional SkipCalls spam check for locally suspicious calls, with SIT tone anti-autodialer |
77 | 77 | 4. **Trending feeds**. The app checks for trending spam numbers and campaign ranges every 30 minutes. The maintainer regenerates them by hand from new community reports |
@@ -117,7 +117,7 @@ All detection layers implement a shared `IChecker` interface and run in priority |
117 | 117 | | 5310 | **Regulatory Prefix** | Block | Opt-in (Settings > Telemarketing ranges) blocks for ranges regulators set aside for sales calls: Spain 400 (from 17 October 2026), India 140 (TRAI), Brazil 0303 (ANATEL). Matches the number with its country code, and without it on a phone from that country | |
118 | 118 | | 5300 | **STIR/SHAKEN Authenticated** | Allow | Carrier-authenticated caller ID allows through heuristic/ML suspicion, and through a database match only when that row's newest evidence, community reports included, is over a year old and the number isn't trending right now. Explicit blocks still win first | |
119 | 119 | | 5250 | **Regulatory Allow** | Allow | Opt-in protected series that rings through past the database and statistics. India 1600 (banks, insurers and government offices, per TRAI) | |
120 | | -| 5200 | **Spam Database** | Block | 51,360 imported spam numbers plus the trending-numbers feed | |
| 120 | +| 5200 | **Spam Database** | Block | 51,362 imported spam numbers plus the trending-numbers feed | |
121 | 121 | | 5150 | **Database Prefix Expansion** | Block | Auto-blocks last-two-digit siblings of confirmed database entries | |
122 | 122 | | 5000 | **Recently Dialed** | Allow | Numbers you called in the last 24h. They're probably calling back | |
123 | 123 | | 4980 | **Emergency Callback** | Allow | Unknown callbacks can ring through after a local emergency call during the configured grace window | |
@@ -282,7 +282,7 @@ by locale and message type without shipping personal data: |
282 | 282 |
|
283 | 283 | ## Data Sources |
284 | 284 |
|
285 | | -### Database (51,360 numbers + 653 range prefixes, locally maintained) |
| 285 | +### Database (51,362 numbers + 653 range prefixes, locally maintained) |
286 | 286 | | Source | Method | |
287 | 287 | |--------|--------| |
288 | 288 | | **FCC Consumer Complaints** | Socrata API, 500K records, min 2 reports | |
|
0 commit comments