Mindket

cbx-indic-pii-extractor-58M

Newversion 1 · updated

Overview

Finds personal information such as names, phone numbers, Aadhaar and PAN in Indian-language and Indian English text and returns each value's position. The most accurate of three sizes, with 57.6M parameters.

cbx-indic-pii-extractor-58M is a kit in the Developer 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 files from this repository, including pii.py and requirements.txt
  • Modest memory, since the weights are about 230 MB in F32
Runs in
  • Python programs, through the PIIExtractor class in pii.py
  • CPU-only servers and laptops, or a GPU when one is available
  • Windows, macOS or Linux with Python
  • An optional ONNX Runtime route that the card describes
Start with
pip install -U huggingface_hub
hf download CobuildX-AI/cbx-indic-pii-extractor-58M --local-dir cbx-indic-pii-extractor-58M
cd cbx-indic-pii-extractor-58M

Platform

WindowsOperating system
macOSOperating system
LinuxOperating system

About

What it is

This 58M model from CobuildX-AI locates personal information, known as PII, inside Indian text. It tags each value with one of 27 label types, such as Aadhaar, PAN, UPI and IFSC, and returns the exact position. It covers 12 Indian languages plus Indian English, whether written in native script, romanised or mixed between languages. It is the most accurate of three sizes and the default the author recommends.

Who it suits

It suits developers who handle Indian-language messages and documents and need to find or mask personal data with the best accuracy the family offers.

IndustryWho uses itHow they use itExample
Banking and paymentsDevelopers of fintech appsMask UPI IDs, account numbers and card numbers in messagesA message with a PAN number comes back with the value replaced by its label
Customer supportBuilders of support toolsStrip personal details from chats before storing themNames, phone numbers and emails are replaced with their labels
HealthcareTeams building hospital softwareFind patient identifiers in free-text notesA hospital registration number is flagged as a patient ID

You can skip it if your text is not in an Indian language or Indian English.

Where to use it

  • Python programs, through the PIIExtractor class in pii.py
  • CPU-only servers and laptops, or a GPU when one is available
  • Windows, macOS or Linux with Python
  • An optional ONNX Runtime route that the card describes
Use caseWhoWhat they get back
Find personal dataData engineersA list of values with label, text, start and end
Redact messagesPrivacy teamsThe same text with each value replaced by its label
Filter to chosen labelsCompliance developersOnly the label types you ask for, such as names and Aadhaar

How to set it up

You need Python and a few minutes to download the repository.

  • Python with pip
  • The files from this repository, including pii.py and requirements.txt
  • Modest memory, since the weights are about 230 MB in F32
  1. Install the Hugging Face tools with Python.
  2. Download the repository into a local folder.
  3. Enter that folder.
  4. Install the packages from requirements.txt.
pip install -U huggingface_hub
hf download CobuildX-AI/cbx-indic-pii-extractor-58M --local-dir cbx-indic-pii-extractor-58M
cd cbx-indic-pii-extractor-58M
pip install -r requirements.txt

How to use it

Import PIIExtractor from pii.py, which loads the model once. Call extract to get the found values, or redact to replace them. Pass a list of labels to keep only some of them.

from pii import PIIExtractor

pii = PIIExtractor()                 # uses a GPU if one is available
pii.extract(text, labels=["PERSON", "AADHAAR"])   # keep only some labels

The card also offers a quick check of your setup:

python example.py
ToolWhat it does
PIIExtractorLoads the model once and works on any text you give it
extractReturns each value with its label, text, start and end
redactSwaps every found value for its label, or for text from a template you give
example.pyRuns four sample texts and prints what it finds

Example

You pass a Hindi sentence that gives a name, a mobile number and an email address. The extract call returns one entry per value with its label, text, start and end. The redact call returns the same sentence with each value replaced by its label, such as the PERSON tag.

For newcomers and experts

Think of it as a highlighter for personal details. You give it text, and it marks names, numbers and IDs. A first small try is to run example.py after the setup and read what it finds.

It was fine-tuned from mmBERT-small, a multilingual ModernBERT encoder, on synthetic Indian PII data. The vocabulary was cut from 256,000 to 40,000 tokens. Tokens for the Indian scripts and Urdu stay, along with all bytes and single characters, the tokens the training data needs, and the most frequent of the rest. Rarer words are split into smaller pieces. Load the tokenizer from this repository instead of the mmBERT one. The author says accuracy does not change with the cut, and the model ends up 2.4 times smaller.

  1. Read the text in any supported script
  2. Tag each span with one of 27 labels
  3. Return label, text and position
  4. Optionally replace each span with its label

Good to know

The card quotes these speeds, with the CPU runs using 8 threads.

Time per request
Short message on CPU37 ms
2000-character document on CPU250 ms
On a GPU13 ms
  • Context: 8,192 tokens are read in a single pass, and longer texts are split automatically
  • Masked values: a masked Aadhaar number or bank account is returned whole with its mask
  • Left unlabelled: codes that are not personal data, such as order, ticket or tracking numbers and public helplines
  • Other sizes: 36M and 17M versions exist, and the larger internal teacher model scores higher but is not released
  • Size: 57.6M parameters, about 230 MB in F32 and about 29 MB at 4-bit, which is an estimate
  • License: Apache 2.0
  • Cost to run: none named
  • Data it reaches: the text you give it and the files you download
  • Not for: labelling order, invoice or ticket numbers, which it leaves alone

README and files

README

cbx-indic-pii-extractor-58M

Finds personal information such as names, phone numbers, Aadhaar and PAN in Indian-language and Indian English text and returns each value's position. The most accurate of three sizes, with 57.6M parameters.

Made by CobuildX-AI 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: This 58M model from CobuildX-AI locates personal information, known as PII, inside Indian text. It tags each value with one of 27 label types, such as Aadhaar, PAN, UPI and IFSC, and returns the exact position. It covers 12 Indian languages plus Indian English, whether written in native script, romanised or mixed between languages. It is the most accurate of three sizes and the default the author recommends.

Who it suits: It suits developers who handle Indian-language messages and documents and need to find or mask personal data with the best accuracy the family offers.

Industry | Who uses it | How they use it | Example
Banking and payments | Developers of fintech apps | Mask UPI IDs, account numbers and card numbers in messages | A message with a PAN number comes back with the value replaced by its label
Customer support | Builders of support tools | Strip personal details from chats before storing them | Names, phone numbers and emails are replaced with their labels
Healthcare | Teams building hospital software | Find patient identifiers in free-text notes | A hospital registration number is flagged as a patient ID

You can skip it if your text is not in an Indian language or Indian English.

Where to use it:

  • Python programs, through the PIIExtractor class in pii.py
  • CPU-only servers and laptops, or a GPU when one is available
  • Windows, macOS or Linux with Python
  • An optional ONNX Runtime route that the card describes
Use case | Who | What they get back
Find personal data | Data engineers | A list of values with label, text, start and end
Redact messages | Privacy teams | The same text with each value replaced by its label
Filter to chosen labels | Compliance developers | Only the label types you ask for, such as names and Aadhaar

How to set it up: You need Python and a few minutes to download the repository.

  • Python with pip
  • The files from this repository, including pii.py and requirements.txt
  • Modest memory, since the weights are about 230 MB in F32
  1. Install the Hugging Face tools with Python.
  2. Download the repository into a local folder.
  3. Enter that folder.
  4. Install the packages from requirements.txt.
pip install -U huggingface_hub
hf download CobuildX-AI/cbx-indic-pii-extractor-58M --local-dir cbx-indic-pii-extractor-58M
cd cbx-indic-pii-extractor-58M
pip install -r requirements.txt

How to use it: Import PIIExtractor from pii.py, which loads the model once. Call extract to get the found values, or redact to replace them. Pass a list of labels to keep only some of them.

from pii import PIIExtractor

pii = PIIExtractor()                 # uses a GPU if one is available
pii.extract(text, labels=["PERSON", "AADHAAR"])   # keep only some labels

The card also offers a quick check of your setup:

python example.py
Tool | What it does
PIIExtractor | Loads the model once and works on any text you give it
extract | Returns each value with its label, text, start and end
redact | Swaps every found value for its label, or for text from a template you give
example.py | Runs four sample texts and prints what it finds

Example: You pass a Hindi sentence that gives a name, a mobile number and an email address. The extract call returns one entry per value with its label, text, start and end. The redact call returns the same sentence with each value replaced by its label, such as the PERSON tag.

For newcomers and experts: Think of it as a highlighter for personal details. You give it text, and it marks names, numbers and IDs. A first small try is to run example.py after the setup and read what it finds.

It was fine-tuned from mmBERT-small, a multilingual ModernBERT encoder, on synthetic Indian PII data. The vocabulary was cut from 256,000 to 40,000 tokens. Tokens for the Indian scripts and Urdu stay, along with all bytes and single characters, the tokens the training data needs, and the most frequent of the rest. Rarer words are split into smaller pieces. Load the tokenizer from this repository instead of the mmBERT one. The author says accuracy does not change with the cut, and the model ends up 2.4 times smaller.

Read the text in any supported script
Tag each span with one of 27 labels
Return label, text and position
Optionally replace each span with its label

Good to know: The card quotes these speeds, with the CPU runs using 8 threads.

Title: Time per request
Short message on CPU: 37 ms
2000-character document on CPU: 250 ms
On a GPU: 13 ms
  • Context: 8,192 tokens are read in a single pass, and longer texts are split automatically
  • Masked values: a masked Aadhaar number or bank account is returned whole with its mask
  • Left unlabelled: codes that are not personal data, such as order, ticket or tracking numbers and public helplines
  • Other sizes: 36M and 17M versions exist, and the larger internal teacher model scores higher but is not released
  • Size: 57.6M parameters, about 230 MB in F32 and about 29 MB at 4-bit, which is an estimate
  • License: Apache 2.0
  • Cost to run: none named
  • Data it reaches: the text you give it and the files you download
  • Not for: labelling order, invoice or ticket numbers, which it leaves alone

On Hugging Face, 13 November 2026

  • Task: token classification
  • Parameters: 57.6M
  • Weights: about 230 MB in F32; about 29 MB at 4-bit (estimate)
  • Formats: Safetensors
  • Downloads in the last 30 days: 96
  • Likes: 4
  • License: apache-2.0
  • Languages: hi, bn, mr, ta, te, kn, ml, gu
  • Based on: jhu-clsp/mmBERT-small
  • Tags: onnx, safetensors, modernbert, privacy, redaction, indic, token-classification

Links

Get the model

Download its files with Hugging Face's command line:

pip install -U huggingface_hub
hf download CobuildX-AI/cbx-indic-pii-extractor-58M

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
cbx-indic-pii-extractor-58M This page96457.6Mapache-2.0
cbx-indic-pii-extractor-17MShares redaction · privacy · token-classification76316.7Mapache-2.0
AstrLink GuardShares privacy · token-classification · onnx40829—apache-2.0
bert-base-NERShares token-classification · onnx · safetensors1,038,928750108Mmit
OpenAI Privacy FilterShares token-classification · onnx · safetensors102,9111,8311.4Bapache-2.0
UltraBERT-150M-clairic-extractionShares token-classification · onnx · safetensors1385151Mapache-2.0
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

anaksor-ocr

Sokheng · Kit

Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…

New

Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…

New

ACE-Step 1.5 XL SFT

ACE-Step · Kit

Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…

New

Similar in Developer

See all in Developer

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

buzz

block · Kit

Self-hostable workspace where people and AI agents share the same rooms, built on a Nostr relay that logs every action as a signed event. For teams that want t…

New37.3k

plannotator

backnotprop · Kit

Opens your AI coding agent's plans, specs and code changes in a browser so you can annotate or comment on them and send the feedback straight back to the agent.

New10.5k