2025-08-12 - 2026-08-12

Overview

18 Active Pull Requests
37 Active Issues
Excluding merges, 4 authors have pushed 10 commits to main and 33 commits to all branches. On main, 91 files have changed and there have been 10229 additions and 5718 deletions.

17 Pull requests merged by 2 users

Merged #29 Update golangci-lint to v2.12.2 with canonical config 2026-08-10 15:23:33 +02:00

Merged #28 Add .editorconfig (closes #27) 2026-08-07 17:46:27 +02:00

Merged #26 scripts-to-rule-them-all 2026-07-07 02:13:45 +02:00

Merged #25 TODO 2026-07-06 21:20:29 +02:00

Merged #21 ci: add Gitea Actions workflow for make check 2026-03-30 21:34:49 +02:00

Merged #24 secure-enclave-unlocker 2026-03-14 07:36:28 +01:00

Merged #22 chore: remove stale .cursorrules and coverage.out 2026-02-28 19:29:52 +01:00

Merged #20 Add secret.Warn() calls for all silent anomalous conditions 2026-02-20 09:22:29 +01:00

Merged #17 Skip unlocker directories with missing metadata instead of failing (closes #1) 2026-02-20 08:59:04 +01:00

Merged #8 Fix getLongTermPrivateKey derivation index hardcoded to 0 (closes #3) 2026-02-20 08:58:21 +01:00

Merged #16 Allow uppercase letters in secret names (closes #2) 2026-02-20 08:57:20 +01:00

Merged #15 Validate secret name in GetSecretVersion to prevent path traversal (closes #13) 2026-02-20 08:56:51 +01:00

Merged #18 Return error from GetDefaultStateDir when home directory unavailable (closes #14) 2026-02-20 08:54:22 +01:00

Merged #11 Remove redundant longterm.age encryption in Init command (closes #6) 2026-02-09 02:39:55 +01:00

Merged #9 Fix NumSecrets() always returning 0 (closes #4) 2026-02-09 02:39:30 +01:00

Merged #12 Non-darwin KeychainUnlocker stub returns errors instead of panicking (closes #7) 2026-02-09 02:20:14 +01:00

Merged #10 Zero plaintext after copying to memguard in DecryptWithIdentity (closes #5) 2026-02-09 02:18:06 +01:00

1 Pull request proposed by 1 user

15 Issues closed from 2 users

Closed #45 script/bootstrap installs golangci-lint unpinned, so local lint diverges from CI 2026-08-10 16:15:02 +02:00

Closed #30 Adopt canonical .golangci.yml and golangci-lint v2.12.2 2026-08-10 16:12:50 +02:00

Closed #31 Decision needed: three commits on main carry vendor advertising trailers 2026-08-09 16:05:48 +02:00

Closed #27 Add .editorconfig 2026-08-07 17:46:27 +02:00

Closed #23 Add branch protection to main branch 2026-03-11 02:24:39 +01:00

Closed #19 Audit: missing user warnings for anomalous conditions 2026-02-20 09:22:30 +01:00

Closed #1 missing metadata file for single unlocker breaks 'list' command 2026-02-20 08:59:04 +01:00

Closed #3 Bug: getLongTermPrivateKey hardcodes derivation index 0 for mnemonic path 2026-02-20 08:58:22 +01:00

Closed #2 secret name validation is wrong 2026-02-20 08:57:20 +01:00

Closed #13 Bug: GetSecret/GetSecretVersion missing name validation allows path traversal 2026-02-20 08:56:51 +01:00

Closed #14 Bug: GetDefaultStateDir ignores UserHomeDir error, may use empty path 2026-02-20 08:54:22 +01:00

Closed #6 Bug: Init command writes longterm.age twice, second write overwrites correct encryption 2026-02-09 02:39:55 +01:00

Closed #4 Bug: NumSecrets() always returns 0 due to incorrect directory traversal 2026-02-09 02:39:30 +01:00

Closed #7 Bug: Non-darwin KeychainUnlocker stub panics instead of returning errors 2026-02-09 02:20:14 +01:00

Closed #5 Security: DecryptWithIdentity leaks plaintext in unprotected memory 2026-02-09 02:18:06 +01:00

37 Issues created by 1 user

Opened #1 missing metadata file for single unlocker breaks 'list' command 2025-11-21 01:51:51 +01:00

Opened #2 secret name validation is wrong 2025-11-21 01:54:00 +01:00

Opened #3 Bug: getLongTermPrivateKey hardcodes derivation index 0 for mnemonic path 2026-02-08 21:01:39 +01:00

Opened #4 Bug: NumSecrets() always returns 0 due to incorrect directory traversal 2026-02-08 21:01:50 +01:00

Opened #5 Security: DecryptWithIdentity leaks plaintext in unprotected memory 2026-02-08 21:02:00 +01:00

Opened #6 Bug: Init command writes longterm.age twice, second write overwrites correct encryption 2026-02-08 21:02:11 +01:00

Opened #7 Bug: Non-darwin KeychainUnlocker stub panics instead of returning errors 2026-02-08 21:02:23 +01:00

Opened #13 Bug: GetSecret/GetSecretVersion missing name validation allows path traversal 2026-02-15 23:01:48 +01:00

Opened #14 Bug: GetDefaultStateDir ignores UserHomeDir error, may use empty path 2026-02-15 23:01:48 +01:00

Opened #19 Audit: missing user warnings for anomalous conditions 2026-02-20 09:01:46 +01:00

Opened #23 Add branch protection to main branch 2026-02-20 11:59:58 +01:00

Opened #27 Add .editorconfig 2026-07-26 20:47:12 +02:00

Opened #30 Adopt canonical .golangci.yml and golangci-lint v2.12.2 2026-08-09 03:33:49 +02:00

Opened #31 Decision needed: three commits on main carry vendor advertising trailers 2026-08-09 03:35:36 +02:00

Opened #32 script/test silently passes on flaky failures, and runs without -race or -timeout 2026-08-09 03:37:31 +02:00

Opened #33 Critical: secret rm .. deletes the entire vault; rm/mv/import skip name validation 2026-08-09 03:38:13 +02:00

Opened #34 No file locking and no atomic writes: concurrent or interrupted operations corrupt the vault 2026-08-09 03:38:51 +02:00

Opened #35 memguard lifecycle is not wired up: Ctrl-C and error exits leave key material in locked memory unwiped 2026-08-09 03:39:22 +02:00

Opened #36 KeychainData holds the age key passphrase as a plain string through JSON marshalling 2026-08-09 03:39:45 +02:00

Opened #37 GetSecretVersion copies decrypted secrets out of locked memory into plain []byte 2026-08-09 03:40:04 +02:00

Opened #38 age identity .String() creates unprotected copies of private keys at six call sites 2026-08-09 03:40:29 +02:00

Opened #39 No confirmation prompt on any destructive operation 2026-08-09 03:40:49 +02:00

Opened #40 .gitignore does not exclude secrets, and .dockerignore does not exclude .git 2026-08-09 03:41:08 +02:00

Opened #41 Cobra prints full usage on internal failures, burying the actual error 2026-08-09 03:41:34 +02:00

Opened #42 PGPUnlocker.GetID panics on corrupt metadata, and setMnemonicEnv re-exports the mnemonic 2026-08-09 03:41:58 +02:00

Opened #43 Go module path is git.eeqj.de/sneak/secret, policy requires sneak.berlin/go/secret 2026-08-09 03:42:14 +02:00

Opened #44 Makefile hardcodes a personal remote DOCKER_HOST, breaking make docker for everyone else 2026-08-09 03:42:32 +02:00

Opened #45 script/bootstrap installs golangci-lint unpinned, so local lint diverges from CI 2026-08-09 03:42:51 +02:00

Opened #46 README missing four required sections; TODO.md is stale and describes completed work as pending 2026-08-09 03:43:16 +02:00

Opened #47 Error messages leak internals and offer no recovery path for corrupted key files 2026-08-09 03:43:37 +02:00

Opened #48 CreatePGPUnlocker leaves a partial unlocker directory on disk when fingerprint resolution fails 2026-08-09 03:44:00 +02:00

Opened #49 Tests assert on error message fragments, never on sentinel identity — error-handling regressions pass silently 2026-08-09 03:46:20 +02:00

Opened #50 Darwin-only code is never compiled, linted, or tested by CI, including both hardware-backed unlockers 2026-08-09 03:46:49 +02:00

Opened #51 checkUnlockerExists fails open: an unenumerable unlockers.d reports "no duplicate" and permits a duplicate unlocker 2026-08-09 04:25:11 +02:00

Opened #52 Test suite cannot meet the 20s policy budget once -race is enabled: internal/cli 100MB boundary tests 2026-08-09 07:03:09 +02:00

Opened #54 script/cibuild can report a cached green: docker build serves RUN make check layers from cache 2026-08-09 07:38:10 +02:00

Opened #55 Run all linting in Docker via Dockerfile.lint + script/lint 2026-08-10 13:14:53 +02:00