Understanding tenant security

The multitenant architecture uses strict isolation to protect tenant data, configurations, and user permissions.

Your tenant's data, configurations, and user permissions are private and protected from access by any other tenant on the platform.

Data isolation

Your tenant data is stored in a dedicated database that is logically and cryptographically isolated from all other tenants. This isolation is achieved through two primary mechanisms:

Database per tenant
Each tenant is allocated its own database. This ensures a foundational level of data separation at the storage layer.
Unique encryption keys
The data at rest in your dedicated database is encrypted with a unique encryption key. This cryptographic control prevents any other tenant, or the platform administrators, from reading your data directly.

Authorization and access control

All security configurations and items are scoped exclusively to your tenant. Permissions defined within the context of a single tenant do not extend to any other.

The following security items are specific to your tenant:

  • Roles
  • Access Control Lists (ACLs)
  • Permissions
  • API keys

For example, an API key generated in your tenant can only be used to access your tenant resources.

Security of shared services

Some backend services, such as the messaging system (Kafka), are shared across the platform for operational efficiency. Data from your tenant is protected in these shared services by a dual-layer security model:

  • Logical separation: A unique tenant ID is attached to every message to ensure it is processed only within the context of your tenant.
  • Cryptographic separation: Messages are encrypted with a key specific to your tenant. If a message is routed to the wrong tenant, that tenant cannot decrypt or read the message content.