Environments & Secrets

LPM CLI keeps project environment variables in a local encrypted vault. LPM.dev Registry adds cloud sync, browser access, organization sharing, deployment-platform connections, and policy-controlled CI access.

lpm env set DATABASE_URL=postgres://...
lpm env list

lpm login
lpm env push

Local commands work without an account or network connection. Cloud features require an LPM.dev Registry account and the appropriate plan.

Choose the Right Scope

CapabilityAvailability
Local encrypted vaultEvery LPM CLI installation
Named environments and schema validationEvery LPM CLI installation
Personal cloud syncPro account
Organization cloud sharingOrganization account
Dashboard accessPaired browser with access to a synced vault
Deployment-platform connectionsPro personal vault or Organization vault
OIDC pull in CIPro personal vault

Organization vaults use a separate per-member encryption model. OIDC CI escrow is not currently supported for organization vaults.

Local Vault

Store development, staging, and production values without leaving the machine:

lpm env set API_KEY=local-secret
lpm env set --env=staging API_KEY=staging-secret
lpm env get API_KEY
lpm env list --env=staging

Values are masked unless you explicitly reveal them. See Local Secrets for storage, import and export, schema validation, and project identity.

Cloud Sync

Personal Pro vaults can be encrypted locally and synchronized through LPM.dev Registry:

lpm env push
lpm env diff
lpm env pull

Ordinary cloud sync sends ciphertext and wrapped key material. The Registry can store and return the vault but cannot read its secret values. Push and pull operate on the complete project vault, including its named environments.

See Cloud Sync for overwrite behavior, version conflicts, metadata, and the encryption boundary.

Organization Sharing

Organization owners and admins can share a project vault with the organization:

lpm env share --org acme

Each authorized member receives a separately wrapped copy of the vault's encryption key. The Registry stores the shared ciphertext without receiving member private keys.

See Org Sharing for roles, member access, re-sharing, and offboarding.

Dashboard and Deployment Platforms

The LPM.dev Registry secrets dashboard can display and edit a synced vault after the browser is paired with an authorized LPM CLI installation. Decryption and re-encryption happen in the browser.

LPM CLI can also connect a vault to Vercel, Coolify, Fly.io, Railway, or GitHub Actions. Environment values travel directly between LPM CLI and the selected platform; LPM.dev Registry stores the encrypted platform credential and connection metadata.

The OIDC Exception

OIDC allows a verified CI workflow to pull a selected environment without a long-lived LPM.dev Registry token:

lpm env pull --oidc --env=production --output=.env

This is an explicit opt-in change to the trust model. Enabling CI escrow gives LPM.dev Registry protected key material that lets it decrypt the requested environment after the workflow and policy are verified. The plaintext is then returned to that CI job over TLS.

The Registry protects escrow material with a versioned server key. Server-key rotation does not change the env values or require a new policy.

See OIDC for CI before enabling it.

LPM CLI Reference

These pages describe the LPM.dev Registry product and its trust boundaries. For every command, flag, local format, and implementation detail, use: