This website requires JavaScript.
176aee05aa
Point the commandWait comment at the Dockerfile's test limit (closes #195 )
next
clawbot
2026-10-15 20:25:07 +02:00
26a4739615
Keep Go's build cache in check builds: re-vendor sneak/prompts e3f79c4 (closes #129 )
clawbot
2026-10-15 19:58:38 +02:00
8851171877
Set the time zone in main and run Entry in its own test process (closes #192 )
v1.0.0-rc4
clawbot
2026-10-15 19:25:10 +02:00
25f4652e70
Log the audit fixes in TODO.md (closes #173 )
clawbot
2026-10-15 17:58:57 +02:00
4c47b233bb
A secret mv between vaults unlocks both vaults before taking the lock (closes #189 )
v1.0.0-rc3
clawbot
2026-10-15 10:49:06 +02:00
fac2753819
Ask for the mnemonic and passphrase before taking the state directory lock (closes #152 )
clawbot
2026-10-15 09:02:13 +02:00
9c4968c768
A cross-vault secret mv that cannot remove the source fails (closes #159 )
clawbot
2026-10-15 07:31:54 +02:00
93351cbd36
Hold the encrypt and decrypt result in memory until it is written (closes #143 )
clawbot
2026-10-15 07:31:47 +02:00
03416d417c
Commands fail when currentvault names no vault (closes #156 )
clawbot
2026-10-15 07:14:44 +02:00
42f4961937
Print every time in UTC, whatever the time zone (closes #169 )
clawbot
2026-10-15 06:48:51 +02:00
f0bf3b24a6
Unknown subcommands of vault, unlocker, version and generate fail (closes #183 )
clawbot
2026-10-15 06:02:45 +02:00
67c2829f58
Ask for the new passphrase in unlocker add when the variable is set (closes #154 )
clawbot
2026-10-15 06:02:31 +02:00
5922de32df
Stop vault creation when a vault's metadata cannot be read (closes #140 )
clawbot
2026-10-15 06:02:22 +02:00
6bc95f7c69
README says secret add drops one trailing newline and import keeps it (closes #158 )
clawbot
2026-10-15 05:31:57 +02:00
fdfe2c92f6
Include gpg's stderr in the error when gpg fails (closes #146 )
clawbot
2026-10-15 05:31:50 +02:00
00e34b93ec
secret version list no longer shows a version without NOT_AFTER as expired (closes #150 )
clawbot
2026-10-15 04:48:53 +02:00
0ffffd5e3f
Print an empty unlocker or vault list as [] in JSON (closes #148 )
clawbot
2026-10-15 04:48:46 +02:00
438c36e7a9
A secret too large for the locked-memory limit fails with an error, not a panic (closes #145 )
clawbot
2026-10-15 04:02:14 +02:00
220213abfe
Count every file of each version in secret info's Total Size (closes #147 )
clawbot
2026-10-15 03:15:04 +02:00
bfb13af302
Remove secret vault import (closes #139 )
clawbot
2026-10-15 03:14:55 +02:00
acb4b9cb6a
version promote --help says the current file is rewritten (closes #153 )
clawbot
2026-10-15 02:31:47 +02:00
13c7721bad
Refuse an existing vault before asking for the mnemonic (closes #151 )
clawbot
2026-10-15 01:32:23 +02:00
b8842b6184
secret get fails when it cannot write the value (closes #155 )
clawbot
2026-10-15 01:32:14 +02:00
faf46d12ff
secret list gives each secret's own creation and last-update times (closes #142 )
clawbot
2026-10-15 00:32:05 +02:00
6d95d96477
Use gpg.conf's default-key when unlocker add pgp has no --keyid (closes #141 )
clawbot
2026-10-15 00:31:53 +02:00
72cd6c30a1
A wrong passphrase gives an error that says so (closes #157 )
clawbot
2026-10-14 23:48:50 +02:00
46c395e045
Ask for the passphrase on the controlling terminal, not stdin (closes #144 )
clawbot
2026-10-14 23:02:23 +02:00
fe94e99801
Print the mnemonic and the vault and unlocker listings to stdout (closes #138 )
clawbot
2026-10-14 22:31:47 +02:00
0630a32167
Make another unlocker current when the current one is removed (closes #137 )
clawbot
2026-10-14 22:02:16 +02:00
5371382cb4
A failed secret add --force leaves the secret unchanged (closes #136 )
clawbot
2026-10-14 20:48:48 +02:00
fd6c5df1a8
Derive the vault key from the mnemonic's words however they are spaced (closes #135 )
v1.0.0-rc2
clawbot
2026-10-13 01:09:36 +02:00
2d6675a452
Remove the keychain and Secure Enclave unlockers (closes #132 )
clawbot
2026-10-13 00:39:35 +02:00
ef0ae90768
Copy go-bip39 into internal/bip39 (closes #122 )
v1.0.0-rc1
clawbot
2026-10-07 12:56:10 +02:00
2c6fe7c368
Re-vendor the canonical files from sneak/prompts at dd4027b (closes #121 )
clawbot
2026-10-07 05:42:59 +02:00
ed6af50ea5
Make script/test fail on flaky failures and enable -race (closes #32 )
clawbot
2026-10-07 03:22:34 +02:00
b109c4e5e1
Keep Go's build cache between builds (closes #124 )
clawbot
2026-10-07 01:02:35 +02:00
ae030d759d
Stop the terminal tests reading a pty nobody opened (closes #126 )
clawbot
2026-10-07 00:02:40 +02:00
4ff0d20c10
Make the tests fast under the race detector (closes #120 )
clawbot
2026-10-06 07:02:37 +02:00
df47ab386c
Test only small secrets in the size tests (closes #52 )
clawbot
2026-10-06 02:22:38 +02:00
af9ac6d979
Rename the Go module to sneak.berlin/go/secret (closes #43 )
clawbot
2026-10-05 02:45:37 +02:00
047f347955
Format and check markdown with prettier in make fmt and fmt-check (closes #110 )
clawbot
2026-10-05 02:07:54 +02:00
2503f2db96
Name only the mnemonic when it cannot be read (closes #115 )
clawbot
2026-10-05 01:43:00 +02:00
43f66bf369
Give each failure one error value (closes #113 )
clawbot
2026-10-05 01:08:01 +02:00
176095e3d1
Check errors by identity, not by message text, in tests (closes #49 )
clawbot
2026-10-04 23:25:06 +02:00
2adc588ace
Say the mnemonic still opens a vault its unlocker cannot (closes #47 )
clawbot
2026-10-04 21:59:02 +02:00
0e6a4afb71
Make an unlocker's ID the name of its directory (closes #98 )
clawbot
2026-10-04 21:25:00 +02:00
1a23fd3125
Make the README's storage and file format text match the code (closes #102 )
clawbot
2026-10-04 20:58:42 +02:00
23dcea83f9
Create a vault whole in a temporary directory, then select it (closes #105 )
clawbot
2026-10-04 20:42:03 +02:00
f2f89c8a06
Delete the keychain item or Secure Enclave key of a failed unlocker add (closes #89 )
clawbot
2026-10-04 20:07:59 +02:00
015730fb05
Delete .tmp- leftovers of a killed command when the lock is next taken (closes #75 )
clawbot
2026-10-04 19:25:25 +02:00
1d7f78fd0d
Add the README's required sections and clear stale TODO.md items (closes #46 )
clawbot
2026-10-04 19:25:07 +02:00
ef79111e2e
Put age identity keys into locked buffers through one function (closes #38 )
clawbot
2026-10-04 18:42:00 +02:00
017b8d73bf
Type-check and lint the macOS build from Linux (closes #50 )
clawbot
2026-10-04 18:07:56 +02:00
1cc8653981
Ask before removing a secret, version, vault or unlocker (closes #39 )
clawbot
2026-10-04 17:41:48 +02:00
7e4e0f7806
Give every new unlocker a directory of its own (closes #71 )
clawbot
2026-10-04 16:58:45 +02:00
db7d2c952e
Read secret environment variables once per command, then unset them (closes #60 )
clawbot
2026-10-04 16:07:57 +02:00
5ca615a7a6
Use the canonical golangci-lint config (closes #66 )
clawbot
2026-10-04 15:32:21 +02:00
62967f28d0
Make secret unlocker add pgp work on Linux (closes #88 )
clawbot
2026-10-04 14:42:01 +02:00
007254a1f0
Check vault names in every command that takes one (closes #68 )
clawbot
2026-10-04 13:58:46 +02:00
eb596b8be6
Run the checks again on every script/cibuild (closes #54 )
clawbot
2026-10-04 13:25:24 +02:00
596b978cb1
Leave no partial unlocker directory when adding an unlocker fails (closes #48 )
clawbot
2026-10-04 12:58:50 +02:00
24d99819a3
Skip corrupt unlocker metadata in unlocker select and remove (closes #72 )
clawbot
2026-10-04 12:42:01 +02:00
1ec0423e6e
Print usage only for a command called wrongly (closes #41 )
clawbot
2026-10-04 12:08:06 +02:00
4ed77902d1
Keep secret get values in locked memory (closes #37 )
clawbot
2026-10-04 11:16:23 +02:00
00713b8677
Build with the local docker daemon; add script/build (closes #44 )
clawbot
2026-10-04 10:42:09 +02:00
71c386ecbf
Stop vault safety checks from reading unreadable state as empty (closes #51 )
clawbot
2026-10-04 10:15:19 +02:00
cba526d33f
Ignore secrets and editor files in .gitignore (closes #40 )
clawbot
2026-10-04 09:24:59 +02:00
fb4481b4f7
Refuse to create a vault that already exists (closes #74 )
clawbot
2026-10-04 08:25:40 +02:00
5ec59862ff
Speed up the internal/cli lock and two-vault tests (closes #80 )
clawbot
2026-10-04 08:08:04 +02:00
e640d10964
Reject secret mv onto the same secret under another name (closes #78 )
clawbot
2026-10-04 07:42:11 +02:00
4e562f834f
Run golangci-lint only in docker, on every run (closes #55 )
clawbot
2026-10-04 07:07:52 +02:00
641d5659ec
Keep unlocker list working when unlocker metadata is corrupt (closes #42 )
clawbot
2026-10-04 06:42:14 +02:00
663986f551
Stop secret mv deleting a secret moved onto itself (closes #73 )
clawbot
2026-10-04 05:08:06 +02:00
32a61ff963
Lock the state directory and write vault files atomically (closes #34 )
clawbot
2026-10-04 04:57:58 +02:00
bdb1c7ec18
Accept a version argument only if the secret has that version (closes #67 )
clawbot
2026-10-04 03:25:00 +02:00
51e3731076
Wipe memguard buffers on every exit and restore echo (closes #35 )
clawbot
2026-10-04 02:07:58 +02:00
a5faec0466
Reject invalid secret names before any command builds a path (closes #33 )
clawbot
2026-10-04 01:29:28 +02:00
7c6531eaf7
Keep the keychain unlocker passphrase in locked memory (closes #36 )
clawbot
2026-10-03 17:07:56 +02:00
d52b4f1240
Let a plain docker build pass and stamp the git version (closes #57 )
clawbot
2026-10-02 14:16:02 +02:00
41cea400a7
Update golangci-lint to v2.12.2 with canonical config (#29 )
main
clawbot and sneak
2026-08-10 15:23:33 +02:00
6e5e0db999
Add .editorconfig (closes #27 ) (#28 )
clawbot and sneak
2026-08-07 17:46:27 +02:00
e0e5ae68a4
scripts-to-rule-them-all (#26 )
sneak
2026-07-07 02:13:44 +02:00
1fc11529ed
TODO (#25 )
sneak
2026-07-06 21:20:29 +02:00
b090b3f86b
ci: add Gitea Actions workflow for make check (#21 )
2026-03-30 21:34:49 +02:00
a3d3fb3b69
secure-enclave-unlocker (#24 )
sneak and clawbot
2026-03-14 07:36:28 +01:00
4dc26c9394
Merge pull request 'chore: remove stale .cursorrules and coverage.out' (#22 ) from chore/remove-stale-files into main
sneak
2026-02-28 19:29:52 +01:00
7546cb094f
chore: remove stale .cursorrules and coverage.out
user
2026-02-20 02:59:23 -08:00
797d2678c8
Merge pull request 'Add secret.Warn() calls for all silent anomalous conditions' (#20 ) from clawbot/secret:audit/add-warnings into main
sneak
2026-02-20 09:22:29 +01:00
78015afb35
Add secret.Warn() calls for all silent anomalous conditions
user
2026-02-20 00:03:49 -08:00
1c330c697f
Merge pull request 'Skip unlocker directories with missing metadata instead of failing (closes #1 )' (#17 ) from clawbot/secret:fix/issue-1 into main
sneak
2026-02-20 08:59:04 +01:00
d18e286377
Merge branch 'main' into fix/issue-1
sneak
2026-02-20 08:58:43 +01:00
f49fde3a06
Merge pull request 'Fix getLongTermPrivateKey derivation index hardcoded to 0 (closes #3 )' (#8 ) from clawbot/secret:fix/issue-3 into main
sneak
2026-02-20 08:58:21 +01:00
206651f89a
Merge branch 'main' into fix/issue-3
sneak
2026-02-20 08:58:10 +01:00
c0f221b1ca
Change missing metadata log from Debug to Warn for visibility without --verbose
user
2026-02-19 23:57:39 -08:00
09be20a044
Merge pull request 'Allow uppercase letters in secret names (closes #2 )' (#16 ) from clawbot/secret:fix/issue-2 into main
sneak
2026-02-20 08:57:19 +01:00
2e1ba7d2e0
Merge branch 'main' into fix/issue-2
sneak
2026-02-20 08:57:03 +01:00
1a23016df1
Merge pull request 'Validate secret name in GetSecretVersion to prevent path traversal (closes #13 )' (#15 ) from clawbot/secret:fix/issue-13 into main
sneak
2026-02-20 08:56:51 +01:00
ebe3c17618
Merge branch 'main' into fix/issue-13
sneak
2026-02-20 08:56:36 +01:00
1a96360f6a
Skip unlocker directories with missing metadata instead of failing
clawbot
2026-02-15 14:04:37 -08:00
4f5d2126d6
Merge pull request 'Return error from GetDefaultStateDir when home directory unavailable (closes #14 )' (#18 ) from clawbot/secret:fix/issue-14 into main
sneak
2026-02-20 08:54:22 +01:00