
Yeco Flash Mini-IT v1
118M-parameter Italian micro-LLM, trained for under €15, ~200 tok/s on CPU. Beats 5× larger models on Italian logic benchmarks.
The second generation of our 278M PII model: 30 entity types, average F1 0.97 across six European languages vs 0.80 for the OpenAI Privacy Filter (1.5B) and 0.67 for Rizzo-PII (0.3B). Cryptographically signed release.

Introducing Yeco-PII 2.0, the second generation of our model that detects and anonymizes personal data in text. It is more accurate, recognizes more data types and outperforms much larger models, especially in Italian. With this release we are also opening our dedicated fine-tuning program: starting from this base, we train custom variants for each company's specific fields.
v1.0 proved the thesis: context beats checksums. But the error analysis was honest, and the gaps were documented. In technical logs, IPv6 addresses went unseen. Usernames generated without a name-based structure (the real ones, user447198, txgmssfpc284937) slipped through unless they looked like a firstname.lastname. Plaintext passwords in support tickets were not typed. And in banking, “last card ending in 4821” was mistaken for a ZIP code.
The diagnosis was more interesting than the individual fixes: v1.0’s training dataset, built on real rows annotated by third parties, deliberately left out exactly those categories, and the model had learned to ignore them. It was not an architecture limit, but a limit of ground truth in the training data. 2.0 is built on a dataset rebuilt from scratch (154,000 documents, zero errors after automatic validation of every span), where every category has real examples, contrastive synthetic examples (same surface, opposite label depending on context: a customer’s “Via Roma 42” vs “Via Roma” cited as an example), and hostile negatives (MAC addresses, UUIDs, DOIs, and technical coefficients that must not be touched). 2.0 is not an incremental update: it is the generation that closes the research loop, with purely contextual detection, no regex, and full coverage of the digital and physical identifiers that dominate real documents.
Yeco-PII 2.0 is a 278M-parameter encoder, fine-tuned for token-level entity recognition across 30 protected types: names, organizations, tax IDs (codice fiscale), VAT numbers, IBAN, credit cards and last 4 digits, emails, phone numbers, birth dates vs reference dates, full addresses, ZIP codes, provinces, countries, age, gender, amounts, document references, license plates, cadastral data, URLs, IPv4 and IPv6, usernames, plaintext passwords, GPS coordinates, and more. The model is a full fine-tune of XLM-RoBERTa base, used as the starting point. It ships in standard HuggingFace format (~1.1 GB), with an int8-quantized ONNX version (278 MB) for CPU, and a policy engine that turns detection into production-ready redaction.
The feature most requested by our enterprise partners: every file in the release package is cryptographically signed (ECDSA). With the public key we provide, your IT department verifies with a single command that the installed model is exactly the one validated by YecoAI: unaltered, with no substitutions along the distribution chain. Provenance that is demonstrable, not declared.
Evaluation uses real-world rows never seen in training, annotated by a third party (Ai4Privacy), with the identical set for every model, now with the gold standard extended to all 30 types, including what the previous generation could not see.
The result: average F1 0.97 across six European languages against 0.80 for the OpenAI Privacy Filter (1.5B, 5.4× larger) and 0.67 for Rizzo-PII (0.3B), and 0.98 on Italian, our primary language.
| Language | Yeco-PII 2.0 (278M) | Rizzo-PII (0.3B) | OpenAI Privacy Filter (1.5B) |
|---|---|---|---|
| Italian | 0.98 | 0.68 | 0.80 |
| English | 0.96 | 0.69 | 0.79 |
| French | 0.99 | 0.67 | 0.80 |
| German | 0.99 | 0.67 | 0.80 |
| Spanish | 0.99 | 0.72 | 0.81 |
| Dutch | 0.94 | 0.60 | 0.78 |
| 6-language average | 0.97 | 0.67 | 0.80 |
Compared to v1.0, the types go from 24 to 30: added IPv6 addresses, usernames, plaintext passwords, country, GPS coordinates, and card last 4 digits.
| Entity | F1 |
|---|---|
| Full name | 0.97 |
| Italian tax code (codice fiscale)* | 1.00 |
| VAT number (Partita IVA)* | 1.00 |
| IBAN* | 1.00 |
| Credit card* | 1.00 |
| Card last 4 digits* | 1.00 |
| Cadastral code* | 1.00 |
| License plate* | 1.00 |
| Document/case number | 0.98 |
| 1.00 | |
| Phone/fax | 0.98 |
| IP address v4/v6 | 1.00 |
| Username | 0.99 |
| URL* | 1.00 |
| Street/square | 0.96 |
| House number | 0.96 |
| Postal code (CAP) | 0.96 |
| City | 0.96 |
| Province | 0.95 |
| Country | 0.94 |
| GPS coordinates | 0.90 |
| Reference date | 0.97 |
| Date of birth | 0.96 |
| Time | 0.99 |
| Age* | 1.00 |
| Gender | 0.99 |
| Organization* | 1.00 |
| Amount* | 1.00 |
* Type not present in the real Ai4Privacy set: value from the v2 adversarial suite (synthetic samples, indicative). n/a = not yet certified (Plaintext password, Document reference): passwords and document references are the rarest types in training; if they are critical for your use case, request a dedicated evaluation.
Honest reporting includes the misses. Three areas remain: ultra-short contexts (an IBAN isolated in a three-word sentence falls below the confidence threshold; this does not happen in real documents), partially structured verbal dates in complex legal prose, and entities split by formatting artifacts (an “M. Greco” recognized as a single token). None is an architecture limit: all are in the hard pool of the next data cycle, and the first is documented as known behavior in the model card.
As in v1.0, the policy engine turns spans into actions: masking with type tags ([IBAN], [FULLNAME]), replacement with format-preserving surrogates, or consistent per-customer mappings across entire corpora. Policies are defined in JSON or natural language and apply with no retraining.
This is what sets us apart from vendors selling a closed model. Yeco-PII 2.0 is, in all likelihood, our final PII model as a generation: the base (architecture, multilingual dataset, the 30 types) stays as it is and remains the foundation of every variant. From here on, improvement will come from specialization, not from a new generation: the companies and banks that contact us tell us which specific fields their domain is missing. What varies is the tail, and the tail is yours:
Contact us at [email protected]: we collect the specific fields your domain requires, generate the specialization dataset, and train a fine-tuned variant of the 2.0 base, delivered signed, with your data types as first-class entities. A specialization cycle costs a few GPU hours: iterating is cheap, and the model stays yours, inside your perimeter.
The first step is an API trial on the customer’s own documents; licensing is a one-time payment with on-premises delivery (HuggingFace, ONNX, ONNX int8, or GGUF, all signed). The model runs entirely within the client’s perimeter, with no per-request fees and no data egress. Inside YecoAI, Yeco-PII remains the privacy layer of DeskNexo.
v1.0 showed that the PII problem rewards understanding over scale. 2.0 closes the loop: 30 data types, F1 0.97 across six languages, measured adversarial robustness, cryptographically signed provenance, and a declared evolution model: the base is final, specialization belongs to the customer. For organizations with a compliance obligation, hosting, healthcare, banking, public administration, the result is practical: GDPR-grade anonymization that fits on a VM, licensed once, running where the data already lives.
Context beats checksums, and a good dataset beats a bigger model. Privacy is a language problem: this is our answer, and probably the last one you will need from the PII series. Bring us your missing fields: the base is ready.

118M-parameter Italian micro-LLM, trained for under €15, ~200 tok/s on CPU. Beats 5× larger models on Italian logic benchmarks.

A heavily optimized fine-tune of Qwen2.5-Coder-3B on EnderDevelopment data. Internal to EnderDevelopment only: no open weights, no public API. Staged rollout: Premium first, then new free users, then everyone.

Proprietary 278M model. Beats Rizzo-PII (0.3B) and OpenAI Privacy Filter (1.5B) on all 6 European languages, average F1 0.97 vs 0.77 vs 0.71.