Security and POPIA

You are the custodian. We built accordingly.

Your patients told you things they have not told their families. Under POPIA you are the responsible party for that information and we are your operator — so this page describes what we actually do, in plain language, including the parts that are still maturing.

How your data is separated

One practice can never see another's records.

In a multi-practice system this is the thing that matters most, and it is the thing most easily got wrong. Tabs enforces separation in the database itself rather than in the screens, so a mistake in the application cannot expose another practice's patients.

Row-level security on every table

All 87 tables that hold practice data carry database-level access rules. Every query is filtered by the practice you belong to before a single row is returned.

Tested, not assumed

A tenant-isolation test suite runs the exact queries an attacker would — asking for another practice's patients, invoices and notes — and requires every one of them to come back empty.

Permissions per person

Six roles as a starting point and six permissions you set individually: clinical viewing, clinical editing, finance, staff, settings and reports. Reception can take money without reading notes.

Restricted clinical records

Psychology session notes are visible only to the treating practitioner unless someone with staff-management rights explicitly grants access — owners do not get it automatically.

Signed notes are sealed

Signing a note records a cryptographic fingerprint of its contents. It cannot be silently edited afterwards; corrections are dated, signed addenda that leave the original intact.

An audit trail with teeth

96 distinct kinds of action — signing a note, issuing an invoice, refunding, changing bank details, granting access — are written to an append-only log with the person and the time.

The practical details

What that means day to day.

Encryption

Traffic is encrypted in transit and the database is encrypted at rest on managed infrastructure. Identity and passport numbers get an additional layer of field-level encryption on top of that.

Patient portal access

A patient proves who they are with a six-digit code emailed to the address on their record. It expires after 15 minutes and allows five attempts before it is void.

Clinical documents

Files live in private storage. Viewing one produces a link that works for five minutes and then stops working, so a copied URL does not become a permanent back door.

Payment details

Tabs never stores card numbers — card data goes straight to Paystack, a licensed provider. We keep only the last four digits for display. Your practice's full bank account number is passed to Paystack and never stored by us.

Backups

The database is backed up daily with seven days of retention, so at most about a day's work is ever at risk. We also take verified exports with integrity checks. A full timed restore drill is on our list before we publish a recovery-time promise.

Consent for photos

Clinical photographs cannot be uploaded without confirming consent, and that confirmation is stored against each individual image rather than assumed once.

Data export

You can export a patient's record for a POPIA access request, and export your practice's data whenever you want it. Your information is not held hostage to a subscription.

Written procedures

There is a documented threat assessment, incident-response runbooks and a backup and restore policy — available to review as part of your operator due diligence.

Error reporting without patient data

When something breaks we receive the technical fault, not your patients. Application logs are written to exclude clinical content and personal identifiers.

Where your data lives

Tabs runs on managed PostgreSQL infrastructure, with clinical files in the private storage described above. Because data residency matters under POPIA — particularly for cross-border transfers — we state the hosting region and the full list of sub-processors in writing in the operator agreement, before you sign. Ask us for it at the demo.

Where we are still maturing

The parts we are not going to overstate.

Any vendor claiming perfection is either lying or has not looked properly. Tabs is a young product and here is an honest account of what is not finished, so you can weigh it yourself rather than discover it later.

No formal certification yet
We hold no ISO 27001 or SOC 2 certification. What we have is documented practice and a system you can audit.
No published uptime guarantee
We monitor availability, but we will not print an SLA percentage we have not operated long enough to stand behind.
Restore drill outstanding
Backups run and are verified, but a full timed restore rehearsal has not been completed, so we quote no recovery-time figure.
Deletion is by arrangement
Patients can be archived in the app. Permanent erasure of a record is handled by us on request rather than self-service, and health records carry retention obligations you should take advice on.
Consent wording is a starting point
The consent and privacy text supplied with Tabs is a working draft. Have your own attorney approve the wording your patients sign.
The audit log has no viewer yet
Actions are recorded faithfully, but reading the trail is something we do for you on request — a screen for it is still to come.

Doing your operator due diligence?

Ask us for the threat assessment, the backup policy and the operator agreement. We would rather you read them than take our word for it.