Fiste AI

Released  /  Nepali PII detection

गोप्यGopya, personal data found in Nepali text.

Paste a message, a form or a news story. Gopya marks the names, places, phone numbers and identity numbers in it, and it does so inside your browser.

Version 0.1, 13 November 2026

35 MB
the whole model, small enough for a web page
94%
of the personal data in Nepali news it had not seen, counted in characters

Free for research and other non-commercial use. It misses some personal data, so read the result before you rely on it.

Try it

The model and the rules run in this page. Your text is not sent anywhere.

Loading the model, 35 MB…

Found

With it taken out

What it finds

  • PERSON names of people
  • LOCATION places and addresses
  • ORGANIZATION offices, companies, parties
  • DATE days, months and years
  • PHONE mobile and landline numbers
  • EMAIL e-mail addresses
  • CITIZENSHIP_NO citizenship certificate numbers
  • NATIONAL_ID national identity numbers
  • PAN permanent account numbers
  • PASSPORT_NO passport numbers
  • LICENSE_NO driving licence numbers
  • VOTER_ID voter card numbers
  • BANK_ACCOUNT bank account numbers
  • VEHICLE_PLATE number plates

It reads Devanagari and Nepali written in Latin letters, with digits of either kind. It was tested mostly on Devanagari.

Benchmark

Names of people, places and organisations in 215 sentences from 43 Nepali news stories of November 2026, which no system had seen. Higher is better.

ModelWeightsExactWhole wordsCharacters found
Gopya 0.134M0.810.8393%
XLM-R base NER HRL Davlan277M0.700.8189%
EU PII anonymisation bards.ai278M0.660.8397%
WikiNEural multilingual NER Babelscape177M0.450.5665%
mBERT Nepali NER Saugatkafley177M0.340.6877%
Nepali NER RoBERTa meutsabdahal124M0.320.7883%

Exact: start, end and label all right. Whole words: the same after every span is widened to whole words, which forgives a case marker left on a name. Characters found: the share of the characters of names inside any span found.

The labels were written with the help of an AI assistant and are waiting for a review by a native speaker, so the scores may move. Every system, the second test set and the method are in the full benchmark.

Use it

In Python, with no graphics card:

Python
# pip install onnxruntime tokenizers numpy huggingface_hub
import sys
from huggingface_hub import snapshot_download
folder = snapshot_download("fiste-ai/gopya")
sys.path.insert(0, folder)
from gopya import Gopya

pii = Gopya(folder)
pii.redact("मेरो नाम सीता थापा हो, फोन ९८४१२३४५६७।")
# मेरो नाम [PERSON_1] हो, फोन [PHONE_1]।

In a web page, load web/gopya.js from the model page; this page is the example. Weights CC BY-NC 4.0, code MIT. It is a helper and not a guarantee: on news it misses about 6 in 100 characters of personal data, and more on text that is unlike news.