DEV Community

Muhammad Umer Mustufa
Muhammad Umer Mustufa

Posted on Edited on

Building an On-Device Spam Call Blocker for Android Without Harvesting User Contacts

Some spam-blocking apps come with a privacy trade-off: to build their lookup databases, they ask for access to your contacts and, in some cases, upload contact data to shared registries.

We built Callro on a different premise: modern Android phones have enough local computing power to make the blocking decision on the device itself.

How On-Device Call Screening Works

Instead of matching caller IDs against a remote contact database, Callro uses Android's native CallScreeningService API combined with a 26-layer local analysis engine (the Gauntlet):

  • Carrier verification: reads the carrier's STIR/SHAKEN verification status (Passed, Failed, or Unverified) as reported by Android.
  • Additional screening filters: further on-device checks score each call before Callro decides whether to reject it.
  • Privacy: contacts, call logs, and audio never leave the device.

When a call is identified as spam, Callro rejects it through Android's CallScreeningService before the device begins ringing.

Check out our technical showcase on GitHub or visit Callro to learn more.

Top comments (0)