Keel

Environment variable management across environments

Every project in Keel has Development, Staging, and Production environments. The same key can hold a different value in each, and each environment can have its own access list.

One key, three values

An application usually reads the same variable name everywhere, such as DATABASE_URL, but the value differs by environment. Keel stores them side by side under one project so the differences are visible and deliberate instead of buried in three different files.

Import an existing .env file

Drop a .env, .env.<name>, or *.env file into the dashboard. Parsing happens in your browser and nothing is sent until you confirm. The preview never shows values, and marks each key as new, existing, duplicate, or invalid so you can decide what happens before anything is saved.

  • Existing keys can be skipped or overwritten. Overwriting creates a new version, so the old value is kept.
  • Duplicate keys within the file must be resolved before import.
  • Files up to 256 KB and 500 variables are accepted.

Export when you need a file

Export generates a .env.<environment> file in memory for the environment you pick, after confirmation. Nothing is stored on the server, the action is recorded in the audit log, and exported values round-trip to the same values when re-imported.

Push to Vercel

Project admins can connect a Vercel project and map Keel environments to Vercel targets. Keel then creates and updates encrypted Vercel environment variables, and only touches variables it created. This integration is new, so check the result in Vercel after your first sync.

Read more

For the reasoning behind separating environments, read how to manage environment variables across development, staging, and production.

Frequently asked questions

Can I import my current .env file?
Yes. Choose the file in the dashboard, review the value-free preview, resolve any duplicates, and confirm. Nothing is saved until you do.
Are environments isolated from each other?
Values are stored per environment, and access is granted per environment. A member or viewer with no grant for Production cannot see it.
Which dotenv syntax is supported?
KEY=value with optional export prefix, comments, single and double quotes, and multi-line quoted values. Variable expansion such as ${VAR} is not performed.