Security

The Hidden Dangers of Multi-Tenant Cloud Data Storage in Medical Care

M

MedClino Security Team

Author

The Hidden Dangers of Multi-Tenant Cloud Data Storage in Medical Care

Most healthcare organizations that choose cloud-based HMS platforms are aware, at a high level, that they are sharing infrastructure with other organizations. The servers their data runs on also run other customers' data. This is the multi-tenant model — the economic foundation of most cloud services — and it is widely understood to be a reasonable trade-off for the cost and scalability benefits of cloud infrastructure.

What is less well understood is the specific, concrete security risks that multi-tenant architectures introduce in healthcare contexts, and what "tenant isolation" actually means technically — and where it can fail.

What Multi-Tenancy Actually Means

In a multi-tenant cloud application, multiple customer organizations (tenants) share a single application deployment and, in many implementations, a single database. Your data and your neighbor organization's data exist in the same database, separated by identifiers (tenant IDs) that tell the application which records belong to which tenant.

The application enforces the separation through application-layer access controls: when you log in and request patient records, the system adds a WHERE tenant_id = 'your_organization' condition to every database query, ensuring you only see your data.

This is the standard approach, and it works — until it doesn't.

Where Multi-Tenant Isolation Fails

Application Logic Bugs

Multi-tenant isolation implemented purely at the application layer is vulnerable to application logic bugs — coding errors where a developer forgets to include the tenant filter in a query, or where a new feature is implemented without the tenant scope properly applied.

A developer working under deadline pressure, adding a new reporting feature, writes a database query that retrieves aggregated data. They include filters for date range and procedure type, but forget to include the tenant scope filter. The query runs, returns data from all tenants in the database, and the reporting feature displays it.

In most multi-tenant cloud databases, this kind of bug is technically possible. The database layer does not prevent it — it executes whatever query the application sends. The protection is entirely dependent on the application code being correct.

In a healthcare context, this type of bug could expose patient records from hundreds or thousands of organizations simultaneously to anyone who can access the affected feature.

Shared Infrastructure Vulnerabilities

In multi-tenant environments, a vulnerability in one tenant's data can potentially affect others through shared infrastructure. Cache poisoning attacks, side-channel attacks on shared compute resources, and cross-tenant resource exhaustion are all documented attack vectors in multi-tenant cloud environments.

Configuration Errors

Multi-tenant platforms are complex systems with many configuration options. A misconfigured access control policy, a poorly scoped API key, or an incorrectly set permission flag can create unintended cross-tenant data access. Security researchers regularly discover these misconfiguration vulnerabilities in major cloud platforms.

Aggregate Analysis Risks

Even when individual records are properly isolated, multi-tenant systems sometimes enable aggregate analysis that can leak information across tenant boundaries. Statistical attacks on aggregate query results can, in some cases, reveal information about specific records in other tenants' data.

The Regulatory Dimension

India's Digital Personal Data Protection Act (DPDPA) and the broader international regulatory landscape place specific requirements on how sensitive personal data — including health data — is stored, accessed, and protected.

A key principle in most data protection frameworks is data isolation: sensitive personal data belonging to one entity should not be commingled with data belonging to another in ways that create unauthorized access risks.

Multi-tenant architectures, by their nature, require careful regulatory analysis. Healthcare organizations using multi-tenant cloud HMS platforms should obtain from their vendor:

  • Clear documentation of the tenant isolation model
  • Evidence that tenant isolation is enforced at the database layer, not just the application layer
  • The results of independent security audits specifically testing tenant isolation
  • Incident response procedures for cross-tenant data exposure scenarios

How MedClino Implements Tenant Isolation

MedClino's cloud workspace implements database-level tenant isolation, which is architecturally stronger than application-layer isolation alone.

Database-Level Isolation

Each MedClino cloud workspace tenant is assigned a separate database schema — a completely separate namespace within the database where their tables, indexes, and data live. Database queries for one tenant are executed within that tenant's schema and cannot, by database design, return data from another tenant's schema.

This means that even a coding error in the application layer — a forgotten tenant scope filter — would not expose another tenant's data, because the query itself is physically scoped to the requesting tenant's schema by the database connection configuration.

This is similar to giving each tenant their own room in a building, rather than a partition within a shared room. A missing lock on one partition cannot expose another partition's contents.

Row-Level Security as Defense-in-Depth

In addition to schema isolation, MedClino implements row-level security policies at the database level. These policies are enforced by the database engine itself, independently of the application code. Even if application code constructs a query that attempts to access data outside the authorized scope, the row-level security policy rejects the query at the database layer.

This defense-in-depth approach means that a successful attack or bug at the application layer still encounters an independent security enforcement point at the database layer.

Connection Isolation

Each tenant's database interactions use separate database credentials with explicit scope limitations. A database connection authenticated for Tenant A's schema cannot issue queries to Tenant B's schema, regardless of what the application code requests.

The Local Engine Option: Zero Shared Infrastructure

For healthcare organizations with the highest data isolation requirements, MedClino's local desktop engine provides the ultimate isolation guarantee: your data shares no infrastructure with any other organization.

The local engine is a database that exists exclusively on your hardware, managed exclusively by your organization, with no connection to any shared cloud infrastructure (unless you explicitly enable cloud sync). There is no theoretical cross-tenant attack surface because there are no other tenants.

This is the appropriate choice for facilities handling exceptionally sensitive data categories, operating under strict regulatory requirements for data sovereignty, or serving patient populations with heightened privacy expectations.


Switch to a highly secure, isolated database environment. Talk to MedClino's security team about the right isolation model for your facility's data sensitivity and regulatory requirements.