Class SpamSignal
- Namespace
- MailFathom.Domain.Spam
- Assembly
- MailFathom.Domain.dll
One fact a classification rests on, with where it came from.
public sealed record SpamSignal : IEquatable<SpamSignal>
- Inheritance
-
SpamSignal
- Implements
- Inherited Members
Remarks
A signal is a fact rather than a contribution to a score: it states what was observed, not how much that observation moved a number. Two deployments that weigh the same observations differently therefore record the same signals, and a verdict can be re-derived from them under different settings without the message being read again.
The observation is text a mail server or a scanner wrote, so it is treated as untrusted input and as personal data: it can name a sending domain, and it is never written to a log or to telemetry. Only the count of signals, their kinds, and their names are safe to report.
Fields
- MaximumNameLength
The greatest length a signal name may carry.
- MaximumObservationLength
The greatest length an observation may carry before it is shortened to it.
Properties
- Kind
Gets what kind of fact the signal states.
- Name
Gets the name of the observed property: an authentication method, a header field, a folder alias, or a rule.
- Observation
Gets what was observed, or null when the signal is the observation.
- Provenance
Gets where the signal was read from.
Methods
- Create(SpamSignalKind, string, string?, SpamSignalProvenance)
Records one observed fact.