Practices
Keeping .env.example in sync with every environment
A .env.example drifts because nothing breaks when it's wrong. Compare names, never values, fail CI on missing variables, and compare real environments.
Sharing .env files guide
Sourced write-ups on .env files, CI tokens, offboarding, contractors and audit logs, and on what a server that stores only ciphertext can and cannot see.
Practices
A .env.example drifts because nothing breaks when it's wrong. Compare names, never values, fail CI on missing variables, and compare real environments.
Sharing .env files guide
Secrets
What someone can sign with your Django SECRET_KEY, why the fallback list works against you after a leak, and a rotation order that closes the gap.
Sharing .env files guide
CI/CD
CI masking replaces exact strings in the job log, nothing more. Encoded values, JSON blobs, artifacts and untrusted pull requests all get past it.
CI and OIDC guide
Example. Kiteline is a fictional company.
Migration
Why teams move secrets out of Ansible Vault, how to export them with ansible-vault, bring them into per-environment storage, and keep playbooks working.
Offboarding guide
Migration
EnvKey Cloud closed on February 1, 2025, and the open source code hasn't changed since. How to export what's left, flatten it, and keep the encryption model.
Who can decrypt guide
Secrets
Any variable with a public prefix is shipped to every visitor. How NEXT_PUBLIC_, VITE_, PUBLIC_ and NUXT_PUBLIC_ work, how to check your bundle, and what to do.
Sharing .env files guide
AI agents
A coding agent with a shell can print its environment, and text it reads can ask it to. How to make the keys within its reach worth little.
AI coding agents guide
Teams
None of the three can take back access someone already had. What each tool does when a person leaves, in what order, and why old commits stay readable.
Offboarding guide
Practices
Issue the new key, roll it out, confirm the old one is idle, then revoke it. How AWS, Stripe and databases support overlap, and what to do when they don't.
Offboarding guide
Secrets
APP_PREVIOUS_KEYS lets Laravel 11 and later decrypt with old keys while encrypting with the new one. The order of steps, config:cache, and stored data.
Sharing .env files guide
Self-hosting
Running HashiCorp Vault Community means quorum, unsealing after restarts, snapshots you schedule yourself and audit devices that can stop it. The full list.
Self-hosting guide
Servers
ARG and ENV values stay in a Docker image, and deleting a file in a later layer doesn't remove it. How to build with secret mounts and check an image.
Sharing .env files guide