SmartFilter — A Spam Filter for iOS Messages

SmartFilter
3 min readSep 19, 2017

--

SmartFilter is an SMS/MMS spam filter that uses machine learning to identify incoming spam messages and places them in a separate inbox in the built-in Messages app.

You can download it now, for free, on the App Store.

Features

SmartFilter is smart.

Using machine learning, SmartFilter can tell when an incoming message is spam based on the message content.

SmartFilter’s options and filters.

SmartFilter is highly customizable:

  • You can set up SmartFilter to suit your preferences. You can even disable the machine learning filter, but I’m not sure why you would want to do that.
  • You can take the nuclear option and filter all unknown senders.
  • If you don’t want your phone to light up whenever you get a login verification code from your bank, you can filter all short codes.
  • SmartFilter also has the ability to filter messages that include certain words or from certain phone numbers. You can define as many words and phone numbers as you want in the app.

SmartFilter respects your privacy.

Incoming messages are analyzed on your device and your messages are never sent to a server for analysis.

How It Works

Apple have taken steps to make sure that developers don’t violate users’ privacy. They’ve set some strict criteria for which messages are even sent to the filter for evaluation:

  1. Only SMS/MMS messages. Never iMessages. In fact, Apple already filters iMessages for spam.
  2. Only messages from unknown senders. The sender’s phone number is not in your contacts.
  3. You haven’t replied to this sender in the past. If you reply three times to a message that’s been filtered, that thread will move to your main inbox and won’t be subject to filtering.

After these three criteria are met, SmartFilter will evaluate the message based on the filter settings in the SmartFilter app.

Left: The Unknown & Junk message inbox, Right: Mr. Holder’s inquiry about Sundi has been filtered by SmartFilter

Backstory

I’ve been trying my hand at iOS programming over the past year, learning via the Hacking with Swift books. I was keeping my eye on new features to take advantage of during this year’s World Wide Developer’s Conference and was impressed (along with everyone else) with the machine learning capabilities in CoreML. I also noticed the new IdentityLookup framework. I had a 💡 moment.

I could use machine learning to analyze the body of a text message and identify it as spam without needing to maintain a large database of known spam phone numbers. Being able to do this analysis on the device keep the user’s messages private.

I spent a few weeks remembering basic Python while learning how build a machine learning model. I learned how to save user settings on the device, designed the user interface, learned how to incorporate in-app purchases, and tested and tested and tested. And dotted all along the way with late nights troubleshooting.

It took three months to build a single page app. I took a lot of care so that the little time you spend within SmartFilter is respected. I hope SmartFilter is useful to you and is worthy enough to be tucked away in some app folder on your iPhone. Maybe right next to the Compass app. If you put SmartFilter next to the Stocks app… we are not friends.

Go get it

Protect yourself from SMS/MMS spam now, download SmartFilter for free from the App Store.

After you use SmartFilter for a little bit, please leave a review.

If you have any feedback or questions you can reach me at smartfilterapp@gmail.com or @smartfilterapp on Twitter.

--

--

SmartFilter

SmartFilter uses machine learning to identify spam messages without sending your info to the cloud. Coming soon to iOS.