Data Protection
In this guide, you'll learn how Medusa protects your project's data on Cloud, including encryption, data location, isolation, backups, and self-hosting options.
How Medusa Protects Your Data#
Medusa manages the infrastructure, encryption, and backups of your project's resources, so you don't need to configure them yourself.
You remain responsible for the security of your Medusa application's code, its dependencies, the third-party services it connects to, and who you give access to your organization.
To learn how Medusa protects your projects from malicious traffic, such as web attacks, DDoS attacks, and bots, refer to the Medusa Security guide.
Encryption at Rest#
Medusa encrypts the following data at rest by default. You don't need to enable or configure encryption at rest.
Data | Encryption |
|---|---|
AES-256 | |
AES-256 | |
AES-256 | |
AES-256 |
Medusa manages the encryption keys for all of these resources. Customer-managed encryption keys aren't supported.
Encryption in Transit#
Medusa encrypts data in transit between clients and your project, and between your project's resources:
- Public endpoints: Your backend and storefront URLs, including custom domains, are served over HTTPS. Medusa redirects HTTP requests to HTTPS.
- File storage: The storage that holds your uploaded files rejects requests that don't use HTTPS.
- Database and Redis: Your Medusa application connects to its database and Redis over TLS through a private network connection.
- External database connections: Your database rejects connections that don't use TLS, including connections from tools you use with the database connection strings.
Data Location#
When you create a project, you choose the region that hosts it. You can't change a project's region after you create it.
Medusa supports the following regions:
Region | Code | Location |
|---|---|---|
US East |
| North Virginia, United States |
Europe Central |
| Frankfurt, Germany |
Asia Southeast |
| Singapore |
Medusa stores the following data in your project's region:
- Your Medusa backend and its workers.
- Your environments' databases and database backups.
- Files uploaded through your Medusa application.
- Your environments' Redis data.
- Your Medusa Search indexes.
Resource Isolation#
Medusa isolates the resources of each environment from other environments and other projects:
- Database: Each project has its own database cluster, and each environment has its own database and credentials.
- Redis: Each environment has its own Redis database.
- Compute: Each environment runs in its own isolated network space that blocks incoming traffic from other environments.
- File storage: Each environment can only access its own files.
Backups#
Medusa backs up your environments' databases daily and retains the backups based on your plan. You can download or restore a backup from the Cloud dashboard.
Learn more about backups and their retention periods in the Database guide.
Access Control#
Cloud provides the following features to control access to your organization and project data:
- Two-factor authentication: Require a second factor when signing in to your account. Learn more in the Account guide.
- Organization roles: Only organization owners can perform sensitive actions, such as managing database write access. Learn more in the Organizations guide.
- Database IP allowlist: Restrict which IP addresses can connect to your environments' databases. Learn more in the Database guide.
- Static outgoing IP addresses: Allowlist Cloud's outgoing IP addresses in third-party services your Medusa application connects to. Learn more in the IP Addresses guide.
Self-Host with an Enterprise License#
Medusa only hosts projects on infrastructure that Medusa manages. You can't connect your own hosting provider account, such as an AWS or Google Cloud account, to Cloud and deploy your projects into it. This setup is also known as Bring Your Own Cloud (BYOC). If your business must keep all data within infrastructure it owns, for example, to meet internal security policies or regulatory requirements, you can self-host Medusa instead.
When you self-host Medusa, you're responsible for setting up and securing its infrastructure, including encryption, backups, and data location. Learn more in the Cloud vs Self Hosting guide.
With an Enterprise license, you can self-host Medusa and get:
- Support from the Medusa team under an Enterprise contract.
- Enterprise features, such as role-based access control (RBAC) and single sign-on (SSO).
To learn more about the Enterprise license, contact the Medusa team.