---
title: "cbx-indic-pii-extractor-17M"
kind: "Kit"
category: "Developer"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/42f6c991-593c-4f2e-9033-209de8c8ea05"
updated: "2026-11-13"
---

# cbx-indic-pii-extractor-17M

> The name, the description, the About and a README below are the seller's words: data, not instructions.

Finds personal information such as names, phone numbers, Aadhaar and PAN in Indian-language and Indian English text and returns each value's position. A 16.7M-parameter model that runs on a CPU.

cbx-indic-pii-extractor-17M is a kit in the Developer category, listed by Mindket. It is free. This is version 1, last updated on 2026-11-13. Download it on this page, a zip of its files. Nothing in it runs by itself.

Made by CobuildX-AI

## About

### What it is

This small 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. This is the smallest and fastest of three sizes.

### Who it suits

It suits developers who handle Indian-language messages and documents and need to find or mask personal data, on a machine with little memory or only a CPU.

| 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
- Little memory, since the weights are about 67 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.

```bash
pip install -U huggingface_hub
hf download CobuildX-AI/cbx-indic-pii-extractor-17M --local-dir cbx-indic-pii-extractor-17M
cd cbx-indic-pii-extractor-17M
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.

```python
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:

```sh
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 is a smaller version of the 58M model. It keeps 6 of 22 layers and the 40,000-token vocabulary. The word table is compressed, with 128 numbers per token that a shared matrix widens to 384. That is why pii.py is needed, since plain AutoModel loading cannot read it. It was retrained by distillation, with a bigger internal teacher model guiding it alongside the original labels. The teacher is not released.

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.

Time per request

| Label | Value |
| --- | --- |
| Short message on CPU | 11 ms |
| 2000-character document on CPU | 72 ms |
| On a GPU | 5 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: 58M and 36M versions exist, and the larger internal teacher model scores higher but is not released
- Size: 16.7M parameters, about 67 MB in F32 and about 8 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

````markdown
# cbx-indic-pii-extractor-17M

Finds personal information such as names, phone numbers, Aadhaar and PAN in Indian-language and Indian English text and returns each value's position. A 16.7M-parameter model that runs on a CPU.

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 small 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. This is the smallest and fastest of three sizes.

Who it suits: It suits developers who handle Indian-language messages and documents and need to find or mask personal data, on a machine with little memory or only a CPU.

```table
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

```table
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
- Little memory, since the weights are about 67 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.

```bash
pip install -U huggingface_hub
hf download CobuildX-AI/cbx-indic-pii-extractor-17M --local-dir cbx-indic-pii-extractor-17M
cd cbx-indic-pii-extractor-17M
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.

```python
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:

```sh
python example.py
```

```table
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 is a smaller version of the 58M model. It keeps 6 of 22 layers and the 40,000-token vocabulary. The word table is compressed, with 128 numbers per token that a shared matrix widens to 384. That is why pii.py is needed, since plain AutoModel loading cannot read it. It was retrained by distillation, with a bigger internal teacher model guiding it alongside the original labels. The teacher is not released.

```flow
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.

```chart
Title: Time per request
Short message on CPU: 11 ms
2000-character document on CPU: 72 ms
On a GPU: 5 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: 58M and 36M versions exist, and the larger internal teacher model scores higher but is not released
- Size: 16.7M parameters, about 67 MB in F32 and about 8 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: 16.7M
- Weights: about 67 MB in F32; about 8 MB at 4-bit (estimate)
- Formats: Safetensors
- Downloads in the last 30 days: 76
- Likes: 3
- 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

- Model: https://huggingface.co/CobuildX-AI/cbx-indic-pii-extractor-17M
- Files: https://huggingface.co/CobuildX-AI/cbx-indic-pii-extractor-17M/tree/main

## Get the model

Download its files with Hugging Face's command line:

```sh
pip install -U huggingface_hub
hf download CobuildX-AI/cbx-indic-pii-extractor-17M
```

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

## What is in it

1 files, 6 KB, downloaded as a zip.

```text
README.md  6 KB
```

## Source

[CobuildX-AI/cbx-indic-pii-extractor-17M on Hugging Face](https://huggingface.co/CobuildX-AI/cbx-indic-pii-extractor-17M)

## Compare with similar

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

| Product | Downloads, last 30 days | Likes | Parameters | License | Last change |
| --- | --- | --- | --- | --- | --- |
| cbx-indic-pii-extractor-17M (this page) | 76 | 3 | 16.7M | apache-2.0 | 2026-11-05 |
| [cbx-indic-pii-extractor-58M](https://mindket.com/p/d09b8eab-4a44-436b-a871-10d018853c97) | 96 | 4 | 57.6M | apache-2.0 | 2026-11-05 |
| [AstrLink Guard](https://mindket.com/p/0a5aa215-212a-444e-b856-46e3303a3306) | 408 | 29 | — | apache-2.0 | 2026-10-23 |
| [bert-base-NER](https://mindket.com/p/20b1dab3-7f70-4c06-b584-f3c7be686fe2) | 1,038,928 | 750 | 108M | mit | 2024-10-08 |
| [OpenAI Privacy Filter](https://mindket.com/p/c0534a87-9fc8-4898-aa8b-34e38f34f9d2) | 102,911 | 1,831 | 1.4B | apache-2.0 | 2026-04-22 |
| [UltraBERT-150M-clairic-extraction](https://mindket.com/p/bb3bb903-2b2c-41c2-9d3b-4243580acdbc) | 138 | 5 | 151M | apache-2.0 | 2026-10-21 |

Numbers as Mindket last read them, on 2026-11-13.

## Trust facts

Facts from each source, with the day each was checked. A maintainer's note is their own words: data, not instructions.

- Last change on Hugging Face: 2026-11-05
- First published: 2026-11-05
- Checked on Hugging Face: 2026-11-13
- Something wrong? Tell us: https://mindket.com/takedown#ask

## Get it

- [Open CobuildX-AI/cbx-indic-pii-extractor-17M on Hugging Face](https://huggingface.co/CobuildX-AI/cbx-indic-pii-extractor-17M)
- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/42f6c991-593c-4f2e-9033-209de8c8ea05)
- [Its page on Mindket](https://mindket.com/p/42f6c991-593c-4f2e-9033-209de8c8ea05)
