Secrets

SecretsEncryptionCMEKSecurity

Secrets

Planton includes a built-in secrets manager that gives your organization a single, secure home for sensitive values. API keys, database passwords, service account tokens, private certificates β€” anything that should never appear in plaintext in a log file, a database, or a configuration repository.

If you have used HashiCorp Vault, AWS Secrets Manager, or GCP Secret Manager, the model is familiar. Planton adds envelope encryption with customer-managed key support, immutable versioning, just-in-time decryption within your own infrastructure, and organization-wide and environment-specific scoping β€” all with zero infrastructure to deploy or maintain.

In the web console, secrets are managed from the Secrets tab within Service Hub in the sidebar.

The Problem

In most DevOps environments, sensitive values are scattered:

  • AWS access keys live in CI/CD environment variables
  • Database passwords are duplicated across Kubernetes Secrets in each cluster
  • API tokens are hardcoded in deployment manifests
  • When someone rotates a credential, they have to track down every place it was used

This creates security risk (secrets in plaintext, in too many places), operational burden (credential rotation is manual and error-prone), and audit gaps (no record of what changed, when, or by whom).

What Planton Offers

Envelope encryption β€” Every secret is encrypted before it touches any storage system. A unique AES-256 encryption key is generated for each secret version. That key is itself encrypted by a Key Encryption Key. Even with direct access to the storage backend, an attacker sees only ciphertext.

Customer-managed keys β€” By default, Planton manages the encryption key. Organizations that require cryptographic control can bring their own key from AWS KMS, GCP Cloud KMS, or Azure Key Vault. Revoking a customer-managed key renders all encrypted secrets permanently unreadable by anyone, including Planton.

Just-in-time decryption β€” Secrets needed for deployments are decrypted only within the Planton Runner, which runs in your infrastructure. The plaintext value exists only for the duration of the operation, only in your environment. Planton's control plane never sees the decrypted values.

Immutable versioning β€” Every change to a secret creates a new version with its own encryption key. Previous versions remain available for audit and rollback. There is no "someone changed the password but we don't know when or what it was before."

Organization and environment scoping β€” Organization secrets are available everywhere. Environment secrets are specific to a single environment (dev, staging, production). A production database password cannot be accidentally used in development.

Secret Backends

Secrets are stored in a dedicated backend. Every organization starts with a built-in backend powered by OpenBAO β€” ready to use with zero configuration. Organizations that need secrets to stay within their own cloud accounts can connect their own backend:

BackendDescription
Built-in (OpenBAO)Platform-managed, zero configuration, per-organization key isolation. The default.
AWS Secrets ManagerStore secrets in your AWS account
GCP Secret ManagerStore secrets in your GCP project
Azure Key VaultStore secrets in your Azure tenant
HashiCorp VaultUse your existing Vault infrastructure
Self-hosted OpenBAOSame technology as the built-in backend, operated by you

See Secret Backends for setup instructions and Encryption for how secrets are protected.

How Secrets Are Used

In CI/CD Pipelines

Services in CI/CD reference secrets by name. During the deployment pipeline, references are resolved and injected into the service's runtime environment:

# View resolved configuration for a service
planton service env-vars --env production

# Generate .env files for local development
planton service dot-env --env production

In Infrastructure Deployments

Infrastructure deployments through Infrastructure can reference secrets for any input that requires sensitive values. The secret reference is stored in the resource definition; the actual value is resolved just-in-time within the Runner before the deployment executes.

In Connections

Connections that use inline credentials will support secret references for sensitive fields β€” storing the reference in the connection definition while the actual credential lives in the secrets manager, encrypted and versioned.

Getting Started

  1. Create your first secret β€” Navigate to Secrets in the web console or use planton service secrets upsert. The built-in backend and platform-managed encryption are ready out of the box.
  2. Reference from services β€” Wire secrets into your service deployments.
  3. (Optional) Configure a custom backend β€” If compliance requires secrets to stay in your own cloud account.
  4. (Optional) Enable CMEK β€” If your organization requires control over the encryption key.

Section Contents

  • Managing Secrets β€” Creating, versioning, and referencing sensitive values
  • Secret Backends β€” Where secrets are stored and how to configure backends
  • Encryption β€” Envelope encryption, customer-managed keys, and the zero-trust model
  • Variables β€” Non-sensitive configuration management
  • Security Overview β€” Platform-wide security architecture and how encryption fits into the broader trust model
  • Runner β€” The secure execution agent where secrets are decrypted

Next article

Managing Secrets

A secret in Planton is a named container for sensitive data β€” API keys, database passwords, service account tokens, private certificates, or any value that should never appear in plaintext in a database, log file, or configuration repository. Secrets are scoped to an organization or a specific environment, versioned immutably, and encrypted before they touch any storage system. If you have used GitHub Organization Secrets, GitLab CI/CD Variables (protected), or AWS Secrets Manager, the model is...
Read next article

Β©2026 Planton Cloud Inc. All Rights Reserved.