Krypt organizes secrets into projects, each with three fixed environments. This page explains how they work together.Documentation Index
Fetch the complete documentation index at: https://docs.krypthq.com/llms.txt
Use this file to discover all available pages before exploring further.
Projects
A project in Krypt represents one application or service — your frontend app, your API server, your mobile backend, etc. Each project has:- Its own set of secrets (environment variables)
- Its own team members and permissions
- Three separate environments
Environments
Every project has three fixed environments:| Environment | Purpose | Example DATABASE_URL |
|---|---|---|
development | Local dev work | postgres://localhost:5432/myapp_dev |
staging | Pre-production testing | postgres://staging-db.internal:5432/myapp |
production | Live application | postgres://prod-db.internal:5432/myapp |
The .krypt file
When you runkrypt init, it creates a .krypt file in your project directory:
krypt push, krypt pull, or krypt run from that directory.
Add
.krypt to your .gitignore. It contains your local binding and should not be committed.Switching environments
Override the default environment with the--env flag on any command:
--env flag is temporary — it doesn’t change your .krypt file. Your default remains whatever you set with krypt init.
Why three fixed environments?
We considered supporting custom environment names but kept it to three. Most teams follow the development → staging → production flow, and three covers that without adding configuration complexity. If you need a separate environment for a feature branch, use a separate project (e.g.my-app-feature-x).
Next steps
- Roles and permissions — control who can access and edit each environment

