Encrypted in transit
Every page of the portal and every upload travels over HTTPS. Inside our own systems, the hop that carries an uploaded document to the file store is encrypted with a certificate we issue and verify ourselves. The hop that carries a prescription to the record store is encrypted too, though we do not yet check its certificate; both stay on a private network on one machine, and closing that gap is on the list below.
Encrypted at rest
The database lives on an encrypted volume (AES-XTS, 512-bit key) that is unlocked at boot without a person typing a passphrase into a screen. Uploaded documents are stored with server-side encryption. Backups are encrypted separately, with their own keys, and a restore has been rehearsed end to end.
One practice cannot see another
Every record carries the identity of the supplier it belongs to, and the database itself refuses to return a row to anyone outside that supplier — enforced below the application, so a bug in a page cannot reach across it. Between practices, the separation is your own portal account and the route your referral arrived on, not that database rule.
Every view is recorded, and reviewed
When a member of GCM staff opens a referral, downloads a prescription or changes its status, an entry is written to an append-only log with who, what and when. Nothing can edit or delete that log, including us. We review it on a set schedule every month, on top of the automatic alert the moment access looks unusual.
Unusual access raises an alert
A staff sign-in from a network we have not seen that account use before, or a run of failed sign-in attempts, raises an alert to an administrator automatically. The alert names the account and the network and carries no patient information.
Access is by named account, with a second step
Staff sign in with individual accounts; there is no shared login. A password alone is not enough: signing in also requires a one-time code we email to the staff member at the moment they sign in. A staff session expires after ten minutes without activity and after eight hours in all. Your own portal session expires after fifteen minutes without activity and after twelve hours in all. A screen left unattended blurs its contents after two minutes and comes back on a touch.
The file itself is what is checked, not its name
An uploaded document is identified by its contents, not by the filename or the type the browser claims, before it is stored. Files are served back only through a signed-in session, never from a public address.
No third parties in the page
The portal loads no analytics, no fonts, no scripts from anyone else. A page that loads nothing from outside cannot leak a referral number to outside.
A Business Associate Agreement is in place
Gator Custom Mobility and the company that builds and runs this system, AppDev GNV / Mendoza Bros, have a signed Business Associate Agreement. The system is operated under the HIPAA Security Rule obligations that agreement carries.