Interface ISensitiveContentCatalog
- Namespace
- MailFathom.Application.SensitiveContent.Detection
- Assembly
- MailFathom.Application.dll
Declares everything one scanner can look for, so configuration naming it can be judged before it runs.
public interface ISensitiveContentCatalog
Remarks
This is the seam the two switches are validated through. The configuration binder drops a list item it cannot bind and carries on, so a mistyped category name would otherwise leave that category off while an operator reads their own file as proof that it is on — the quiet failure this whole feature exists to prevent. Startup matches every configured name against a catalog and refuses to start when one matches nothing.
A catalog says what a scanner knows, never what a deployment asked for. It is therefore free of configuration and can be read before any of it is resolved, which is what lets validation, defaulting, and canonical spelling all come from one place.
A scanner registers a catalog of its own. Nothing here registers one, so a switch turned on in a deployment carrying no scanner fails at startup rather than running unprotected.
Properties
- Categories
Gets every category the scanner can look for, with the rules inside each.
- Scanner
Gets which of the two switches this catalog belongs to.