What Are Project Keys?
Project keys are environment variables stored in localWiki, organized by project and environment (development, staging, production). Instead of scattered .env files or insecure chat messages, your team keeps all configuration in one encrypted, synced store.
Each key has:
- Name — the variable name (e.g.
DATABASE_URL,STRIPE_SECRET_KEY) - Value — the secret or config value
- Environment — which environment it belongs to (dev, staging, prod)
- Description — optional context for your teammates
How They Work
Project keys live inside your localWiki workspace. You create them in the desktop app, then inject them into your running processes with the lol CLI:
$ lol run -- npm run devThis starts your app with all project keys for the current environment loaded as environment variables. No .env file needed.
Project keys never leave your local machine unencrypted. They are encrypted at rest and only decrypted in memory when injected into a process.
Why Not Just Use .env Files?
| Problem | Project Keys Solution |
|---|---|
.env files might get committed to git | Keys live in localWiki, never in your repo |
| Sharing secrets over chat or email | P2P sync delivers keys to teammates directly |
| No audit trail for changes | Every edit is tracked with author and timestamp |
| Different values across machines | Environment selector keeps dev/staging/prod consistent |
Project keys replace the workflow of copying .env.example, filling in values, and hoping everyone has the right version.