Spam ist lästig. Ein Filter, der still eine Buchungsanfrage wegwirft, ist teurer. Wie aus diesem Ausgangspunkt vier Schichten und drei Ergebnisse werden.
Ein gemeinsames Postfach läuft voll. An die Adresse, die auf Ihrer Website steht, kommt alles: Anfragen, Rechnungen, Newsletter, für die sich niemand angemeldet hat, und der bekannte Schrott.
Der Reflex ist ein Spamfilter. Verständlich, aber das eigentliche Risiko liegt auf der anderen Seite. Ein Filter, der einmal im Monat eine Buchungsanfrage entfernt, kostet Sie mehr als aller Spam zusammen. Und Sie merken es nicht, denn Sie hören von diesem Kunden einfach nichts mehr.
Ein Satz bestimmt den ganzen Entwurf
Der Auftraggeber sagte es zu Beginn so: lieber einmal versehentlich etwas Spam durchlassen als eine echte Mail verlieren.
Das ist kein weicher Kompromiss. Es ist eine technische Entscheidung mit einem Namen. Sie optimieren auf eine geringe Wahrscheinlichkeit für einen Fehlalarm, also gute Post, die als Spam endet, und nehmen dafür mehr durchgelassenen Spam in Kauf. Jede Schwelle, jedes Rückfallverhalten und jede Aufbewahrungsfrist folgt aus diesem einen Satz.
Es lohnt sich, das aufzuschreiben, bevor man anfängt. Sonst endet man mit einem Filter, der scharf aussieht und auf den sich niemand verlässt.
Was die Prüfung zuerst zutage brachte
Bevor eine Zeile Filtercode geschrieben war, kamen drei Dinge hoch, die unabhängig von Spam schon falsch lagen.
Das Abholen las einen Ordner, und das war der Eingang. Was der Mailserver selbst als Spam einstufte, ging in einen eigenen Ordner, den das System nie öffnete. Es lief also längst ein Filter, den niemand einsehen konnte. Genau dieses Szenario will man vermeiden, und es war schon Realität.
Die Kopffelder wurden beim Einlesen verworfen. Übrig blieben nur Absender, Empfänger, Betreff, Datum und Nachrichtennummer. Gerade die Felder, auf denen ein Urteil ruhen sollte, das Ergebnis von SPF, DKIM und DMARC, die sendende Adresse und das eigene Urteil des Mailservers, verschwanden. Ohne diese Felder ist jede Entscheidung Raten auf Text allein.
Und "Spam" wurde als Label gespeichert. Ein Gespräch hat ein Label, wer also Spam setzte, löschte das Themenlabel. Ein Spamstatus gehört in ein eigenes Feld.
Vier Schichten, in dieser Reihenfolge
Die erste Schicht ist eine Sicherheitsliste, und die gewinnt immer. Nie Spam: alle im Adressbuch, jeder Kunde, jeder Benutzer des Systems mit welcher Rolle auch immer, jede Adresse, die wir selbst einmal angeschrieben haben, und jedes Gespräch, in dem schon eine Antwort von uns steht. Das ist der günstigste und stärkste Schutz davor, echte Post zu verlieren, und die Daten waren längst im Haus. Die Liste wird bei jeder Beurteilung neu nachgesehen, denn ein Kunde, der heute bucht, gehört morgen darauf.
Die zweite Schicht sind die harten Fakten aus dem Kopf. Keine Meinung, nur Nachprüfbares: das Ergebnis von SPF, DKIM und DMARC, das Urteil, das der Mailserver schon gefällt hat, die sendende Adresse gegen die bekannten Sperrlisten und eine Liste vertrauenswürdiger Absender, und die Merkmale von Massenpost.
Die dritte Schicht ist die Lernschicht: eine Wortstatistik über Ihre eigene Post. Das ist der Teil, der "selbstlernend" einlöst, und der einzige Teil, der Ihre Ausnahmen lernen kann. Post einer bestimmten ausländischen Behörde ist hier Spam und für den Rest der Welt nicht. Kein Filter von der Stange wird das je sagen.
Die vierte Schicht ist die AI, und nur als Schiedsrichter in der Zweifelzone. Ihr Gewicht ist begrenzt, und sie kann eine Nachricht nie allein in den Spamordner bringen. Die Mail geht als Inhalt an das Modell und nie als Auftrag. Fällt die Verbindung aus, entfällt die Schicht einfach und die anderen drei entscheiden.
Drei Ergebnisse statt zwei
Hier liegt der Kern. Die meisten Filter kennen zwei Ergebnisse: durch oder weg. Dieser Filter kennt drei.
Unter der niedrigen Schwelle passiert nichts. Über der hohen Schwelle geht die Mail in den Spamordner. Und dazwischen liegt ein Zweifelband, in dem die Mail in der Warteschlange bleibt, mit einem grauen Fähnchen "möglicherweise Spam" und dem Grund daneben.
Dieses mittlere Ergebnis ist der ganze Punkt. Ein Filter, der zwischen Wegwerfen und Nichtstun wählen muss, wirft zu oft weg. Ein Filter, der zweifeln darf, kann vorsichtig sein, ohne nutzlos zu werden.
Zuerst zwei Wochen nur mitsehen
In den ersten zwei Wochen durfte der Filter nichts verschieben. Nur beurteilen, festhalten und zeigen, was er getan hätte.
So werden erwachsene Filter eingeführt, und es steckt ein zweiter Gewinn darin: Sie finden Ihre eigenen Schwellen. Was bei der einen Organisation eine klare Spampunktzahl ist, ist bei der anderen der normale Wert eines Lieferanten, der seine Post über einen Massendienst versendet.
Den Kopf aufbewahren, auch das, was Sie noch nicht nutzen
Eine technische Entscheidung, die später Gold wert ist: der ganze Kopf wird aufbewahrt, nicht nur die Felder, die heute genutzt werden.
E-Mail ist vergänglich. Wollen Sie in einem halben Jahr ein zusätzliches Signal ergänzen, können Sie das nur an Post prüfen, die Sie noch haben. Mit dem ganzen Kopf im Haus rechnen Sie ein neues Signal an Ihrer eigenen Historie nach, ohne irgendetwas neu abzuholen.
Die Falle, die wir unterwegs fanden
Ein Absender darf selbst eine Zeile mit Authentifizierungsergebnissen in seine Mail schreiben. Damit ist so eine Zeile für sich wertlos: jeder kann hinschreiben, dass seine eigene Post die Prüfung besteht.
Deshalb zählt nur die oberste Zeile, denn dort setzt Ihr eigener Mailserver seine Zeile darüber, und der Name dieses Servers wird getrennt festgehalten. Steht dort nicht Ihr eigener Mailserver, sagt das Ergebnis nichts und es wird nichts damit gemacht. Dasselbe gilt für den Weg, den eine Nachricht genommen hat: nur die obersten Zeilen werden angesehen, interne Adressen zählen nicht mit.
Was es bringt
Ein sauberes Postfach, aber das ist nicht der Hauptgewinn.
Der Hauptgewinn ist, dass Sie bei jedem Urteil den Grund sehen. Eine Nachricht mit einem Fähnchen und dem Text "Absender besteht die Prüfung der Absenderdomain nicht" ist etwas, worüber eine Mitarbeiterin entscheiden kann. Eine Nachricht, die unbemerkt verschwindet, ist das nicht.
Und eine menschliche Markierung gewinnt immer, und zwar dauerhaft. Setzt jemand Kein Spam, bleibt es dabei, und der Filter lernt daraus.
Auch lesenswert
- AI im Postfach: die Antwort steht schon bereit, Sie drücken auf senden, dasselbe Postfach einen Schritt weiter
- Vom Bauen zum Absichern: eine Woche ohne neue Funktionen, über Absicherungen, die man nicht sieht, aber merkt
- Alle realisierten Projekte ansehen, Webplattformen und Automatisierungslösungen
Bert
Häufig gestellte Fragen
- Warum nicht einfach den Spamfilter des Mailservers nutzen?
- Der läuft meist schon, und genau das ist das Problem: Sie sehen nicht, was er entfernt. Die meisten Installationen legen verdächtige Post in einen eigenen Ordner, den Ihr System nie öffnet. Außerdem kennt so ein Filter Ihre Kunden nicht. Die praktische Antwort heißt nicht entweder oder, sondern kombinieren: den Spamordner des Servers mitlesen und Ihre eigene Sicherheitsliste mit Kunden und Partnern darüber setzen.
- Geht ein selbstlernender Filter nicht schief, sobald jemand falsch markiert?
- Dieses Risiko deckt man mit drei Grenzen ab. Die Lernschicht lernt nur von einer Markierung durch einen Menschen, nie von ihrem eigenen Urteil. Sie zählt erst mit, wenn genug Material vorliegt, bei uns mindestens fünfzig Spam- und fünfzig gute Nachrichten. Und ihr maximales Gewicht in der Endpunktzahl ist begrenzt, damit eine Reihe schiefer Markierungen nicht das Ganze kapert.
- Wie lange bewahren Sie auf, was als Spam markiert wurde?
- Bei uns drei Monate, mit vier Absicherungen darum herum. Was ein Mensch angefasst hat, bleibt stehen. Die tägliche Meldung warnt sieben Tage, bevor etwas aufgeräumt wird. Jede Aufräumrunde wird protokolliert. Und die Frist läuft erst an, nachdem der Filter eine Zeit lang nur mitgesehen hat, denn sonst räumen Sie auf, was Sie noch nicht beurteilen können.