OPF detector
opf-ru-v2 PII detection benchmark
Measured on 41 of 41 retained datasets under the same frozen scoring and masking protocol.
47.51%fully hidden annotations
57.15%detected / overlapped
6.70%extra masking
2,886CPU characters / second
Strengths
Highest complete-masking rates by normalized data type.
Phone numbers & email83.43%18,339 / 21,981
Passwords, keys & tokens82.68%5,680 / 6,870
Documents & identifiers65.68%9,875 / 15,034
Watch list
Lowest observed complete-masking rates; inspect before deployment.
Dates & times0.53%29 / 5,502
Organizations6.68%1,288 / 19,274
Other sensitive attributes7.20%231 / 3,207
Language coverage
The overall leader can differ from the best choice for one language slice.
| Language | Datasets | Fully hidden ↑ | Detected ↑ | Extra masking ↓ |
|---|---|---|---|---|
| English | 17 | 54.29% | 59.68% | 7.25% |
| Russian | 19 | 45.53% | 57.03% | 5.71% |
| Multilingual | 5 | 47.77% | 55.67% | 0.12% |
Configuration, source and version
- Family
- OPF
- Revision
- 7975e895ed59a7c58e9ab2dbb7d739fd246086b4
- Eligible datasets
- 41 / 41
- Character F1
- 0.629
- Untouched diagnostic
- 42.85% · 97,473 / 227,466
- Benchmark version
- 1.0.3 · 2026-09-09
- CPU seconds / 10k chars
- 3.465
- 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 ↓ |
|---|---|---|---|---|
| multiconer-ru | 1,208 | 3.06% | 6.79% | 0.95% |
| rubai-ru | 3,458 | 5.44% | 94.53% | — |
| nerel | 24,369 | 16.69% | 19.26% | — |
| tab-echr | 3,830 | 19.19% | 21.67% | — |
| dialogpii-multi | 10,345 | 22.64% | 28.94% | — |
| alexen2 | 1,261 | 23.31% | 92.07% | 10.24% |
| factrueval | 7,966 | 23.34% | 23.93% | — |
| dialogpii-en | 3,087 | 32.30% | 37.29% | 5.04% |
| tonicai | 2,417 | 38.39% | 41.58% | 0.02% |
| ameau01 | 2,242 | 42.51% | 45.58% | 1.00% |
| corrupt-redmadrobot | 5,531 | 44.31% | 58.69% | 1.06% |
| jayguard | 1,195 | 44.60% | 57.32% | 1.15% |
| synth-ru-tickets | 32,099 | 44.75% | 58.73% | — |
| privy | 1,899 | 51.13% | 60.45% | 8.16% |
| redact-multi | 22,864 | 52.35% | 61.83% | — |
| nym-multi | 8,169 | 52.59% | 60.73% | 0.00% |
| gretel-multi | 4,484 | 52.65% | 62.58% | 0.12% |
| nemotron-pii | 9,391 | 56.06% | 61.90% | 0.00% |
| scanpatch | 8,708 | 56.45% | 67.19% | 1.03% |
| nym-en | 3,584 | 56.61% | 63.17% | 0.31% |
| leaky-repo | 95 | 56.84% | 76.84% | 0.56% |
| redmadrobot | 5,516 | 57.43% | 67.69% | 0.76% |
| kiji-multi | 7,565 | 60.22% | 64.07% | — |
| leak-museum | 101 | 61.39% | 71.29% | 2.23% |
| nym-ru | 9,497 | 61.97% | 70.41% | — |
| synth-wiki-tables | 13,094 | 63.30% | 73.51% | — |
| redact-ru | 9,230 | 63.42% | 72.23% | 6.89% |
| synth-jira-comments | 2,705 | 65.06% | 71.24% | — |
| synth-env-configs | 392 | 66.58% | 97.96% | 20.78% |
| corrupt-hivetrace | 1,667 | 68.27% | 87.22% | 1.65% |
| alrosait | 1,862 | 69.07% | 89.10% | 3.42% |
| corrupt-secrets-issues | 288 | 70.14% | 93.06% | 3.73% |
| secrets-issues | 288 | 71.18% | 95.14% | 3.53% |
| kiji-en | 7,623 | 73.61% | 76.69% | — |
| synth-secrets-en | 581 | 78.66% | 96.04% | 32.22% |
| synth-secrets-ru | 581 | 80.90% | 97.42% | 33.15% |
| russian-pii-66k | 4,805 | 85.49% | 87.22% | — |
| hivetrace | 1,667 | 86.62% | 92.50% | 0.38% |
| creddata | 776 | 90.85% | 95.62% | 2.56% |
| arthur-passwords | 280 | 94.29% | 94.29% | 11.59% |
| secrets-rules | 746 | 97.18% | 98.79% | 40.24% |