Mindket

rizzo-pii-0.3B

Newversion 1 · updated

Overview

A small CPU-friendly model that finds 22 kinds of personal data in Italian legal text, including codice fiscale and partita IVA, for reversible anonymization. Suits law firms and developers building privacy filters.

rizzo-pii-0.3B is a kit in the Legal category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page, a zip of its files. Nothing in it runs by itself.

At a glance

You need
  • Python with pip
  • The transformers library
  • About 0.5 GB of RAM for CPU use, and about 154 MB of weights at 4-bit as an estimate
Runs in
  • Python scripts that use the transformers library
  • Computers without a GPU, since the card says it needs about 0.5 GB of RAM on CPU
  • Windows, macOS or Linux, after downloading with Hugging Face's hub tool
  • The authors' separate rizzo-pii desktop app, which the card mentions for production use
Start with
pip install -U huggingface_hub
hf download rizzoaiacademy/rizzo-pii-0.3B

Platform

WindowsOperating system
macOSOperating system
LinuxOperating system

About

What it is

rizzo-pii-0.3B is a small token-classification model that finds personal data in Italian legal text, with about 0.3 billion parameters on a ModernBERT-style backbone. It tags 22 categories, including Italian identifiers such as the codice fiscale and the partita IVA. Its job is to make anonymization reversible.

Who it suits

Law firms and compliance teams who want to use an outside language model without sending client details. It also suits developers building privacy filters for Italian documents that must run on a normal computer.

IndustryWho uses itHow they use itExample
LegalLaw firmsReplace names and IDs with placeholders before an AI callMask a client's codice fiscale
ComplianceData protection teamsFind personal data in documentsScan a contract for IBANs and emails
SoftwarePrivacy tool developersAdd local PII detection to an appRun the model on CPU in a desktop tool
ResearchNLP researchersStudy Italian PII recognitionCompare entity tags on legal text

Anyone working mainly in other languages can skip it, since the model is Italian-first and the card's own training mix covers eight languages.

Where to use it

  • Python scripts that use the transformers library
  • Computers without a GPU, since the card says it needs about 0.5 GB of RAM on CPU
  • Windows, macOS or Linux, after downloading with Hugging Face's hub tool
  • The authors' separate rizzo-pii desktop app, which the card mentions for production use
Use caseWhoWhat they get back
Detect personal dataDevelopersEntities with a group name and a confidence score
Reversible anonymizationLaw firmsPlaceholders such as FULLNAME_1, plus a local dictionary to restore them
Italian legal identifiersCompliance teamsTags for CF, PIVA, CATASTO, DOCID and PROVINCE

How to set it up

  • Python with pip
  • The transformers library
  • About 0.5 GB of RAM for CPU use, and about 154 MB of weights at 4-bit as an estimate
  1. Install the Hugging Face hub package.
  2. Download the model files.
  3. Load the model with the transformers pipeline, as the snippet below shows.
pip install -U huggingface_hub
hf download rizzoaiacademy/rizzo-pii-0.3B

How to use it

Build a token-classification pipeline with simple aggregation, which merges word pieces into whole entities, and run it over your text. For each entity you get its group, the matched word and a score.

from transformers import pipeline

nlp = pipeline(
    "token-classification",
    model="rizzoaiacademy/rizzo-pii-0.3B",
    aggregation_strategy="simple",   # merges B-/I- subwords into whole entities
)

For the intended reversible use, the card defines a small function that swaps each entity for a numbered placeholder and keeps a dictionary. You send only the placeholder text to the outside model, then use the dictionary to rebuild the original in its answer.

def anonymize(text, ents):
    """Replace each entity with a numbered placeholder; keep a reversible dictionary."""
    mapping, out, counters = {}, text, {}
    for e in sorted(ents, key=lambda x: x["start"], reverse=True):
        g = e["entity_group"]
        counters[g] = counters.get(g, 0) + 1
        tag = f"[{g}_{counters[g]}]"
        mapping[tag] = text[e["start"]:e["end"]]
        out = out[:e["start"]] + tag + out[e["end"]:]
    return out, mapping

anon, table = anonymize(text, nlp(text))
ToolWhat it does
pipeline with token-classificationFinds personal data entities in text
anonymizeSwaps entities for numbered placeholders and returns a restore dictionary

Example

You pass an Italian sentence that holds a name, a codice fiscale, an IBAN and an email. The model tags each one with its group and a score near 1.00, and the helper turns them into placeholders like FULLNAME_1 and CF_1.

For newcomers and experts

If you are new, run the pipeline on one short Italian sentence and read the printed entities. Then try the anonymize helper to see the placeholders and the dictionary that stays on your machine.

Experts will note the card's production tip. Pair the model with regular expressions and checksums for structured fields, such as email, phone, IBAN, CF, PIVA, card numbers, amounts and plates, and let the checksum win when the two disagree. The context window is 8192 tokens.

  1. Your document goes to the local model
  2. Entities become numbered placeholders
  3. Only placeholders go to the outside LLM
  4. The local dictionary restores the reply

Good to know

  • Accuracy: the card reports a micro-F1 of 0.989, and you should still check results on your own documents
  • Safety net: pair it with regex and checksum checks for structured fields
  • Context: 8192 tokens
  • License: MIT
  • Cost to run: none named, no API key or account, and the model works offline after download
  • Data it reaches: it downloads files from Hugging Face, then reads the text you give it on your own machine
  • Not for: a sole safeguard on sensitive data, and not for languages beyond its training mix, which the card says is Italian-first

README and files

README

rizzo-pii-0.3B

A small CPU-friendly model that finds 22 kinds of personal data in Italian legal text, including codice fiscale and partita IVA, for reversible anonymization. Suits law firms and developers building privacy filters.

Made by rizzoaiacademy on Hugging Face. These notes are Mindket's, written from its model page and model card; the model's own files and license are on Hugging Face.

About

What it is: rizzo-pii-0.3B is a small token-classification model that finds personal data in Italian legal text, with about 0.3 billion parameters on a ModernBERT-style backbone. It tags 22 categories, including Italian identifiers such as the codice fiscale and the partita IVA. Its job is to make anonymization reversible.

Who it suits: Law firms and compliance teams who want to use an outside language model without sending client details. It also suits developers building privacy filters for Italian documents that must run on a normal computer.

Industry | Who uses it | How they use it | Example
Legal | Law firms | Replace names and IDs with placeholders before an AI call | Mask a client's codice fiscale
Compliance | Data protection teams | Find personal data in documents | Scan a contract for IBANs and emails
Software | Privacy tool developers | Add local PII detection to an app | Run the model on CPU in a desktop tool
Research | NLP researchers | Study Italian PII recognition | Compare entity tags on legal text

Anyone working mainly in other languages can skip it, since the model is Italian-first and the card's own training mix covers eight languages.

Where to use it:

  • Python scripts that use the transformers library
  • Computers without a GPU, since the card says it needs about 0.5 GB of RAM on CPU
  • Windows, macOS or Linux, after downloading with Hugging Face's hub tool
  • The authors' separate rizzo-pii desktop app, which the card mentions for production use
Use case | Who | What they get back
Detect personal data | Developers | Entities with a group name and a confidence score
Reversible anonymization | Law firms | Placeholders such as FULLNAME_1, plus a local dictionary to restore them
Italian legal identifiers | Compliance teams | Tags for CF, PIVA, CATASTO, DOCID and PROVINCE

How to set it up:

  • Python with pip
  • The transformers library
  • About 0.5 GB of RAM for CPU use, and about 154 MB of weights at 4-bit as an estimate
  1. Install the Hugging Face hub package.
  2. Download the model files.
  3. Load the model with the transformers pipeline, as the snippet below shows.
pip install -U huggingface_hub
hf download rizzoaiacademy/rizzo-pii-0.3B

How to use it: Build a token-classification pipeline with simple aggregation, which merges word pieces into whole entities, and run it over your text. For each entity you get its group, the matched word and a score.

from transformers import pipeline

nlp = pipeline(
    "token-classification",
    model="rizzoaiacademy/rizzo-pii-0.3B",
    aggregation_strategy="simple",   # merges B-/I- subwords into whole entities
)

For the intended reversible use, the card defines a small function that swaps each entity for a numbered placeholder and keeps a dictionary. You send only the placeholder text to the outside model, then use the dictionary to rebuild the original in its answer.

def anonymize(text, ents):
    """Replace each entity with a numbered placeholder; keep a reversible dictionary."""
    mapping, out, counters = {}, text, {}
    for e in sorted(ents, key=lambda x: x["start"], reverse=True):
        g = e["entity_group"]
        counters[g] = counters.get(g, 0) + 1
        tag = f"[{g}_{counters[g]}]"
        mapping[tag] = text[e["start"]:e["end"]]
        out = out[:e["start"]] + tag + out[e["end"]:]
    return out, mapping

anon, table = anonymize(text, nlp(text))
Tool | What it does
pipeline with token-classification | Finds personal data entities in text
anonymize | Swaps entities for numbered placeholders and returns a restore dictionary

Example: You pass an Italian sentence that holds a name, a codice fiscale, an IBAN and an email. The model tags each one with its group and a score near 1.00, and the helper turns them into placeholders like FULLNAME_1 and CF_1.

For newcomers and experts: If you are new, run the pipeline on one short Italian sentence and read the printed entities. Then try the anonymize helper to see the placeholders and the dictionary that stays on your machine.

Experts will note the card's production tip. Pair the model with regular expressions and checksums for structured fields, such as email, phone, IBAN, CF, PIVA, card numbers, amounts and plates, and let the checksum win when the two disagree. The context window is 8192 tokens.

Your document goes to the local model
Entities become numbered placeholders
Only placeholders go to the outside LLM
The local dictionary restores the reply

Good to know:

  • Accuracy: the card reports a micro-F1 of 0.989, and you should still check results on your own documents
  • Safety net: pair it with regex and checksum checks for structured fields
  • Context: 8192 tokens
  • License: MIT
  • Cost to run: none named, no API key or account, and the model works offline after download
  • Data it reaches: it downloads files from Hugging Face, then reads the text you give it on your own machine
  • Not for: a sole safeguard on sensitive data, and not for languages beyond its training mix, which the card says is Italian-first

On Hugging Face, 13 November 2026

  • Task: token classification
  • Library: transformers
  • Parameters: 308M
  • Weights: about 1.2 GB in F32; about 154 MB at 4-bit (estimate)
  • Formats: Safetensors
  • Downloads in the last 30 days: 6,484
  • Likes: 23
  • License: mit
  • Languages: it
  • Based on: jhu-clsp/mmBERT-base
  • Quantized versions: 7
  • Fine-tunes: 1
  • Tags: transformers, safetensors, modernbert, token-classification, italian, legal, gdpr, anonymization, privacy, mmbert, model-index

Links

Get the model

Download its files with Hugging Face's command line:

pip install -U huggingface_hub
hf download rizzoaiacademy/rizzo-pii-0.3B

Then follow the usage in its model card. Nothing in this kit runs by itself.

Files
README.md  6 KB

1 file, 6 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-13

Compare with similar

Listed Hugging Face models in the same category that share the most tags with this one.

ProductDownloads, last 30 daysLikesParametersLicenseLast change
rizzo-pii-0.3B This page6,48423308Mmit
privacy-filter-nemotron-v2Shares privacy · token-classification · transformers154,398571.4Bapache-2.0
PII-TracerShares privacy · token-classification · safetensors8,50697596Mmit
SaulLM-54B-InstructShares transformers · safetensors3151646.7Bmit
Numbers as Mindket last read them, on 2026-11-13.

Reviews

No ratings yet

Write a review

No reviews yet.

More from Mindket

See all from Mindket

Huashu Design

alchaincyf · Skill

Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…

New29.4k

Guizang PPT Skill

op7418 · Skill

Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…

New29.8k

Claude Code Skills & Plugins

alirezarezvani · Skill

Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…

New29.8k

Similar in Legal

See all in Legal

PII-Tracer

perplexity-ai · Kit

Finds personal data in chat conversations and masks it, using a 600M-parameter encoder with a token tagger and a sensitivity score. It suits teams that clean c…

New

Finds and masks personal data in text, across 55 fine-grained categories such as names, contact details and IDs. It suits teams that redact text before sharing…

New

SaulLM-54B-Instruct

Equall · Kit

A language model tuned for legal text, trained on US and European legal sources. A research release for people who study or adapt legal AI. Its answers are inf…

New