You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(cli): make keychain backend strictly opt-in (alpha.8)
Hot-fix on top of alpha.7. The keychain auto-load was implicit: the
CLI tried to read from OS keychain on EVERY command, even when the
user had never run `sealed-env keychain push`. On Windows that meant
~300 ms of PowerShell spawn overhead per CLI call (×3 for the three
SEALED_ENV_* names). Not acceptable for a tool you might run dozens
of times in a session.
Solution:
`sealed-env keychain push` now writes a small marker file
`.sealed-env.json` at the project root with:
{
"storage": "keychain",
"backend": "Windows DPAPI (per-user)",
"createdAt": "..."
}
Safe to commit — no secrets, just config. Lets a team standardize
on keychain across machines.
The auto-loader now checks for that marker (or the
`SEALED_ENV_USE_KEYCHAIN=1` env var) BEFORE even loading the
keychain module. If neither is present, the keychain code path is
fully bypassed.
`keychain clear` and `pull` remove the marker.
`keychain status` reports whether the marker is present.
Measured: `sealed-env doctor` dropped from ~1.7 s to ~250 ms when
the project hasn't opted in. Keychain feature remains identically
functional for projects that did.
Bumps to 0.1.0-alpha.8. No wire-format changes.
Copy file name to clipboardExpand all lines: node/package.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
{
2
2
"name": "sealed-env",
3
-
"version": "0.1.0-alpha.7",
3
+
"version": "0.1.0-alpha.8",
4
4
"description": "Encrypted .env files with optional TOTP unsealing for production deploys. Cross-stack with the Java port. One minimal CLI dependency.",
0 commit comments