OPF detector
opf-ru-v2+sent300 PII detection benchmark
Measured on 11 of 41 retained datasets under the same frozen scoring and masking protocol.
41.91%fully hidden annotations
48.73%detected / overlapped
3.21%extra masking
—CPU characters / second
Strengths
Highest complete-masking rates by normalized data type.
Phone numbers & email84.24%4,841 / 5,747
Passwords, keys & tokens83.55%1,600 / 1,915
Bank accounts & cards76.02%580 / 763
Watch list
Lowest observed complete-masking rates; inspect before deployment.
Dates & times0.33%2 / 601
Organizations6.80%892 / 13,123
Other sensitive attributes8.32%74 / 889
Language coverage
The overall leader can differ from the best choice for one language slice.
| Language | Datasets | Fully hidden ↑ | Detected ↑ | Extra masking ↓ |
|---|---|---|---|---|
| English | 6 | 46.20% | 51.73% | 3.49% |
| Russian | 5 | 40.91% | 48.04% | 1.38% |
Configuration, source and version
- Family
- OPF
- Revision
- 7975e895ed59a7c58e9ab2dbb7d739fd246086b4
- Eligible datasets
- 11 / 41
- Character F1
- 0.573
- Untouched diagnostic
- 51.27% · 47,334 / 92,332
- Benchmark version
- 1.0.3 · 2026-09-09
- CPU seconds / 10k chars
- Not measured
- GPU seconds / 10k chars
- Not measured
Results by dataset
Complete masking is primary; detection shows whether any character overlapped.
| Dataset | Gold annotations | Fully hidden ↑ | Detected ↑ | Extra masking ↓ |
|---|---|---|---|---|
| tab-echr | 3,830 | 19.06% | 22.79% | — |
| nerel | 24,369 | 20.13% | 22.95% | — |
| factrueval | 7,966 | 26.35% | 27.07% | — |
| dialogpii-en | 3,087 | 32.85% | 37.64% | 4.36% |
| jayguard | 1,195 | 45.61% | 58.74% | 1.25% |
| synth-ru-tickets | 32,099 | 53.38% | 64.62% | — |
| nemotron-pii | 9,391 | 57.01% | 62.93% | 0.00% |
| leak-museum | 101 | 63.37% | 73.27% | 2.17% |
| redact-ru | 9,230 | 64.40% | 73.32% | 6.40% |
| secrets-issues | 288 | 71.88% | 96.53% | 3.78% |
| creddata | 776 | 90.59% | 95.62% | 2.69% |