Security and privacy

Your clinic’s data is isolated at the database level

Isolation in Modirify is not a hidden button in the interface. Clinic data tables carry access policies enforced inside the database itself, so a signed-in user’s request for another clinic’s data is not merely refused in the browser — it returns none of that clinic’s rows.

✓ Available in Arab markets✓ Arabic and English✓ Web, iOS and Android
RLSAccess policies on clinic data tables, enforced in the database
TLSEvery connection encrypted in transit
AuthEmail or Google sign-in; this does not guarantee two-factor authentication is enabled
Isolation between clinics

The clinic is the data boundary, not just a column in a table

Signed-in users’ queries on clinic data pass through a policy that resolves which clinic the current user belongs to. It is enforced in the database rather than the interface, so hiding a button or editing the request in the browser does not get around it. User requests our servers run with higher privileges, such as the AI assistant and sending messages, check the user’s membership of the clinic before acting, and messages arriving from external services are accepted only after their signature is verified.

  • Permissions are read from the database, not the browser
  • Changing a user’s permissions is restricted to the clinic owner
  • Permanently deleting team records is restricted to the owner
Diagram showing each clinic’s data isolated inside one database
The controls in place

What actually protects clinic data?

Specific controls you can describe and review, instead of general statements about security.

Row-level isolation

Clinic data tables carry access policies that tie each row to the clinic that owns it, so a signed-in user sees only their own clinic’s rows. User requests that servers run with higher privileges check the user’s access to the clinic before they read or write, while scheduled jobs such as reminders run on the server for each clinic separately.

Team accounts, roles and permitted screens

Each team member has an account, a role and an allowed_screens list aligned with responsibility. Reception can reach appointments, a dentist the permitted patient records, and an accountant the permitted numbers, instead of every user receiving unrestricted access.

Owner-only actions enforced in the database

Changing sensitive permissions and doctor commissions, and permanently deleting team records, is restricted to the clinic owner. Owner-only triggers protect these actions and the database refuses an attempt by another user even if the interface sends it.

Private files use temporary links

Eligible private files use temporary signed links rather than public storage. Clinic, practitioner, service and working-hour settings remain separate and sensitive platform administration stays protected by platform privileges.

Encrypted in transit

All traffic between the browser and our servers runs over HTTPS/TLS, with a policy that instructs the browser to use the encrypted connection on every later visit.

Hardened web responses

Security headers stop the site being embedded in a foreign frame, block unapproved scripts, prevent file-type guessing, and restrict what the page may request — camera and location included.

Verified message origin

Messages arriving from external services such as WhatsApp are not trusted on content. Each is accepted only after its cryptographic signature is verified; an unsigned message is rejected before it is read.

External keys encrypted at rest

Tokens linking your clinic to external platforms are stored encrypted, and the decryption key is held outside the database — so it is not exposed even to someone reading the tables.

Your data is yours

What stays under your control?

Data decisions remain with the clinic, with a published route for every action.

01

Who sees what

Set each team member’s role and allowed_screens list, and change it from clinic settings within the owner permission boundary.

02

Activity log

Significant actions inside the system are recorded and can be reviewed from the activity log screen.

03

What goes into links

Share links and WhatsApp messages leave the patient-name field and the doctor’s notes out of the URL. A prescription sent through WhatsApp carries the medication and instructions as written in the message text, so keep identifying details out of them and review the message before sending.

04

Data deletion requests

The route to delete an account and its data is published on its own page, and the request can be made without going through a sales team.

Clear answers

Frequently asked questions

Can the Modirify team read my patients’ data?

We limit internal access to clinic data to what is operationally and technically necessary, as the privacy policy states. Database policies restrict users’ reads by clinic, and the processing details are published in the privacy policy.

Do you hold ISO, SOC 2 or HIPAA certification?

No. We hold none of those certifications today and we do not claim otherwise. What this page describes are the controls actually implemented in the system, and we are happy to walk through them before you subscribe.

Where is the data stored?

The platform runs on managed cloud infrastructure using a PostgreSQL database and a global content delivery network. Processing and retention details are set out in the privacy policy.

What happens to my data if I stop my subscription?

Processing after cancellation follows the privacy policy, the terms of service and the published data-deletion request — not an undocumented fixed period.

Ready to get started?

Start with Modirify

A cloud platform that helps dental clinics manage everyday work in one place.

Start with Modirify