Secrets management, reimagined
Stop passing .env files around.
Keep your secrets in one place. Sync them across machines and environments, inject them into any process, and safely let AI agents manage them.
Encrypted by default. · CLI-first. · MCP-native.
$ bulgur initNo credit card. Free for up to 2 projects.
$ bulgur init✓ Detected Next.js✓ Created project "acme-web"✓ Imported 12 secrets from .env$ bulgur run -- pnpm dev✓ Injected 12 secrets
Your .env file was never meant to be infrastructure.
It starts with a few API keys on your laptop.
Then there's .env.local. A production copy. A CI secret store. A teammate asking for the latest values. And eventually, an API key sitting somewhere it shouldn't.
bulgur gives your secrets one home and makes them available wherever your code runs.
One source of truth
Store secrets once and organize them by project and environment. No more hunting for the latest .env file.
Works with anything
No framework integration. No SDK in your application. bulgur injects secrets directly into the process environment.
Built for local development and CI
Use the same workflow on your laptop, another machine, or inside your deployment pipeline.
MCP-native
Give your AI agent access. Not your secrets.
Claude Code, Cursor, and other MCP clients can work with bulgur directly. They can create secrets, rotate credentials, manage configuration, and reference secrets by name.
But they can never read the values back.
MCP-scoped tokens are write-only by design. Read attempts are rejected server-side, including direct API requests. Your agent can manage the secret without putting the secret in its context.
You
Rotate DATABASE_URL and generate a new key.
Assistant
Rotated DATABASE_URL. New value stored as version 4. Previous version kept in history.
$ claude mcp add bulgur \-e BULGUR_TOKEN=blg_… \-- bulgur mcp
Secrets management without the ceremony.
Run anything with secrets
Secrets are injected directly into the process. Nothing needs to be written to .env.
bulgur run -- pnpm dev bulgur run -- python app.py bulgur run -- docker compose up
Sync every environment
Keep development, staging, and production configuration together while maintaining separate values for each.
bulgur push bulgur pull
Share what should be shared
Define project-wide values once with Shared secrets. Override them only where an environment needs something different.
Keep sensitive values out of sight
Mark a secret sensitive and its value disappears from the dashboard. Your app still uses it through the CLI or CI, without exposing it to someone looking at the screen.
Rotate without losing history
Generate secure random values, rotate credentials, keep previous versions, and roll back when necessary.
Know what happened
Every reveal, pull, and change is recorded. See who accessed what, when, and from where.
Encrypted before it reaches the database.
bulgur uses envelope encryption with AES-256-GCM.
Each project gets its own data encryption key. That key is wrapped by a master key that never touches the database.
Secrets are decrypted only when an authorized principal explicitly requests access. And every reveal is logged.
Per-project encryption
Separate data keys isolate projects.
Server-enforced permissions
Access rules live on the server, not in the CLI.
Write-only AI access
MCP tokens cannot read, export, or reveal secret values.
Complete audit trail
Sensitive operations leave a record.
From .env to bulgur in 30 seconds.
Initialize
$ bulgur initbulgur detects your project and imports your existing .env.
Sync
$ bulgur pushYour secrets are now available across machines and environments.
Run
$ bulgur run -- pnpm devYour process gets the secrets it needs. Your filesystem doesn't.
Secrets management shouldn't cost more than your side project.
Free
€0
For side projects and getting started.
- ✓1 workspace
- ✓2 projects
- ✓Unlimited secrets
- ✓CLI
- ✓MCP
Pro
Popular€2 / month
For developers running more.
- ✓3 workspaces
- ✓Unlimited projects
- ✓Secret history
- ✓Audit log
- ✓Everything in Free
Team
€5 / month
For people building together.
- ✓10 workspaces
- ✓Team members
- ✓Invitations
- ✓Role-based access
- ✓Everything in Pro
Prices per organization. No credit card required to start. Need more than 10 workspaces? Get in touch.
Questions developers usually ask.
Can bulgur employees read my secrets?
Secret values are envelope-encrypted using AES-256-GCM. Decryption happens only after an authorized explicit reveal, and every reveal is audit-logged.
Does bulgur replace .env files?
That's the idea. You can import an existing .env, then use bulgur run to inject those values directly into your process without keeping the file around.
Will it work with my framework?
If your application reads environment variables, it works with bulgur. Next.js, Node.js, Python, Go, Rails, Docker, and anything else that reads from the process environment require no special integration.
Can my AI coding agent use it?
Yes. bulgur exposes an MCP server for clients such as Claude Code and Cursor. MCP credentials can be restricted so agents can create and rotate secrets without being able to retrieve their values.
What if an MCP token leaks?
The token still cannot reveal secret values. Read, reveal, and export operations are rejected server-side for MCP-scoped credentials. Revoke the token and create another one.
Does it work in CI?
Yes. Provide your bulgur credentials to the pipeline and use bulgur run -- <command>, or bulgur pull.
Can I self-host it?
bulgur Cloud is the supported deployment today. Self-hosting may be offered later.
Delete .env from your workflow.
One place for your secrets. One command to use them anywhere. AI agents included.
$ bulgur init