DEV Community

Muhammad Umer Mustufa
Muhammad Umer Mustufa

Posted on

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

Most modern spam-blocking apps come with an uncomfortable privacy trade-off: in order to identify incoming spam calls, they require you to upload your entire address book, call log history, and phone interactions to external cloud databases.

We built Callro on a different premise: modern Android phones have more than enough local computing power to analyze incoming telephony signals on-device.

How On-Device Call Screening Works

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

  1. Protocol & SIP Layer: Inspects STIR/SHAKEN cryptographic attestation headers, carrier registration flags, and spoofing signatures directly from the carrier handshake.
  2. Behavioral Analysis: Detects rapid burst dialing patterns, neighbor spoofing (matching the user's local area code and exchange), and sequential automated dialing.
  3. Local Privacy Isolation: All contacts matching and whitelist checks occur offline. Audio, call logs, and address book data never leave the phone.

If an incoming call fails validation, Callro silences or rejects it in milliseconds before the device rings.

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

Top comments (0)