SOPS + age · multi-repo · no server SOPS + age · 多仓库 · 无服务器

EnvSeal

Encrypted .env management for the AI-coding era — one vault for every project's secrets.

AI 编程时代的加密 .env 管理 —— 一个 vault 装下所有项目的密钥。

$ pipx install envseal-vault

The problem

痛点

AI coding produces many small projects.
Each one has its own .env.

AI 编程催生大量小项目。
每一个都有自己的 .env

Claude Code, Cursor and friends make it cheap to spin up a dozen repos a month. The secrets sprawl is the cost. EnvSeal scans every repository, normalizes the .env* files, and syncs them into one SOPS + age encrypted Git vault that you fully own — no SaaS, no account, no lock-in.

Claude Code、Cursor 这些工具让你一个月开十几个仓库变得很轻松, 代价就是密钥四处散落。EnvSeal 扫描每个仓库,规范化 .env* 文件, 把它们同步进 一个 SOPS + age 加密的 Git vault —— 完全归你所有,无 SaaS、无账号、无锁定。

What you get

你能得到什么

SOPS + age encryption

SOPS + age 加密

Modern, battle-tested crypto. Values are encrypted at rest in your own Git repo.

现代、久经考验的加密。密钥值在你自己的 Git 仓库里加密存储。

One central vault

一个中心 vault

Scan N repositories, keep a single encrypted vault. Unlimited projects.

扫描 N 个仓库,只维护一个加密 vault。项目数量不限。

Key-only diffs

仅 key 的 diff

diff, list and status show key names — never values.

diffliststatus 只显示 key 名称,绝不显示值。

One-command restore

一条命令恢复

New laptop? envseal pull rebuilds a project's .env in seconds.

换新电脑?envseal pull 几秒钟重建项目的 .env

Shareable HTML report

可分享的 HTML 报告

envseal report writes a static, key-only dashboard. Safe to share.

envseal report 生成静态、仅含 key 名的看板。可安全分享。

🤖

AI-agent ready

为 AI agent 而生

A drop-in CLAUDE.md/AGENTS.md snippet lets agents fetch secrets themselves.

一段 CLAUDE.md/AGENTS.md 片段,让 agent 自己取密钥。

How it works

怎么用

1

init

envseal init

Generate an age key, scan your repos, point at your vault.

生成 age 密钥,扫描你的仓库,指定 vault 位置。

2

push

envseal push --commit

Encrypt every .env* with SOPS and commit it to the vault.

用 SOPS 加密每个 .env* 并提交进 vault。

3

pull

envseal pull <project> --env local --replace

Decrypt a project's secrets back into place — on any machine.

把项目的密钥解密还原到原位 —— 在任何机器上。

For AI coding agents

面向 AI 编程助手

Make your agent EnvSeal-aware

让你的 agent 认识 EnvSeal

Paste this into a project's CLAUDE.md, AGENTS.md or .cursorrules. When the agent hits a missing .env, it runs one command instead of stalling or inventing fake keys:

把下面这段粘进项目的 CLAUDE.mdAGENTS.md.cursorrules。 agent 遇到缺 .env 时会跑一条命令,而不是卡住或编造假密钥:

## Secrets & environment variables

This project's .env* files are not committed — they are
managed with EnvSeal (encrypted in a separate vault).

- Create the local .env:
  envseal pull <PROJECT> --env local --replace
- After editing a secret, sync it back:
  envseal push --commit
- See which keys exist without decrypting: envseal list
- Never commit .env*, never print secret values into logs.

More ready-to-paste prompts — docs/ai-agents.md

更多可直接粘贴的 prompt — docs/ai-agents.md

Why EnvSeal

为什么选 EnvSeal

No server无服务器 No account, no SaaS, no monthly bill. Your vault is just a Git repo. 无账号、无 SaaS、无月费。你的 vault 就是一个 Git 仓库。
Multi-repo first多仓库优先 Built for many projects at once — not one repo, not a hosted service. 为同时管理大量项目而设计 —— 不是单仓库,也不是托管服务。
You own the keys密钥归你 age private key stays on your machine; the vault is yours to host. age 私钥留在你的机器上;vault 由你自己托管。