hjLabs AI Playground

Starting the on-device runtime…

De-identify clinical notes without them leaving your machine

This page runs Stanford AIMI’s de-identifier, or d4data’s biomedical NER model, over text you paste — in this tab, on your own machine. It marks the spans it believes are identifiers (patient and clinician names, hospitals, dates, record numbers, phone numbers) and hands back a redacted copy you can take away. That is the whole point: every hosted de-identification service is itself a disclosure of the note you are trying to protect, and this one has no server to disclose it to. It is a redaction assistant for a human to check, not a compliance guarantee — the model misses things, and the page shows you what it was unsure about so you can catch them.

de-identify clinical notesphi redaction tooldeidentify medical text onlinestanford deidentifierbiomedical ner onlineremove phi from textclinical text anonymiserhipaa safe harbor text

Frequently asked questions

Is this HIPAA or DPDPA compliant de-identification?

No, and no tool can promise that on its own. HIPAA Safe Harbor is a list of eighteen identifier categories that must all be gone, and expert determination is a judgement made by a person. This page finds candidate identifiers with a machine-learning model that has a measurable miss rate, which makes it a first pass that saves you time — not a substitute for the review.

What does it actually miss?

Measured on the synthetic discharge summary loaded on the page: it caught the patient name, the MRN, the date of birth, all seven dates, both physician names, three institutions, the phone number and the insurance member number. Email addresses are the weak spot — john.smith@example.com comes back as a name span plus a vendor span, so the "@" and the ".com" survive, and the vendor half scored only 0.44, low enough that a higher confidence setting leaves the domain in the text.

Why does the page re-split what the model returned?

Because not doing so silently lost the date of birth. transformers.js merges consecutive same-label tokens, and it merged three dates that were lines apart into one entity whose text appears nowhere in the note — so as a single span it could not be located and none of the three was redacted. The page now falls back to matching the longest findable run of words inside such an entity, which recovers them individually. Anything it still cannot place is listed under the result rather than dropped.

Which model should I use?

stanford-deidentifier-base for redaction: it emits PATIENT, HCW, HOSPITAL, DATE, ID, PHONE and VENDOR, which is the identifier-shaped label set. biomedical-ner-all is the better model for reading a note — 84 entity types covering signs, symptoms, medications, dosages and anatomy — but most of what it labels is clinical content rather than identifiers.

Is this a medical device or medical advice?

Neither. It processes text you paste; it makes no statement about anybody’s health, offers no interpretation of the note, and is not intended for diagnosis, treatment or any clinical decision. These are open research models published on Hugging Face, running unmodified on your device.

Is my data uploaded to a server?

No. The model weights are downloaded from Hugging Face to your browser once, and every inference after that runs on your own GPU through WebGPU. Your text, images and audio are never sent anywhere — hjLabs.in has no inference server and no way to see your input.

Can I use the output commercially?

That depends on the individual model, not on this site. Each model page links to its Hugging Face repository, where the licence is stated — most of the catalog is Apache-2.0 or MIT, a few are research-only. We add nothing on top: hjLabs.in claims no rights over anything you produce here.