Open source · Rust native
Secrets, served
straight to RAM.
ramenv encrypts secrets at rest and injects them into a child process without writing plaintext files. Validate first when needed.
From .env
to process memory.
ramenv run decrypts secrets
before starting your process.
IMPORT Choose what enters the vault.
ENCRYPT Each environment gets its own key.
VALIDATE Run an optional schema check.
RUN Load secrets into process memory.
Import your secrets
Choose which values to import from an existing .env file.
ramenv onboard developmentEncrypt each environment
Development, staging, and production each use a separate key.
ramenv set production API_KEYValidate before launch
Check types, ranges, patterns, and required values with a separate, optional command. ramenv run skips validation.
ramenv validate productionLoad secrets into memory
ramenv decrypts values for the child process without creating a plaintext file.
ramenv run production -- npm startKeys stay out of Git.
Encrypted values stay in the vault.
environment keys
vault signing keys
ramenv init adds .env and.ramenv.keys to .gitignore. Review any values stored with --plaintext before committing the vault.
Choose your
ingredient.
Choose where to store your workspace’s encryption and vault-signing keys: a local file or a cloud secret manager. In ramenv, this storage provider is called an ingredient.
Where ramenv
stores data.
- KEY STORAGE
- Local file Cloud secret manager
- APPLICATION VALUES
.ramenv.vault.toml- AT LAUNCH
- Fetch keys → decrypt → start your process
For cloud ingredients, .ramenv.keyrefs.toml records version-pinned key references. The file contains no raw keys or cloud credentials.
Local
DEFAULT.ramenv.keysKeep raw keys in a gitignored file at the workspace root. Back up and share this file securely.
ramenv init --ingredient localNo cloud account, login, or provider location required.
Local key guideAWS
Secrets ManagerStore keys in AWS Secrets Manager. ramenv uses the AWS SDK’s default credential chain, including profiles, SSO, and workload roles.
ramenv init --ingredient awsAuthenticate with AWS, then enter your region during initialization.
AWS setup guideAzure
Key VaultUse an existing Azure Key Vault. Authentication options include developer-tool credentials, client secrets, managed identity, and workload identity.
ramenv init --ingredient azureAuthenticate with Azure, then enter your Key Vault URL during initialization.
Azure setup guideGoogle Cloud
Secret ManagerStore keys in Google Cloud Secret Manager. ramenv authenticates with Application Default Credentials (ADC). A gcloud CLI login alone is insufficient.
ramenv init --ingredient googleEnable the Secret Manager API, then enter your project ID during initialization.
Google setup guideWorkspace configurationChoose an ingredient when you initialize the workspace. ramenv saves it in .ramenv.workspace.toml for runtime commands. Re-running init with another ingredient does not migrate an existing workspace.
Cloud accessGrant the required secret-store permissions and prefer workload identities for deployments. Follow your provider’s setup guide for authentication and access.
Compare environments
before deploy.
ramenv diff development production MASKED BY DEFAULTdevelopment
staging
production
checks
Validate before
launch.
Run ramenv validate when you want a schema check. It catches bad types, out-of-range values, pattern mismatches, and missing required keys.
type = "port"required = trueOne keyring.
Isolated vaults.
Share environment keys across services using your workspace’s ingredient. Each service keeps its own vault, validation rules, and vault-signing key.
DATABASE_URL=postgres://admin:password@…
API_KEY=sk-live-4f31ac98…
DEBUG=false
API_KEY ="secret:FDRfxGTzJa…"
[metadata]
signature = "a91c3e…"
Run your app with
encrypted secrets.
MIT LICENSENO RUNTIME DEPSONE SMALL BINARY