Skip to main content
Version: Weekly Build

Recommendations for production

note

Not every Codesphere instance offers confidential compute. Ask your Codesphere administrator whether confidential compute is available on your instance. See Prerequisites.

Attestation proves that a known image runs on genuine hardware. It does not prove that the image is safe. The guarantees of confidential compute are only as strong as your control over what goes into the image.

Use static builds​

In a regular Codesphere landscape, the prepare stage often installs dependencies and builds the application into the shared network filesystem. This is not available in the Confidential Compute context, as the contents of the NFS are not part of the attested workflow and can be compromised. Therefore, it is highly recommended to use Codesphere's static build feature to export a workspace to fixed executable artifacts. These artifacts can then be attested and run confidentially.

Use signed images​

Sign every image that is used in your landscape and have your trustee provider add the public key to the workload policy. The trustee service then only approves images signed with your key.

Pin measurements and versions​

  • Reference images by digest, not by tag. Tags can be moved to a different image. Digests cannot.
  • Make policy updates part of your release process. Build, sign, update the workload policy, then deploy.
  • Remove old entries. Delete digests and measurements you no longer run, so old images with known vulnerabilities cannot start again.

Choose who operates the trustee service​

The trustee service is the root of trust for your confidential services. Whoever operates it can approve services and read the secrets it releases. Neither the infrastructure operator nor Codesphere can do this. For production services with strict requirements, operate the trustee service yourself or pick a provider you trust with your secrets.