Commit Graph

  • 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 clawbotandsneak 2026-08-10 15:23:33 +02:00
  • 6e5e0db999 Add .editorconfig (closes #27) (#28) clawbotandsneak 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) sneakandclawbot 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