Scrubs Clinicians already paste patient notes into chatbots to write letters and summaries. Scrubs lets them keep doing that without the chatbot learning who the patient is.
You upload a PDF or paste a note. Scrubs flags the identifiers, you check them, and the ones you mask are swapped for placeholders like [PATIENT_01]. Only that version goes to Gemini. When the answer comes back, the real names are put back in on your screen.
We built it at StormHacks 2026 (Armin, Felix, Krish and Nathan).
How it works
- Upload a text-based PDF or paste a note.
- Scrubs looks for identifiers in three ways. Presidio handles the standard ones and we added BC rules to it (PHN check digit, postal codes, MRNs, prescriber numbers). GLiNER, a small local model, catches indirect ones like "the retired town pharmacist". A list of BC towns, facilities and job titles catches the rest.
- You review the flags. HIGH items (names, health numbers, addresses) are always masked. MED items (exact dates, small towns, employers) are masked unless you unmask them. LOW items (drugs, doses, diagnoses) are kept unless you mask them. Click any highlight to change it.
- You chat. Ask for a referral letter, a discharge summary or a handoff note. Gemini only gets the placeholders. Dates are moved by the same number of days, so the gaps between them stay right. Documents, flags and the placeholder mapping are kept in memory only and are gone when you restart. The one exception is the optional Snowflake audit log, which records mask and unmask decisions as counts with no document text.

Log in or sign up for Devpost to join the conversation.