Blog
DevSecOps
minutes

Inside Qovery’s security architecture: how we secure your cloud & Kubernetes infrastructure

Discover how Qovery bridges the gap between developers and infrastructure with a "security by design" approach. From federated identities and unique encryption keys to real-time audit logs and SOC2 Type 2 certification - see how we protect your data while eliminating vendor lock-in.
Kevin Pochat
Security & Compliance Engineer
Summary
Twitter icon
linkedin icon

At Qovery, we always treated Security as a central pillar of our engineering choices. From encryption to auditability, from secrets to updates, every component works to ensure we provide you with the highest standards, in our product, and for your applications.

As they say, show, don’t tell, so let’s dig deeper into how Qovery backs our claims.

Qovery in a nutshell

Qovery is a DevOps automation platform. It is meant to bring you and your developers the best properties of modern infrastructure (reliability, scalibility, observability, security, flexibility) while saving you the operational overhead that generally comes with it.

To provide this automation, you define your desired state in the Qovery Control Plane (SaaS product) using your favorite client (CLI, Terraform, AI, API, Web Console…), and the Control Plane defines the tasks required to reach this state.

The Qovery engines actually execute those tasks and ensure that your Kubernetes Clusters are deployed, configured, updated, and host the desired applications.

Qovery was founded by infrastructure experts, well aware that this position holds great responsibilities, and must deserve your trust.

To earn your trust, we make Qovery transparent where it matters, your secrets protected, and your infrastructure resilient and standards-compatible, even without or after Qovery.

In short, Qovery bridges the gap between your developers and your IaaS subscription or your On-Prem stack.

Qovery architecture

Here is a high-level overview of Qovery’s components and their immediate environment.

Qovery’s components can be split into 4 categories:

  • The front-ends including the Web UI (Console), the CLI, the Terraform provider, and the AI-Assistant (Copilot).
  • The back-end that executes all business rules, stores configuration data, and prepare deployment jobs.
  • The engines in charge of actually executing deployment jobs, whether by calling Cloud Service Providers APIs (Infra Engines) or building apps and piloting Kubernetes clusters (Env Engines). Infra or Env, it’s all the same code: the Qovery Engine.
  • The agents ensuring your services’ DNS records and TLS certificates are set up, and forwarding monitoring data to the back-end upon request

The components named [Qovery Backend], [Qovery Monitoring], [Qovery AI Copilot], [Infra Engines], and [Managed Env Engines] in the diagram are currently hosted by AWS, in region [us-east-2].

The communication flow is as follows:

You run it, you own it

One of the core tenets of Qovery is to avoid vendor lock-in.

Your applications, your infrastructure, your data, your devices, they’re yours, whether Qovery is here or not.

We deploy, you run

Once a service is deployed by Qovery, it is set-up once and for all. Qovery services are not needed to keep it running.

Should Qovery become unavailable, only your deployment capability is impacted, not your operations.

Federated identities only

Access to Qovery is made using Auth0 (Okta), and only allows you to connect through your favorite Identity Provider.

Whether it’s Google, GitHub, GitLab, BitBucket, Microsoft, or even your own SAML or OIDC IdP, you remain in control of your password and authentication policies. Qovery just follows your rules.

There’s no such thing as a Qovery password.

Industry standards

Whatever your favorite flavor of Kubernetes, Qovery relies on standard K8s API calls, without adding a proprietary layer, or mandatory agent.

The engines rely on Terraform, Helm, and Kubectl, not some self-made black box.

This means that Qovery can be added, after the fact, to your current infrastructure, and that your infrastructure keeps on running even if you stop using Qovery.

Open-source that matters

Every Qovery-built software component intended to run on your infrastructure, your devices, or in your web browser is Open Source, freely available on GitHub.

You can audit the source code, dependencies, Terraform files, and Helm charts as you see fit.

🫵 Why it matters to you

Come as you are

If you already use standard IaC and/or containerization tools, you can leverage what you have directly in Qovery. No need to rewrite, adapt or migrate.

Once your setup is running, you only need Qovery to keep your deployments flow. You can still monitor, query, observe your Kubernetes Cluster as you wish, with standard tools.

Should I stay or should I go

Even if Qovery were to experience downtime, you will have no impact on your running services. Even automatic TLS certificates renewal will keep working.

And should you decide to stop using Qovery, your cluster will stay the same, and you’re left with reusable blueprints as if you did it yourself without Qovery.

How the data flows

Unique encryption keys

Qovery lives in a central place in your information system, between your source code and your infrastructure. As such, Qovery has privileged access to these vital assets. Here’s how we keep them safe.

We use AWS KMS to provide us with an HSM-generated cryptographic key, and allow us to perform key rotation at scale safely. Access to this key is tightly restricted.

Each customer’s organization gets its own, unique, PBKDF encryption key.

Our database is hosted on AWS RDS with AES 256 encryption enabled.


🫵 Why it matters to you

Get off my lawn

We use different encryption keys for each customer, so even if despite our best efforts, another customer compromises Qovery, they have no way to decrypt your keys, limiting the impact of lateral movements.

Hard as rock

As our database relies on AES encrypted volumes, even physical access to our servers, hosted by AWS, cannot grant access to your data.

Secret mission

Each Qovery deployment job requires only a limited subset of an organization’s secrets. Qovery knows what’s needed, and provides the engines with the strict necessary to do their job.

On cloud providers where such a technology is available, Qovery uses short-lived tokens to connect to your IaaS tenant, e.g. using STS for AWS.

Your logs, your certificates, right where they belong

Qovery allows you to monitor your deployments, but also your apps, and go even beyond with our Observability module.

While Qovery provides you with a live, seamless observability experience, your application logs, usage data and metrics are never stored in our systems. They remain on your infrastructure, and are pulled, as needed, directly there. We don’t keep a copy., we don’t store your logs, usage data or metrics.

Let’s focus on a subset of the architecture diagram.

Your deployed services send telemetry locally, to the Qovery Agent, which in turn can forward the relevant data, through gRPC calls to the Back-end, to be delivered in the web console for example. No copy is kept on Qovery’s systems.

To fully grasp how this works, we need to zoom in a bit more on what is called the Qovery Agent until now. It is not a single software component, not even a single container. It is a collection of apps running inside the `qovery` Kubernetes namespace, within your cluster.

In this namespace lives a Loki / Promtail / Thanos / Prometheus stack that is queried through Qovery’s backend when using the Service Logs, Monitoring or Alerting features of Qovery, but also instances of cert-manager or External-DNS

The local cert-manager means that your certificates are based on private keys that never leave your infrastructure, giving no chance to mishandling or interception.


🫵 Why it matters to you

Waterproof

A misconfiguration or development error can result in unwanted information being logged by an application. Should this happen to you, Qovery would be none the wiser, and you can act accordingly freely, on your data, in your servers, so an error does not turn into a data leak.

With great power…

Qovery grants you fine-grain access control over your resources with our Role-Based Access Control (RBAC) system.

We have defined 4 built-in roles: Admin, Billing, DevOps, and Viewer. You can see what access they are granted in the docs, but you can define custom roles too.

Each custom role can be granted permissions at different levels:

  • At cluster level
    • For all clusters
    • For each defined cluster independently
  • At project level
    • For each defined project independently
    • For environment types (production, staging, development or preview) within a given project

With our SSO module, you can also automatically map your IdP groups to roles, either built-in or custom, allowing you centrally manage who gains access to what, using your usual administration tools and process.


👉 Now that you defined “who can do what”, you probably wonder “who did what, and when”.

That’s where our Audit Log feature comes to the rescue. You can access it from a global, organization-wide standpoint, or contextually, from a given Cluster, Project, Service, Environment, or Service standpoint.

Every action is logged in an immutable database, with rich details covering the who, the what, the when, and even the how of every change made to your infrastructure.

Qovery team’s support operations are logged too, so nothing can escape your scrutiny.


🫵 Why it matters to you

Dot the i's and cross the t's

If your infrastructure behaves suspiciously, you will want to know the truth. Qovery lays bare, before your eyes, every action, every change, in order to assist with your investigation.

Personal data, no thank you.

The Qovery-built components (the green blocks in the architecture diagram) stores the strict minimum of Personally Identifiable Information (PII):

  • A pseudonymized user identifier (User ID)
  • IP addresses (in logs)

Note that, depending on your usage of Qovery, there may be other PII involved, e.g. if you include an email address as the value of an environment variable, but we strongly recommend no doing so, and will not treat “free text” elements of your organization as PII.

IP addresses appear in logs, and are kept for security & compliance reasons, even if you delete your organization.

User ID are pseudonymized only as long as we can connect them to other PII like your name and email address. As soon as these are deleted, the User ID can be considered as anonymized fully, as it is not reversible to a name or email address.


👌 Your name and email address are actually stored in our delegated authentication service: Auth0

The Qovery backend queries Auth0 for names and emails, to be able to display names in the console, or to send you email notifications, so these are processed by Qovery **but never stored** in our product’s database.

We do, however, share PII with some of our sub-processors (the blue blocks in the architecture diagram), as necessary to comply with our legal obligations (billing, etc.) and to provide our services. We make sure that all the relevant legal measures are in place to frame the transfer of such PII to these sub-processors, and ensure you can exercise your rights to privacy.

Continuous security

Qovery adheres to industry best-practices to ensure that we continuously maintain and improve the security level of our product.

  • Our source code management system imposes review of all changes before deployment
  • We track dependencies vulnerabilities on every layer thanks to AWS GuardDuty, Dependabot, Renovate…
  • We create backups, and we test the restoration procedure weekly
  • We prevent technical debt and outdated libraries, requesting our “on-call” engineer to update all dependencies as part of his weekly chores (weekly rotation)
  • We prevent configuration drift by using Infra-as-Code tools, and Cloud Security Posture Management (CSPM) tools, ensuring we apply continuously-updated best practices.

🙌 We use Qovery to deploy Qovery. Every improvement we make to our own infrastructure security is automatically reflected in yours (for the relevant scope).

As we are aware that no technical solution can reasonably claim to be 🙃*100% secure*🙃, we ask the best research teams to try to hack our product on an at-least-yearly basis through penetration testing.

This solid technical foundation is completed with a continuously-improving cybersecurity management system based on risks assessment and treatment, leading to our SOC2 Type 2 certification in October 2025.

Customer-driven future

We are developing new features, and improving the existing ones, to enhance your security and keep deserving your trust.

As a Qovery customer, your inputs are highly valuable, and your impact on our roadmap is real.

Should you wish to discuss risks, features, or integrations, we would be delighted to hear your opinion and inputs.

Share on :
Twitter icon
linkedin icon
Ready to rethink the way you do DevOps?
Qovery is a DevOps automation platform that enables organizations to deliver faster and focus on creating great products.
Book a demo

Suggested articles

DevSecOps
 minutes
Inside Qovery’s security architecture: how we secure your cloud & Kubernetes infrastructure

Discover how Qovery bridges the gap between developers and infrastructure with a "security by design" approach. From federated identities and unique encryption keys to real-time audit logs and SOC2 Type 2 certification - see how we protect your data while eliminating vendor lock-in.

Kevin Pochat
Security & Compliance Engineer
Platform Engineering
 minutes
The evolution of Kubernetes mTLS: from manual logic to Ambient Mesh

Manual mTLS vs. Service Mesh: Which is right for your Kubernetes cluster? Explore the operational risks of manual setups and the benefits of node-based encryption.

Pierre Mavro
CTO & Co-founder
Kubernetes
DevOps
Ephemeral Environments
 minutes
The fastest way to K8s: how Qovery builds self-service environments in minutes

Slash Kubernetes provisioning time from days to minutes. Discover how Qovery’s self-service ephemeral environments automate infrastructure, eliminate bottlenecks, and accelerate developer velocity.

Mélanie Dallé
Senior Marketing Manager
Qovery
Product
5
 minutes
From a simple CLI PaaS to a unified DevOps Platform (2020 → 2026)

Six years of Qovery, and the philosophy behind every pivot

Romaric Philogène
CEO & Co-founder
DevOps
 minutes
Best 10 VMware alternatives: the DevOps guide to escaping the "Broadcom Tax"

Facing VMware price hikes after the Broadcom acquisition? Explore the top 10 alternatives - from Proxmox to Qovery, and discover why leading teams are switching from legacy VMs to modern DevOps automation.

Mélanie Dallé
Senior Marketing Manager
DevOps
DevSecOps
 minutes
Zero-friction DevSecOps: get instant compliance and security in your PaaS pipeline

Shifting security left shouldn't slow you down. Discover how to achieve "Zero-Friction DevSecOps" by automating secrets, compliance, and governance directly within your PaaS pipeline.

Mélanie Dallé
Senior Marketing Manager
DevOps
Observability
Heroku
 minutes
Deploy to EKS, AKS, or GKE without writing a single line of YAML

Stop choosing between Heroku's simplicity and Kubernetes' power. Learn how to deploy to EKS, GKE, or AKS with a PaaS-like experience - zero YAML required, full control retained.

Mélanie Dallé
Senior Marketing Manager
DevOps
Platform Engineering
 minutes
GitOps vs. DevOps: how can they work together?

Is it GitOps or DevOps? Stop choosing between them. Learn how DevOps culture and GitOps workflows work together to automate Kubernetes, eliminate drift, and accelerate software delivery.

Mélanie Dallé
Senior Marketing Manager

It’s time to rethink
the way you do DevOps

Turn DevOps into your strategic advantage with Qovery, automating the heavy lifting while you stay in control.