Security and known limitations

What is built, and what is missing.

Most security pages describe aspirations. This one separates verified controls from absent ones, because a clinician or institution evaluating this work needs to know which is which before asking a harder question.

No independent audit · no certification · no public inference endpoint

Verified controls

What is implemented and tested.

Isolation

The note path is local

Speech recognition and fact extraction run on CPU in the same environment as the application. No clinical text or audio is sent to a third-party language model to produce a note.

Authority

Approval is server-side

Draft → reviewed → approved is enforced by the server. Export is refused unless the note is approved. Handlers are not bypassable by disabling browser controls.

Retention

Audio is time-bounded

24 hours after approval, 168 hours if never reviewed, swept on a 900-second cycle. Audio is never served from a static path.

This website

Statically served, no tracking

Self-hosted fonts, no third-party scripts, no cookies, no analytics, no accounts and no server-side form handling. Content is generated from reviewed source files.

Not implemented

The list that matters more.

None of the following exists today. If a vendor deck in this category does not publish a list like this, ask them for it.

Absent controls All open
ControlStatusConsequence
Independent penetration testNoneNo third party has attempted to break the system.
SOC 2 / ISO 27001NoneNo certification of any kind. Do not assume one.
Independent security auditNoneAll security claims here are self-assessed.
Audio de-identificationNoneRetention is time-bounded; content is not filtered.
Robust PHI detectionHeuristicPattern matching misses Indian phone formats, Aadhaar numbers and Malayalam-script names.
Distributed rate limitingIn-memoryCounters are per-process and reset on restart; not suitable for a public endpoint.
Encryption at rest, verifiedPlatform-dependentDepends on the host; no application-level encryption of stored notes.
Incident response planNoneNo documented breach process, no on-call rotation.

Why publish this The PHI-detection gap is the single strongest argument against exposing a public free-text clinical endpoint, and it is a decision we have made rather than a control we have bought.

Architecture

How the pieces are separated.

Public site
Static HTML, CSS and JavaScript. No server-side rendering, no database, no session. Cannot reach the engine.
Documentation prototype
Separate application with credentialed access, local inference and time-bounded audio storage. Not publicly reachable.
Demonstration
Run live by a person on synthetic data. No endpoint is exposed for visitors to call.
Browser boundary
This site loads only same-origin assets. Fonts are self-hosted specifically so no third party observes visitors.

If you are evaluating for an institution

Ask us for the retention rules, the approval-gate behaviour and the defect register, and test them rather than reading them. We would rather be audited than trusted, and we have not been audited yet.

Reporting a vulnerability

Email [email protected] with enough detail to reproduce the issue. We will acknowledge it, tell you what we intend to do, and credit you if you want to be credited.

Threat model, briefly

What we are actually defending against.

Primary

Wrong content signed

The dominant risk is not intrusion — it is a clinician approving a fluent, unsupported sentence. Validation and provenance exist for this, and they are imperfect (see defect R3).

Secondary

Audio outliving its purpose

Addressed by bounded retention and a sweep, not by content filtering. There is no de-identification step to rely on.

Tertiary

Unauthorised access

Credentialed access to the prototype, no public inference surface, and no engine route reachable from this website.

Audit us

Test the claims instead of accepting them.

A demonstration can walk the approval gate, the retention sweep and the defect register with you.