How one correction teaches a mailbox

Different people want different things from their inbox. A newsletter one person reads every morning is junk to the person in the next office. A spam filter has to handle both without anyone writing rules all day. We do it with two separate tools.

Two kinds of personal settings

Rules are instructions people set by hand, like "mail from this sender is always spam." They are simple and predictable, and they cover only the senders someone named.

Learned preferences are what SpamFoo picks up from a user's corrections. They cover everything else, and they are built automatically when someone marks spam, rescues mail from junk or moves a message to a different Email Classification.

What happens after a click

When a user corrects a message, SpamFoo saves a compact summary of what the message is about, next to the right answer. That summary is made for comparing messages, and it's stored in your SpamFoo instance.

When new mail arrives for that user, SpamFoo compares it with the messages they corrected before. If it closely matches, SpamFoo follows the user's choice. This happens right away, so a correction applies to the very next similar message.

One correction is enough for SpamFoo to handle similar mail from the same sender the same way. Mail from other senders is only affected when it is nearly identical.

Why one person's click helps everyone

A correction also does a second job. It helps train the models that every SpamFoo installation uses. When users at many installations report the same new scam, the next models learn to catch it, and so do the installations that never saw it.

Where it fits in the order of checks

A user's own rules and their domain's rules are checked first. Learned preferences are checked after the phishing checks and before sender reputation and the models. That way a user can't accidentally teach SpamFoo to trust a phishing message, but their preferences still come before a general score.

Seeing and undoing it

Users can see what SpamFoo learned from them on their My Rules page and remove any item, or clear everything at once. If a user later corrects a message the other way, older preferences that disagree lose weight and are eventually removed.

Give every user a spam filter that fits them

SpamFoo learns from each person's corrections, starting with their very next message.