Black and white lists. One of the variants of realization



Some time ago we already told about our project Rassam — the app for Android that allows you to automate the sending of a complaint to the FAS for promotional SMS. Of course, getting a large amount of information about the senders of SMS advertising, it was impossible not use it. Because we have implemented a centralized blacklist. However, the logic of our list very difficult.

Global black list


He is also a centralized blacklist. Everything is relatively simple. From users who said that they received SMS is spam we receive information about the sender of the SMS, and text SMS. If one sender complained to several different users, then it falls to the Global blacklist. The black list is updated daily on a user's device. But this raises a few problems.

Problem 1. Spam?

One sender can send different SMS to be both useful and promotional. For example, two messages of the sender 900 (Sberbank):

ECMC1234: 16.12.13 22:00 operation credited in the amount of 5000.00 RUB ITT 103233 2216 completed successfully. Available at: 30721.32 RUB

home loan on special conditions to 31.12.13 General license of Bank of Russia for banking operations №1481 from 08.08.2012 G. Detailed information by phone: T. +79161234567 and on the Bank's website www.sberbank.ru

For someone first SMS useful, and the second is spam. For someone else — useful both SMS.
On the server side, there is a possibility to add the sender to the ignore list. Then how many users are on SMS sender to complain, in a Global blacklist, he will not fall. But in the case described above it will not help.

Problem 2. The time of appearance

In order for the sender to hit the Global list, it is necessary that he complained to multiple people. Accordingly, if the sender sends promotional SMS rarely, those people who Rassam does not use the Global black list, it will not be soon.

Problem 3. Need SMS will be ignored

For example, the sender complained a certain number of people. Moderators time "good" of the sender is not tracked, he went to the Global blacklist, need SMS has been blocked.

How was that solved?

Let's start with the problem 3 — of course, the received SMS is not removed completely. All blocked SMS messages are saved in the app's History. But this is not enough. Will return to this issue below.

Local blacklist


Allows to solve partially the Issue 1 and fully Issue 2. Once a user complained about the advertising, in his opinion, SMS, its sender immediately appears in the Local blacklist. No matter whether the sender is added to the ignore list on the server side, complained about it on other users — the SMS from that sender, the user will never see. But if the user made a mistake, then he, of course, it is possible to remove the sender from the Local black list (remove the sender from the Global list — not).

White list


The default white list is your address book of the user. If the sender is in your address book, the message is not considered spam. But not everyone wants to add to address book banks, airlines and other senders from whom the SMS needs. Then in the app there is a White list. Any sender from the Global list can be added to the White list. The white list takes precedence over the two Black lists. If the sender was found in the White list — it's definitely not spam.

But how to help the user to identify the good in his view sender in the Global black list and the time to add them to the whitelist (issue 3)? Especially when the entries in the Global black list of a lot of (at the time of this writing our database Rossam the same sender is about 600)? To do this in our application, a new entry in the list are considered "unread" and are highlighted in blue. As soon as the user will see a new entry (or rather, look at it for at least 5 seconds) — it is marked "read" (like letters in MS Outlook). Periodically go to the Global blacklist, to view the new entries and transfer them to the White list if necessary. A little bonus that make life easier for user — senders in the list are sorted without regard to special characters in their name (because, for example, as in the picture above — L_Gorod. and .L.Gorod are to each other).

What do you think about this black and white lists?
Article based on information from habrahabr.ru

Комментарии

Популярные сообщения из этого блога

The release of the new version of the module modLivestreet 0.3.0-rc

mSearch: search + filter for MODX Revolution

Emulator data from GNSS receiver NMEA