Security & Privacy

Built for dental practices. Engineered for trust.

DentzAI captures lead contact details and forwards them to your practice — that’s it. Your patients’ clinical data stays in your existing systems where it belongs. Below: how the architecture is built, what data we hold, and what we deliberately don’t.

Last updated: April 25, 2026

Lead-only by design

We capture what you need to follow up — name, phone, email, what they're interested in. We don't capture symptoms, conditions, insurance, or medical questions. PHI is out of scope by deliberate product choice.

Tenant isolation + encryption

Each practice's data is logically isolated. Connections are TLS-encrypted; database storage is encrypted at rest. Field-level encryption is on the roadmap for the most sensitive fields.

Audit-ready architecture

HIPAA-grade controls (audit logs, access controls, breach response) are built in. Most practices won't need a Business Associate Agreement because we don't capture PHI — but the architecture is there if you ever do.

What we don’t collect

The cleanest way to keep clinical data safe is to never capture it in the first place. The bot is configured to redirect any clinical question back to the practice. We don’t store:

  • Symptoms or pain levels
  • Diagnoses or conditions
  • Treatment history or clinical notes
  • Insurance details or policy numbers
  • Specific medication or dosage info
  • Medical record numbers

Security architecture

The controls below describe how DentzAI is built. They map to standard technical safeguards (encryption, access control, audit logging, isolation) used across regulated SaaS.

Per-tenant data isolation

Shipped

Every query against patient-facing data is scoped to your organization at the application layer. Audited 2026-04-24 across 16 PII-bearing models and 220+ database call sites — zero cross-tenant access paths found.

PHI scrubbing in observability

In progress

Error tracking (Sentry) and product analytics (PostHog) strip emails, phone numbers, IP addresses, and known PII field keys from every event before it leaves the application. On dental tenants we additionally disable autocapture and session recording so the SDK can't bypass the filter. Code-complete on a feature branch; rolling to production behind a soak-test window.

Encryption in transit

Shipped

All connections to DentzAI use TLS 1.2+ enforced at the edge by Vercel. Internal service-to-service calls (Postgres, Redis, OpenAI, Resend, Inngest) are also TLS-encrypted.

Encryption at rest

Shipped

Database storage (Neon Postgres) and object storage are encrypted at rest with AES-256 by the underlying providers. Field-level application encryption for the highest-sensitivity columns is on the roadmap.

Authentication and access controls

Shipped

Authentication via Clerk with mandatory email verification, OAuth, and optional MFA. Multi-tenant role model (owner / admin / analyst / support). Admin operations are gated by an explicit allow-list and audit-logged on every action.

Field-level encryption (AWS KMS envelope)

In progress

Application-layer encryption for the highest-sensitivity fields, with a per-organization data encryption key wrapped by an AWS KMS customer master key. Enables crypto-shred on tenant deletion.

Tamper-evident audit logging

In progress

Every read, write, and delete on sensitive tables is recorded via a Prisma extension. Logs include actor, action, target, timestamp, and request metadata.

Soft-delete + crypto-shred

Planned

Tenant deletion drops the per-org data encryption key, rendering all encrypted records mathematically unreadable while preserving audit-log immutability.

Subprocessors

Third-party services that process data on our behalf. We do not transfer data outside the United States. The full subprocessor list and BAA-status detail is in our subprocessors document (linked below).

ServicePurposeDataBAA
VercelHosting + edge compute (US)All request dataAvailable on Enterprise (planned)
NeonPostgres database (US)All persisted dataAvailable on Scale (planned)
ClerkAuthenticationAccount credentials, emailPending upon first covered-entity customer
OpenAIAI inference (chat + embeddings)Chat transcripts (no training)Available via OpenAI Enterprise — pending engagement
ResendTransactional emailRecipient address + email bodyPending upon first covered-entity customer
InngestBackground job processingJob payloads (chat IDs, etc.)Pending upon first covered-entity customer
UpstashRedis (rate limiting, cache)Ephemeral session/rate-limit keysPending upon first covered-entity customer
SentryError trackingPII-scrubbed exceptions + breadcrumbsAvailable on Business — pending
PostHogProduct analyticsPII-scrubbed events; on dental: hashed IDs onlyAvailable — pending
StripeBillingPayment method, billing addressNot applicable (PCI-DSS scope)

Compliance

HIPAA-ready architecture
BAA available on request
GDPR-ready
DPA available on request
US data residency
Neon + Vercel US regions
SOC 2
Planned

FAQ

What data does DentzAI capture?

We capture lead contact information — name, email, phone — and the visitor's expressed interest (e.g., "I'd like to book a cleaning"). That's it. Your practice handles the actual booking and any clinical conversation in your own system.

Is DentzAI HIPAA compliant?

DentzAI is built on HIPAA-ready architecture (encryption, tenant isolation, audit logs, access controls). Because we deliberately don't capture Protected Health Information (no symptoms, conditions, insurance, or medical questions), most practices won't need a Business Associate Agreement with us. If your workflow ever requires us to handle PHI, we have a draft BAA ready and will sign it.

Where is my data stored?

All storage is in US AWS regions (Neon Postgres for database, Vercel for edge compute and object storage). We do not transfer data outside the United States. Our subprocessor list above shows every third-party service that processes any data on our behalf.

What happens if there is a security incident?

We follow a documented incident-response process: detect → contain → notify. For incidents involving customer data, affected accounts are notified within 72 hours of confirmation, with details of what was affected, what we are doing, and what (if anything) you need to do.

How do I report a vulnerability?

Email security@suppabot.com (we route DentzAI security reports through the same address). We acknowledge within one business day and aim to remediate within the timeline appropriate to severity. Researchers acting in good faith will not face legal action.

Documents available on request

Email security@suppabot.com for any of the documents below. Drafts are based on standard templates and marked accordingly.

  • D
    Data Processing Addendum

    For customers subject to GDPR or US state privacy laws.

  • S
    Subprocessor List

    Detailed inventory of every third-party service we use, with purpose, data category, and BAA status.

  • B
    Business Associate Agreement

    Available on request for practices whose workflow requires us to handle PHI. Most practices won’t need this — see the FAQ above.