Home › Security

Security & data handling

Interstate Medicine Ledger · Last updated: October 8, 2026

The Ledger holds a clinician’s licensing and credentialing record. This page says, in plain terms, where that record lives, who can see it, and what we do and do not claim. When something here changes, we change this page.

At a glance

ControlStatus
Encrypted in transit (TLS, HTTPS only) and at restIn place
Row-level security; clinicians approve each organization and its levelIn place
Two-factor sign-in; organizations can require it for adminsIn place
Activity log, exportable by clinicians and organizationsIn place
Documents never train AI; no Social Security numbers storedIn place
Independent SOC 2 auditIn preparation. No SOC 2 report yet.

What we hold, and what we don’t

We hold a clinician’s own professional record: licenses and renewal dates, DEA and state controlled-substance registrations, board certifications, life-support cards, malpractice coverage, work history, CME certificates, the clinician’s own immunization and TB records if they add them, and the documents behind each of these. Date of birth and a photo ID are optional.

We do not hold patient records. Nothing in the Ledger is protected health information about patients. We do not accept or store Social Security numbers: the document reader is told never to read one, and any nine-digit number shaped like one is removed from its answer before it reaches your screen.

Where it lives

Who can see what

Every table in the database has row-level security switched on, and new tables get it automatically. The database itself, not the app, decides what each signed-in person can read.

LevelWhat the organization can do
1 · Compliance onlySee licenses held, requirements met or owed, and renewal dates. No identifiers.
2 · Full profileLevel 1, plus license numbers, contact details, date of birth and the list of CME certificates on file. Not the stored documents: an organization asks for a packet, and the clinician shares it or declines.
3 · ManageLevel 2, plus filing documents the organization already holds onto the clinician’s record (a CME certificate as a document only, the clinician allocates the credit) and correcting a license number or renewal date. Dates read from the document count as confirmed; typed or changed dates wait for the clinician.
4 · Full controlLevel 3, plus creating the account and handing it to the clinician’s email.

Signing in

How documents are read

Email and payments

Keeping and deleting data

Exclusion and registry checks

Once a month we compare each clinician’s name and NPI with public lists: the OIG exclusion list (LEIE), the CMS opt-out and Order & Referring files, and the NPPES registry. We download the exclusion list and the NPPES deactivation file and compare them ourselves. For the CMS opt-out, Order & Referring and NPI registry checks we send only the NPI to the official CMS lookup, never a name or any other detail. An organization can also run a SAM.gov exclusion check, which sends the clinician’s name to SAM.gov’s public search. Results are shown to the clinician, and to an organization only if the clinician has given it access; a match made on the NPI is shown to an organization only at level 2 or above. A name match is shown as a possible match for a person to review, never as a finding on its own.

Browser protections

The app sends HSTS, a Permissions-Policy that turns off camera, microphone, location, payment and similar browser features, and a rule that stops other sites from framing it. Our Content Security Policy currently runs in report-only mode. We collect its reports and will switch it to enforcing once they are clean.

What we do not claim

Service providers that handle data

ProviderWhat it does for us
SupabaseDatabase, file storage and sign-in (US East)
NetlifyHosts the web app and this site
AnthropicAI reader that identifies documents and suggests fields
ResendEmail, in and out
StripePayments (hosted checkout; we never see card numbers)
CloudflareDNS

For your security review

We fill in security questionnaires and walk teams through our data handling. Email hello@interstatemedicine.com with “Security review” in the subject.

Report a security issue

If you think you have found a vulnerability, email hello@interstatemedicine.com with “Security” in the subject. Please give us a reasonable chance to fix it before you share it. Our contact details are also in /.well-known/security.txt. See also our Privacy Policy.