Skip to content
Book a demo
Menu

Protect

Why read-only integrations are safer for dental data

What read-only means at the database level, how to check a vendor's access in Open Dental, Dentrix and Eaglesoft, and what it rules out in a breach.

4 min readUpdated 2026-10-13

Share
A glass wall between a front desk and a server room

A vendor asks for “access to your practice management system”. Before you say yes, the question that matters is not whether they are trustworthy. It is what their log-in is allowed to do if someone else gets hold of it.

Read-only is the answer that limits the damage. This page explains what it means technically and how to check it.

What does read-only mean at the database level?

Every practice system stores its data in a database with user accounts of its own, separate from the log-ins staff use on screen.

  • Open Dental runs on MySQL (or MariaDB). A database user can be granted SELECT only, which permits reading rows and nothing else. INSERT, UPDATE and DELETE are separate grants.
  • Dentrix (G series) exposes its data through a FairCom SQL interface with its own users and views such as admin.payment_view. A user can be limited to the views and denied write statements.
  • Eaglesoft runs on Sybase SQL Anywhere. The same idea: a user with SELECT on transactions_header, patient, appointment and the lookup tables, and no write rights.

A read-only integration uses an account like that. It can see a payment. It cannot delete one, post one, change an appointment, or alter a chart note, no matter what software is running on the vendor’s side.

A read-only database account can read rows but not change them
Read-only means the account can read rows and nothing else.

How do you check a vendor is actually read-only?

Ask three questions and expect specific answers.

  1. Which database user does your connector use, and what grants does it have? The answer should be a user name and the word SELECT. “We use the API” is not an answer on its own; ask which API scopes.
  2. Which tables and columns do you read? A vendor who can list them has thought about it. A vendor who says “everything” has not.
  3. Can you show me the grant statement? For Open Dental: SHOW GRANTS FOR 'vendor'@'%' run by your IT person returns one line, and it should contain SELECT and nothing else.

If the vendor also needs to write (for example, to post appointment confirmations back into the schedule), that is a legitimate need for some products. It is also a bigger risk, and it belongs in the BAA and in your vendor list as read-write.

Why does it matter if the vendor is breached?

Assume the worst case: the vendor’s systems are compromised and the attacker holds the connector’s credentials.

Vendor access What the attacker can do to your PMS
Read-only Read whatever the account can see, for as long as the credential works
Read-write All of the above, plus delete payments, alter balances, change appointments, insert records, or encrypt the database

Reading is bad enough, which is why the credential should also be revocable in one step and the connection encrypted. But reading cannot corrupt the ledger you reconcile every day, and it cannot destroy the audit trail you would need afterwards. The data security checklist has the rest of the controls.

A read-only credential cannot corrupt the daily ledger
Read-only access limits the damage if a vendor is breached.

What about API access instead of a database user?

Some systems offer an API rather than a database log-in. Open Dental, for example, has an API with permissions set per key. The same questions apply: which endpoints, and are any of them writes. An API key that can create appointments is read-write, whatever the vendor calls the integration. Ask for the list of endpoints or scopes in writing and keep it with the BAA, so that when staff change, the next office manager knows what each vendor can do.

What read-only does not protect against

  • It does not stop the vendor from storing a copy of what it reads. Ask where the copy lives, how long it is kept, and who can see it.
  • It does not stop a vendor from reading more than it needs. That is why the table list matters.
  • It does not replace the BAA. HIPAA treats the vendor as a business associate regardless of the access level.

What Calibic adds

Calibic’s connectors are read-only toward Open Dental, Dentrix and Eaglesoft. They never write, edit or delete a record. The tables each connector reads are listed on the Coverage page: in Open Dental that includes securitylog, userod, histappointment and deletedobject; in Dentrix admin.appthist, admin.payment_view and admin.adjustment_view; in Eaglesoft transactions_header, patient, appointment and the provider and service type lookups. Calibic does not read images or X-rays and does not take payments. It is built for HIPAA, and a Business Associate Agreement is sent with every sign up. Protect, which depends on this access, is LIVE.

Next step: read the Coverage page for the per-system list.

Useful? Send it to the person who runs your front desk.

Share this page

Keep reading

See it on your own data

Read-only toward Open Dental, Dentrix and Eaglesoft. A Business Associate Agreement is sent with every sign up.