Self-hosted vector database for healthcare

Embeddings of clinical notes and records can carry PHI, so the vector store needs the same controls as the source record. This page covers what HIPAA requires, which open-source platforms fit and how to roll it out.

On this page

Why a self-hosted vector database for healthcare must be treated as PHI

Embeddings derived from electronic protected health information should be governed as PHI, and a self-hosted vector store inside the organization's HIPAA-controlled boundary is the usual starting point for a health provider or payer team that wants retrieval over clinical notes and records. The reason is that a vector is not an anonymous number. Embeddings can be inverted or probed to recover much of the meaning of the text they came from, and chunk payloads often store the original passage, patient identifiers, encounter dates or diagnosis codes so results can be cited. A vector store that holds those payloads holds ePHI. The HIPAA Security Rule (45 CFR Part 164 Subpart C) applies to ePHI a covered entity or business associate creates, receives, maintains or transmits, so the embedding pipeline, the vector collections, the snapshots and the logs all fall inside its scope, not only the source EHR.

The choice between Qdrant, Milvus, Weaviate or pgvector matters less than the controls around it. Qdrant, for example, is unsecured by default: its security documentation states that self-deployed instances listen on all interfaces with no authentication configured, so the team must enable API keys or JWT-based access with per-collection read and write permissions, enable TLS, and turn on the JSON audit logging available since v1.17.0. The same questions apply to pgvector inside PostgreSQL: who holds roles on the tables holding embeddings, how backups are encrypted, and where query logs go. Confirm each control in your own environment and map it to the Security Rule standards for access control, audit controls and transmission security, using the Appendix A matrix on eCFR as your reference.

No certification exists for HIPAA. HHS states that no Security Rule standard requires certifying compliance, and private certifications do not prevent a later finding of violation, so no platform can be called HIPAA compliant on its own. The evidence is what your organization can show: a risk analysis that lists the vector store, documented access decisions per collection, business associate agreements with any hosting or support provider that touches ePHI, tested backup and restore records, and audit log samples. Before the build starts, ask your security officer whether the vector store falls under the existing risk analysis and which owner signs off on it.

Which HIPAA Security Rule standards reach the vector store

This table maps each HIPAA Security Rule requirement and related regulation to the part of a self-hosted vector store it affects. Read it as a checklist for the build: the requirement shows what is asked, the source tells you where to verify it, and the last column states what your team must decide or configure.

RequirementSourceWhat it means for the build
Scope over ePHI held by covered entities and business associates45 CFR 164.302Embeddings and payloads derived from clinical notes or records are electronic PHI when they are created, received, maintained or transmitted, so the vector store falls inside the Security Rule boundary.
18 standards and 36 implementation specifications, 14 required and 22 addressableAppendix A to Subpart C of Part 164Document which addressable specifications you adopt, which you implement differently and why. Each choice needs written justification that an assessor can review.
Unique user identification and emergency access procedure45 CFR 164.312 (required specifications)Each engineer and service account needs its own identity. Qdrant API keys are shared by default, so plan per-user or per-service access and a documented break-glass path.
Automatic logoff and encryption of ePHI45 CFR 164.312 (addressable specifications)Set session timeouts for admin consoles and enable TLS for REST and gRPC. Encryption at rest on the storage volumes is a separate decision to record and justify.
Audit controls over access to ePHI45 CFR 164.312 technical safeguardsEnable audit logging of authenticated API operations and forward it to central, tamper-resistant storage. Confirm the retention period with your compliance lead.
Business associate terms for vendors touching the store45 CFR 164.314(a)(2)(i)Any hosting provider, support firm or subcontractor that can reach the vector data needs a contract requiring Security Rule compliance and incident reporting, with the same terms flowed down to subcontractors.
No HIPAA certification existsHHS FAQ 2003Do not accept a vendor claim of HIPAA certification as proof of compliance. Ask for your own risk analysis and evidence of the controls you implemented.
Proposed Security Rule revision90 FR 898 (January 6, 2025); RIN 0945-AA22No final rule had been published as of October 2026, and the Unified Agenda projects final action for July 2027. Design for current rules and track changes that could add requirements.
Access control and need-to-know for EU-facing dataGDPR Article 32; CNIL decision of 3 September 2026CNIL fined Hopital Prive de la Loire EUR 500,000 for external access without VPN or multi-factor authentication and for access control that ignored the care team's need to know. Scope vectors per collection to the roles that need them.
Civil money penalties45 CFR 102.3 (inflation-adjusted range for penalties assessed on or after January 28, 2026)The range runs from $145 to $2,190,294 per violation, with a calendar-year cap of $2,190,294. Treat unmanaged vector stores as a documented risk in your risk analysis.

Which open-source platforms fit clinical data and why

Clinical embeddings are PHI-derived data, so the store, the retrieval layer and the model gateway all need to keep data inside controlled infrastructure with access limits and logs. The options below differ mainly in how much access control, auditing and operational work they leave to your team.

Dedicated Qdrant

Qdrant is a dedicated vector engine under Apache-2.0, with v1.19.2 published October 5, 2026. It suits large clinical collections and per-collection separation of record types. The default install is not secure: it listens on all interfaces with no authentication, so API keys, TLS, per-collection JWT permissions (v1.9.0) and JSON audit logging (v1.17.0) must be configured and tested before any clinical data is loaded. Confirm which of these controls your chosen version and deployment path support, and who owns the log retention.

pgvector inside existing PostgreSQL

pgvector is a PostgreSQL extension under the PostgreSQL License, with v0.8.7 released October 1, 2026, and it supports PostgreSQL 13 and later. Vectors sit beside the relational records they came from, so existing database roles, backups and high availability can apply. Exact search is the default, and HNSW or IVFFlat approximate indexes are available, but indexed vector columns are limited to 2,000 dimensions. Filters apply after the index scan, so confirm that patient-level filters still return complete results. Check that your team can operate the extension at your volume.

Retrieval layer above the store

RAGFlow (Apache-2.0) or AnythingLLM (MIT) can sit above the vector store to handle ingestion, chunking and answers with citations. The retrieval layer often copies clinical text into its own database, cache and logs, which can widen the PHI footprint beyond the vector store. Before adoption, confirm where documents, chunks, chat history and uploads are stored, whether they can be encrypted and deleted per source record, and whether the layer supports per-user filtering that matches your clinical access rules.

Gateway that enforces model access

LiteLLM is MIT licensed except its enterprise directory, and it sits between applications and model providers to route calls, manage keys, set budgets and log requests. It is useful for keeping clinical prompts and retrieved passages on approved endpoints. Confirm which logging features you need are in the non-enterprise code, whether prompt and response logs can be redacted or disabled, and how the gateway's own logs are protected and retained.

Where the vector store runs for PHI, option by option

Your team installs and runs Qdrant in your own data center or cloud account, so the ePHI in vectors and payloads stays on infrastructure you control. Qdrant is Apache-2.0 licensed and free to self-host, but the license does not carry any HIPAA obligations, and the operating burden sits with you. By default, self-deployed Qdrant listens on all network interfaces with no authentication, so hardening is the first task, not an optional one.

  • Storage: Qdrant needs block-level storage with a POSIX-compatible file system. It cannot run on NFS or S3-style object storage, and SSD or NVMe drives are recommended.
  • Quorum: For production, the distributed deployment documentation recommends at least three nodes so quorum survives a node failure.
  • Access control: Use TLS for REST and gRPC, admin and read-only API keys, and JWT-based per-collection permissions, then enable JSON audit logging of authenticated operations.
  • Production path: Choose between the community Helm chart and the enterprise Kubernetes operator. The Helm chart lacks zero-downtime upgrades and automatic shard rebalancing.
  • Owned controls: Your organization owns encryption, backup, key management, logging retention and access reviews, and it signs any business associate agreement with the cloud provider that hosts the nodes.

Confirm with your counsel and security team which hosting provider will sign a business associate agreement before any PHI is loaded.

How a clinical vector deployment rolls out

The sequence moves from deciding what is in scope to proving that clinical vectors are protected, deletable and recoverable before any clinician uses the system. Each phase closes with a document or test result the organization keeps.

  1. Scope record types, users and PHI status

    Agree which source records, such as clinical notes, discharge summaries or imaging reports, feed the embedding pipeline, which teams will query it and which data is excluded. The organization's privacy officer and security lead classify each source and record a decision on whether the derived vectors are ePHI, treating them as ePHI unless counsel documents otherwise. The output is a signed data classification register and an in-scope data inventory that every later phase references.

  2. Design the boundary and permission model

    Define the network zone, hosting location and administrative paths for the vector store, then map identity integration so that users authenticate through the organization's existing identity provider with multi-factor authentication. Design one collection per data classification or care context, with read and write permissions assigned per collection and a named owner for each. The output is an architecture diagram, an access matrix and a list of the business associate or subprocessor terms that apply to any external party in the data path.

  3. Build the cluster with hardened defaults

    The engineering team installs the chosen engine on the organization's infrastructure and removes default-open settings before any data is loaded. This includes binding to the intended interfaces, enabling API keys or JWT-based access, enabling TLS for REST and gRPC, turning on audit logging and placing data on block storage rather than network file systems. Where high availability is required, the team deploys a three-node distributed cluster so quorum survives a node failure. The output is a configuration baseline, a hardening checklist with each setting verified, and a record of the versions deployed.

  4. Wire the embedding and deletion pipeline

    Connect the source record system to the embedding job so that every vector stores a pointer to its source record and version. When a note is amended, withdrawn or deleted in the source system, the pipeline removes or re-embeds the affected points and their payloads and logs the action. The team tests this with sample records to confirm that no orphaned vectors remain. The output is a pipeline runbook, a tested mapping between source identifiers and vector identifiers, and deletion logs that show each change was applied.

  5. Test restores and verify deletion in backups

    Take snapshots of the collections, restore them into an isolated environment running a matching version, and confirm that search results and permissions match production. Then run a deletion scenario: remove a source record, confirm the vector is gone from the live collection, and check whether the deleted content still exists in earlier snapshots or backups. The team sets a retention or purge procedure for backups that addresses any remaining copies. The output is a restore test report and a deletion-in-backup record that the organization can show to auditors.

  6. Assess security and assemble the evidence pack

    Run an independent security assessment of the deployed system, covering configuration, access control, API exposure, TLS and audit logging, and document each finding with its remediation and retest result. DeployOpen prepares the controls and evidence for your compliance assessment, but independent auditors and certification bodies issue any attestation. The output is an evidence pack containing the classification register, architecture, access matrix, configuration baseline, audit log samples, restore and deletion records and the assessment report. No clinical user is onboarded until the organization's security and privacy owners sign off on this pack.

Deleting vectors when source records change

A vector is derived from a clinical note or record, so it inherits the status of that source. When a record is amended, corrected or retired, the matching points and their payloads must be removed or re-embedded, or the assistant will keep answering from content the clinical record no longer supports. The control starts before any deletion happens: keep a mapping table between each source record identifier (the EHR document ID, version and date of last change) and the point IDs written to Qdrant, with the collection name and embedding model version stored alongside. Without that mapping, a correction in the source system cannot be traced to the vectors it produced, and the deletion cannot be proven later. Confirm with your clinical informatics and privacy teams which record events (amendment, correction, retraction, patient request under local law) trigger a delete and which trigger a re-embed.

Deletion should run through the Qdrant API with a service identity whose per-collection write permission is limited to the collections it maintains, so every removal is attributable to a known account. Qdrant's JSON audit logging of authenticated API operations, available since v1.17.0, should be enabled and shipped to the organization's log store, so each delete request has a timestamp, caller and target. Record the source ID, point IDs, request result and a re-query that confirms the points no longer return. Snapshots and backups are the part most teams miss: a snapshot taken before the deletion still holds the removed vectors and payloads until that snapshot expires or is destroyed. Ask your partner how backup retention and snapshot rotation are set for healthcare collections, and whether restores can re-introduce deleted records. Evidence should cover live data and backups together.

Re-embedding after an embedding model change is a separate event. It replaces vectors across a collection in bulk, so it needs its own change record: the old and new model identifiers, the date, the collection affected, the operator, and the counts of points written and removed. Keep that record apart from individual patient-level deletions so auditors can follow each path. Before going live, have the partner demonstrate a full chain on a test collection: amend a source record, delete the mapped points, show the audit entries, confirm the vectors are absent from live search, and then restore an older snapshot in an isolated environment to show how deleted content is handled. Check the HIPAA Security Rule requirements for audit controls and integrity with your compliance lead before you finalize the procedure.

What auditors and regulators ask to see, and which component produces it

This table maps the evidence a HIPAA assessor, HHS Office for Civil Rights reviewer or customer security team typically requests to the system component that generates it. Read each row as a question to answer with a record, and confirm the retention and storage location of each record in your own environment. HIPAA has no certification, so the goal is evidence that holds up when someone asks for it.

EvidenceWhat it showsComponent that produces it
Access reviews of per-collection permissionsWhich users, services and roles can read or write each collection of clinical embeddings, and when that was last reviewedQdrant JWT-based per-collection permissions and API keys, or pgvector roles and grants reviewed from the database catalog
Audit logs of authenticated operationsWho queried, inserted, updated or deleted vectors, from which identity and whenQdrant JSON audit logging of authenticated API operations (v1.17.0 and later), plus PostgreSQL logs when pgvector is used
Encryption in transitClient and inter-node traffic carrying ePHI uses TLS rather than plaintextQdrant TLS for REST and gRPC, or PostgreSQL SSL settings; confirm certificate management in your environment
Encryption at restStorage holding vectors and payloads is encrypted, including backups and snapshotsVolume or disk encryption on the block storage Qdrant requires, or database-level encryption; confirm the method per environment
Backup and restore test recordsBackups exist, cover all collections, and a restore was tested and produced consistent dataQdrant snapshots or PostgreSQL backup tooling, with restore test logs kept by your operations team
Deletion records tied to source changesWhen a clinical record is amended or deleted, the linked vectors and payloads were removed and the removal was loggedYour embedding pipeline's delete job and the vector store's delete operations, with pipeline logs linking source record IDs to point IDs
Business associate agreements and subcontractor listEvery vendor or hosting party that handles ePHI is bound by terms that meet 45 CFR 164.314 requirementsContract records held by your compliance team; list each embedding model host, cloud provider and implementation partner
Change records for upgradesEach version change was planned, tested and approved, with the version in use recordedChange tickets and deployment records; for example, Qdrant v1.19.2 (published October 5, 2026) as the version under review
Risk analysisThreats to ePHI in the vector store were identified, rated and linked to controls and treatment decisionsYour organization's risk assessment, informed by NIST SP 800-66 Rev. 2; confirm scope includes embeddings and backups

Questions to ask an implementation partner before a PHI build

Start by asking the partner to show, not describe, that no default-open interface remains. Qdrant's security documentation states that self-deployed instances listen on all network interfaces and have no authentication configured by default, so ask which bind addresses, API keys, TLS settings and per-collection JWT permissions are set in the delivered configuration, and ask for the file or Kubernetes manifest that carries them. Then ask how they will prove that a scan from outside the permitted network segments fails, and whether the JSON audit logging of authenticated API operations, available since v1.17.0, is enabled and forwarded to the organization's log store. Ask for a written scope that lists every component, port and account the build creates, and check that list against the access control and audit standards in the HIPAA Security Rule (45 CFR 164.312), which the organization must meet regardless of who builds the system.

Ask how the partner will show that a deleted vector is gone from snapshots and backups, not just from the live collection. Qdrant snapshots and any database backups can retain point payloads, so ask for the written procedure that expires or rebuilds them after a source record is amended or erased, the retention period for each backup tier, and the evidence the partner will hand over, such as a deletion record and a restore test that confirms the point is absent. On business associate terms, ask whether the partner will sign a business associate agreement that meets 45 CFR 164.314(a)(2)(i), flows the same terms down to every subcontractor that can reach ePHI, and commits to reporting security incidents. Ask for a list of subcontractors and cloud regions. Finally, ask the partner to restore a backup into an isolated environment during the engagement, demonstrate per-collection permissions and show the audit log entry for one sample access. Be clear about what the partner will not do: it will not issue a HIPAA certification, because none exists, and it will not sign the organization's compliance attestations or agreements on its behalf.

What health organizations ask before hiring help with a clinical vector store

What drives the cost of a clinical vector store implementation?

Scope drives most of the cost: how many record types are embedded, how many collections you need, how identity integration is built, how deletion is wired to source systems, and how much testing and evidence the assessors will expect. Each item adds design, build and verification work, and a fixed-scope quote follows from that written scope. Ask any partner to break the quote into these components so you can see which ones your own data and controls push up. DeployOpen does not publish a price list, so request a written scope and quote before comparing options.

Is the work one-time, or does it recur after go-live?

The build is one-time, but operating a clinical vector store is not. Upgrades, security patching, backup and restore testing, control evidence collection and retained support recur for as long as the store holds PHI. Qdrant documents rolling upgrade behavior differently across its production paths, so an upgrade plan is part of the recurring work. Ask a partner which items are included in the fixed-scope build, which are offered as an ongoing retainer, and what you must provide to keep the system current.

What does the healthcare organization need to provide?

The engagement depends on people from several teams. Data owners must identify which clinical notes and records feed the embedding pipeline and which must be excluded. The identity team must supply the directory integration and role definitions for per-collection access. Privacy and legal review must confirm the treatment of embeddings as PHI and the terms of any business associate contract. You also need a non-production test environment that mirrors the production controls, with a representative but de-identified data set for testing deletion and restores.

Can our own team build and run a clinical vector store alone?

A team can do it alone if it already has strong PostgreSQL or Kubernetes skills and is willing to document a control set before deployment. That includes TLS, authentication, per-collection permissions, audit logging, encryption, backup and restore, and a documented deletion process. The harder parts are usually the deletion pipeline tied to source record changes and the evidence package for assessors, since both require ongoing discipline. Be honest about on-call capacity, because a vector store that holds PHI needs someone accountable for it every day.

Is HIPAA certification available for a vector database?

No, there is no HIPAA certification. HHS states that no Security Rule standard requires an entity to certify compliance, and private certifications do not prevent HHS from later finding a violation. The HHS Office for Civil Rights enforces the rule through complaints, compliance reviews and audits. Some organizations also pursue a HITRUST assessment as an additional assurance program, which is a separate decision. DeployOpen prepares systems, controls and evidence for assessments, but it does not issue audit reports, attestations or certifications.

Will DeployOpen sign a business associate agreement?

Whether a business associate agreement is needed depends on your role and on whether a partner's staff may access electronic protected health information. Under 45 CFR 164.314, a business associate contract must require the business associate to comply with the Security Rule, flow the same terms to subcontractors that handle ePHI, and report security incidents. Confirm the requirement with your counsel, then review the partner's written terms and the scope of access before the engagement starts. Do not rely on a general statement of compliance as a substitute for the contract.

How is the timeline set for a healthcare vector store project?

Most engagements are fixed-scope, which means scope, deliverables and timelines are agreed in writing before work starts. The timeline follows from the record types, the number of collections, the identity integration, and the testing your assessors will require. Ask the partner to show the milestones, the review points for your privacy and security teams, and the conditions that would change the schedule. Avoid any plan that starts build work before the data classification and access model are signed off.

Should we choose Qdrant or pgvector for PHI-derived embeddings?

Choose on operational fit and control needs rather than on feature lists alone. pgvector runs inside PostgreSQL, so vectors share the database, backup and high availability processes you may already operate, and PostgreSQL releases a new major version about once a year. Qdrant offers per-collection JWT permissions and JSON audit logging of authenticated API operations, but it needs block storage, a multi-node design for production, and a separate operations skill set. If your team already runs PostgreSQL well and collections are modest, pgvector may fit. Test both against your filtering, deletion and restore requirements before deciding.

How DeployOpen scopes, builds and supports a clinical vector store

DeployOpen plans, implements, hardens, documents and supports self-hosted open-source platforms inside the client's own infrastructure, so clinical embeddings stay under the organization's control from the first pipeline run. Engagements are fixed-scope, with the scope, deliverables and timelines agreed in writing before work starts.

How we scope

  • Inventory which clinical sources feed the embedding pipeline, including notes, records and attachments, and classify the derived vectors as PHI.
  • Map collections to care teams and roles so access control reflects need-to-know rather than a single shared index.
  • Agree in writing which controls, logs, backup rules and deletion procedures the engagement covers, and which items stay with the client.

How we build

  • Deploy the chosen engine, such as Qdrant or pgvector, inside the client's own cloud account, data center or private network with TLS and authentication enabled.
  • Configure per-collection permissions, audit logging of authenticated API operations and encrypted storage, then test that unauthorized reads and writes fail.
  • Wire the embedding pipeline so each vector carries a reference to its source record, which makes later deletion traceable.

How we hand over

  • Document the architecture, access model, key handling, backup and restore runbooks, and the source-to-vector deletion procedure.
  • Provide evidence packs that show configuration, test results and log samples, prepared for the client's own assessors and auditors.
  • Run restore and deletion tests with the client's operations team so the handover includes a rehearsed procedure, not only a document.

How we support

  • Offer ongoing support, upgrades and continuous security testing as a retainer, scoped separately from the build.
  • Review engine releases and patch versions against the client's change control process before applying them to clinical collections.
  • Re-test access controls and deletion workflows after each material change, such as a new source system or a new embedding model.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.