Class PersonalDataAnalyzerProfile
- Assembly
- MailFathom.Infrastructure.dll
Where the personal-data analyzer is, which languages it is asked in, and what a finding it produced is attributed to.
public sealed record PersonalDataAnalyzerProfile : IEquatable<PersonalDataAnalyzerProfile>
- Inheritance
-
PersonalDataAnalyzerProfile
- Implements
- Inherited Members
Remarks
The analyzer is expected to be deployment-local. The whole point of scanning is that content is inspected before it leaves the trust boundary, so an address on the public internet defeats the feature: the mail is then handed to a third party in order to find out whether it may be handed to a third party. Nothing here prevents it, because a deployment may legitimately run one analyzer for several services inside its own network, and no rule about addresses could tell the two cases apart.
The languages belong here rather than beside the categories because they are a property of the analyzer's own configuration: a model is loaded per language and a recognizer registered per language, so asking in one the analyzer has none for is refused rather than answered. They are part of the detector revision for the same reason the mapping is — the same text asked in two sets of languages is two results, and a consumer that stored one has to be able to say which.
The confidence floor is part of that revision too, and the line between what belongs in it and what does not is which side of the boundary applies the value. The floor travels on the request and the analyzer enforces it, so a finding below it never crosses the boundary and two deployments differing only there were not asked the same question. The categories and the suppressions are what stay out: the plan applies those here, over an answer both deployments received in full.
Fields
- MaximumLanguages
The greatest number of languages one deployment may be configured to ask in.
- TransportName
The name of the outbound client every call to the analyzer is made through.
Properties
- Detector
Gets the identity and revision every finding this scanner produces carries.
- Endpoint
Gets the analyzer's base address.
- Languages
Gets the languages the analyzer is asked in, each a two-letter code, deduplicated and ordered.
- MinimumConfidence
Gets how sure the analyzer must be before a finding is reported, from 0 to 1.
Methods
- Create(Uri, IEnumerable<string>, double)
Composes the profile a configured analyzer is reached under.
- ToString()
Returns a string that represents the current object.