Skip to main content
← Back to blog

ZopDay VM Container Secrets Live in Your Cloud's Secret Manager

Riya Mittal
Riya Mittal Engineer · Zop.Dev
3 min read
ZopDay VM Container Secrets Live in Your Cloud's Secret Manager

ZopDay VM Container Secrets Live in Your Cloud’s Secret Manager

A secret is safe only if there is no later screen where it can be read. ZopDay VM services now let an org admin mark an environment variable as Secret, in a service’s Settings and in Deploy a new revision. The value is stored in your cloud’s Secret Manager and is never shown again.

The row keeps the key and shows a masked value. This works on ZopCloud too, where the secret is stored under the account that runs the shared pool.

A write-once secret is a value that can be set and replaced but never read back through the product. The sections below show how each part of the design keeps that promise.

The Browser Gets a Reference, Never the Value

When an admin saves a Secret row, the provisioner writes the value to the cloud’s secret store and hands back a reference. The service configuration keeps that reference, not the value. Every later read of the service therefore returns a reference and a masked row.

The write needs the deployment it belongs to. The secret’s name is built from a short hash of the organization, a short hash of the deployment and the variable’s key. A value must be a single line of at most 32 KB.

Architecture diagram

The name carries the owner. Because the organization and deployment hashes are part of it, ownership can be checked from the name alone, without a separate lookup table.

On a Shared Pool, Ownership Is Checked on Every Reference

On ZopCloud, many tenants run on one pool, and the secret lives in the pool owner’s cloud account. That makes the ownership check the important part: a reference on a shared pool is accepted only if the tenant owns it.

Kind of secretCan a tenant reference it?
Its own VM environment secretsYes
Its own database passwordsYes
Its own VM basic authYes
Another tenant’s secretNo

Both configuration and the deployer run the check. A reference that fails it is refused instead of mounted. Without the check, a tenant who guessed another tenant’s reference could point a service at someone else’s value.

This works when every reference goes through one of those two gates. It stops protecting a tenant if a new code path stores a reference without passing through them. That is why the old path that wrote a VM secret by resource id has been removed.

Secrets Are Deleted When Their Owner Goes

A secret that outlives its service is a value nobody is watching. Configuration publishes an event whenever an update drops a reference, and again when a service, an environment or an organization is torn down. A subscriber in the provisioner deletes the secrets named in those events.

Cloning follows the same rule: a cloned service has its VM secret references stripped. A clone therefore never points at a secret that another service owns, and deleting the original cannot break it.

For assistants, MCP gains set_service_secret and delete_service_secret, both requiring organisation update permission. App secrets for Helm and cluster workloads are unchanged, and there is no migration.

Tagged
Riya Mittal

Riya Mittal

Engineer · Zop.Dev

Riya is an AI engineer at ZopDev, working on production LLM pipelines behind the company's content and account-intelligence platforms. She works on the engineering that makes these systems reliable and repeatable, from multi-provider orchestration and structured output validation to evals, idempotent pipelines, and automated recovery. She writes about what it takes to make AI systems reliable enough to run in production.

Stop watching the waste.
Start cutting it.

See. Find. Fix. Automatic.

Connect your first cloud account in under 5 minutes. See your first remediation in under 7. No credit card required.

CDCR connect detect classify remediate
full audit every action traceable
read-only default access
Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console· Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console·