
Blog

Moritz Eckert
At Edgeless Systems, we've made a significant strategic decision: we're discontinuing active development of Constellation and focusing our efforts entirely on Contrast, our confidential containers platform, and Privatemode, our confidential AI inference service that runs on top of it. This shift reflects a fundamental evolution in our understanding of how confidential computing can best serve the cloud-native ecosystem. In this post, we'll explain the technical reasoning behind this decision and why we believe the confidential containers approach better addresses the needs of modern cloud deployments.
Both Constellation and Contrast leverage confidential computing to protect k8s workloads from the underlying infrastructure, but they take fundamentally different architectural approaches.
Constellation implements what we call "Confidential Cluster", a whole-cluster approach where the entire Kubernetes cluster, including the control plane and all worker nodes, runs inside Confidential Virtual Machines (CVMs). The three defining properties of this approach are:
Constellation achieves this by:
This creates a single, coherent confidential context that wraps the entire cluster. The infrastructure provider, including datacenter employees, cloud admins, and potential attackers coming through the infrastructure, are completely removed from the trusted computing base (TCB).
Contrast takes a different approach, operating at the pod level rather than the cluster level. Built on the Kata Containers and Confidential Containers projects, Contrast runs individual pods inside confidential micro-VMs while the Kubernetes control plane remains in the standard infrastructure.
Key characteristics of Contrast's architecture:
The Coordinator component in Contrast acts as an attestation service that verifies all confidential pods and provides a unified attestation statement for the entire confidential deployment, despite the pods running on untrusted infrastructure.
The key differentiator between these approaches lies in what must be trusted, the TCB.
Constellation's TCB includes:
Contrast's TCB includes:
Crucially, Contrast removes the Kubernetes control plane, the hypervisor, the host OS, and cluster administrators from the TCB. The cluster operators can manage the infrastructure without having access to the confidential workload data or code.
Our shift to Contrast reflects several key insights about how organizations actually deploy and operate Kubernetes in production.
The vast majority of organizations use managed Kubernetes services like AKS, EKS, and GKE. These services handle the complexity of control plane management, updates, and high availability. Constellation's whole-cluster approach requires organizations to forgo these managed services and take on the operational burden themselves: deploying, managing, and upgrading the entire Kubernetes control plane.
While this approach provides maximum security by including the control plane in the confidential context, it creates significant operational overhead. Organizations must:
For many organizations, this tradeoff doesn't make sense. They want the security benefits of confidential computing without abandoning the operational advantages of managed Kubernetes.
In practice, not all workloads in a cluster require confidential computing isolation. A typical application might have:
With Constellation, it's all-or-nothing: the entire cluster must run in CVMs. With Contrast, organizations can run confidential and non-confidential workloads side-by-side in the same cluster, enabling truly heterogeneous deployments. This provides:
This brings us to the most critical distinction between Constellation and Contrast. One that fundamentally determines which use cases each approach can serve.
Constellation's architecture provides strong isolation from the cloud infrastructure. It protects against:
However, Constellation does not provide workload-level attestation or isolation. Within a Constellation cluster:
This means Constellation serves one primary use case: organizations that trust themselves but need to isolate their entire infrastructure from the CSP. It's a "cloud migration" solution for moving on-premises workloads to the cloud while maintaining the same trust model.
Contrast's pod-level architecture enables a fundamentally different trust model with per-workload attestation and isolation:
This enables a multi-party trust model where three separate, mutually distrusting parties can interact:
Critically, Contrast protects against malicious workload operators, including Kubernetes administrators with full cluster access. The data owner can verify through remote attestation that:
This architectural difference isn't just theoretical. It determines which real-world use cases are possible.
One of the most prominent examples of provider exclusion is the Gematik VAU (Vertrauenswürdige Ausführungsumgebung) for ePA in Germany's electronic health record system. The VAU specification requires that even the service provider operating the system cannot access patient data. This is enforced by workload-level attestation, which verifies the exact code handling health data and cryptographically excludes the provider from accessing sensitive information.
Constellation cannot meet these requirements. There's no mechanism for clients to attest individual workloads or prove that operators can't access data. The whole cluster, including administrators, is part of the trusted context.
Contrast enables provider exclusion through per-pod attestation and isolation. Clients can verify the exact workload and cryptographically ensure that operators are excluded from data access, fulfilling the Gematik VAU requirements.
Consider Privatemode, our end-to-end encrypted GenAI API service. The architecture requires:
This architecture is impossible with Constellation. There's no way to attest individual AI workers separately from the cluster. The cluster operator (Edgeless Systems) would be part of the TCB and could access user data, defeating the entire security model.
Contrast makes this architecture possible through its per-pod attestation and policy enforcement. Each AI worker runs in an isolated micro-VM, is individually attested by the Coordinator, and only receives decryption keys after successful verification.
Modern SaaS platforms face increasing pressure to prove they cannot access customer data:
Constellation doesn't help here because the SaaS provider operates the cluster and remains in the TCB. Customers have to trust the provider's access controls.
Contrast enables verifiable privacy where customers can attest the SaaS workload and cryptographically verify that even the SaaS provider cannot access their data: true zero-trust architecture.
Beyond the architectural benefits, Contrast offers several practical advantages:
Contrast integrates into existing Kubernetes workflows with minimal changes:
Constellation requires an entirely new cluster deployment with its own CLI and tooling.
With Contrast:
With Constellation:
We should be honest about the trade-offs. Constellation does offer some advantages that Contrast sacrifices:
Constellation protects the Kubernetes control plane itself within the confidential context. This means that even cluster state, configurations, and secrets stored in etcd are encrypted and protected. In Contrast, the control plane runs outside the confidential boundary.
However, Contrast mitigates this through:
In most use cases, protecting workload data is more critical than protecting control-plane metadata.
Constellation provides fully transparent network and storage encryption for the entire cluster. Every network packet and storage block is encrypted without application changes.
Contrast requires more careful attention to:
This requires more developer awareness but provides greater flexibility and explicitly defines trust boundaries.
Constellation's single attestation statement for the entire cluster is conceptually simpler than Contrast's composite device model. However, Contrast's Coordinator provides a similar unified attestation statement that encompasses all confidential pods in a deployment, verified against a manifest.
Our decision to focus on Contrast comes down to alignment with how the industry is evolving and the fundamental capabilities required for modern confidential computing use cases:
Constellation served an important role in exploring the "whole cluster" approach and demonstrated what's possible with confidential computing. However, we've learned that its limitation to infrastructure isolation, without workload-level attestation, fundamentally restricts its applicability.
The use cases that matter most today require workload attestation:
While Constellation's vision of a fully confidential cluster is technically impressive, it solves primarily the "cloud migration from on-prem" use case. Contrast provides capabilities that unlock entirely new architectures and business models that were previously impossible.
For existing Constellation users: Constellation's code remains available as an open-source project. While we're no longer actively maintaining it, the repository and documentation remain available for archival purposes and community use. We encourage users to evaluate Contrast as an alternative that may better fit their operational requirements.
For those evaluating confidential computing: We recommend starting with Contrast. It provides strong security guarantees while integrating seamlessly with existing Kubernetes environments. The ability to selectively apply confidential computing to specific workloads makes adoption more practical and cost-effective.
Confidential computing is still evolving, and our shift from Constellation to Contrast reflects our deeper understanding of where this technology delivers the most value. The fundamental insight is this: workload-level attestation and isolation are more important than cluster-level isolation for the majority of confidential computing use cases.
Constellation demonstrated the technical feasibility of whole-cluster confidential computing and served an important role in our learning journey. It remains a valid approach for organizations that:
However, we've learned that this use case is narrower than we initially anticipated. The use cases that truly unlock confidential computing's potential, provider exclusion, confidential AI services, and verifiable SaaS, all require workload-level attestation that Constellation fundamentally cannot provide.
Contrast enables these use cases while maintaining compatibility with managed Kubernetes, existing tools, and cloud-native architectures. It's the architecture that aligns with industry evolution, regulatory requirements, and the real-world needs we see from customers.
We're excited about this focus and the innovation it enables. Confidential computing is moving from "protecting against the cloud" to "enabling new trust models in the cloud," and Contrast is the right foundation for that future.
Learn more about Contrast in our documentation or reach out to discuss your confidential computing needs. For Privatemode, our confidential AI API built on Contrast, visit privatemode.ai.
Author: Moritz Eckert