03Quality

How well do we mask?

Precision, recall and F1 per entity type, measured on our Swiss evaluation dataset — plus pipeline latency.

These figures come from our production masking. The live demo in this portal uses a weaker version of the masking package, so its results may fall below these figures.

Precision

87.5 %

Recall

100.0 %

F1 score

93.3 %

Per entity type
Entity typeSamplesPrecisionRecall
Name3070994.7%100.0%
Email12530100.0%100.0%
Phone10000100.0%100.0%
Street10000100.0%100.0%
Postal code10000100.0%100.0%
City1000098.6%100.0%
Customer no.8751100.0%100.0%
AHV/SSN8756100.0%100.0%
Date of birth7478100.0%100.0%
IBAN4969100.0%100.0%
Specially protected data495430.1% *99.1%
ID document3735100.0%100.0%
BIC2490100.0%100.0%
Tax ID1249100.0%100.0%
Credit card1244100.0%100.0%

* Low precision is intentional here (clause-level masking — better too much than too little).

Dataset: synthetic Swiss test set of 10,000 emails with about 128,000 labelled values, never used to tune the detection. Recall and precision come from one full run.
Method: multi-stage detection combining rules and locally running AI, followed by a final safety check of the masked text.
Scoring: per value — counts whether a value was masked. Masking too much counts as a false alarm and lowers precision.

Latency

Text · Median (p50)

678 ms

Text · p95

979 ms

PDF · Median (p50)

—

PDF · p95

—

ms per document