Skip to content

fix(vault): drop the 12-character master password minimum - #24

Merged
ralyodio merged 1 commit into
masterfrom
fix/vault-password-min
Aug 30, 2026
Merged

fix(vault): drop the 12-character master password minimum#24
ralyodio merged 1 commit into
masterfrom
fix/vault-password-min

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

Vault setup and recovery refused any master password shorter than 12 characters. The gate is gone from both paths — only an empty password is refused now, since an empty master password derives a useless key.

The strength meter still rates length (under 8 characters reads as Weak), but it no longer says "Use at least 12 characters" and nothing it reports blocks the form.

Unlock was never gated, so existing vaults are unaffected. No change to the KDF or to how keys are derived.

Checks: 787/787 extension tests pass, lint clean, full turbo build passes (pre-commit hook ran both).

🤖 Generated with Claude Code

https://claude.ai/code/session_01MrHcQXSjCeCcAKhWPZg8w9

Setting up or recovering a vault refused any master password shorter than 12 characters, which blocked passwords that were perfectly usable. The length check is gone from both paths; only an empty password is refused now, since an empty master password derives a useless key.

The strength meter keeps rating length — anything under 8 characters still reads as Weak — but it no longer tells you to use at least 12, and nothing it says blocks the form.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MrHcQXSjCeCcAKhWPZg8w9
@github-actions

Copy link
Copy Markdown

ThreatCrush Security Scan

12 finding(s)

MEDIUM: 8 | LOW: 4

Severity Rule Location
MEDIUM js-open-redirect apps/extension/src/blocked/main.js:84
MEDIUM sql-template-interpolation apps/web/app/api/account/delete/route.js:104
MEDIUM js-credential-logged apps/web/app/api/health/route.js:27
MEDIUM js-open-redirect apps/web/app/dashboard/sync-sources-client.jsx:88
MEDIUM js-unescaped-html-sink apps/web/app/layout.jsx:86
MEDIUM js-unescaped-html-sink apps/web/app/layout.jsx:110
MEDIUM js-open-redirect apps/web/app/pricing/page.jsx:178
MEDIUM manifest-install-lifecycle-script package.json:17
LOW secret-generic-credential apps/web/__tests__/auth-api.test.js:541
LOW redos-nested-quantifier packages/sources/__tests__/dropbox-oauth.test.ts:72
LOW secret-generic-credential packages/vault/__tests__/items.test.js:201
LOW secret-generic-credential packages/vault/__tests__/items.test.js:216

Snippets are redacted; ThreatCrush never prints matched credential material.

@ralyodio
ralyodio merged commit 746f2f3 into master Aug 30, 2026
9 checks passed
@ralyodio
ralyodio deleted the fix/vault-password-min branch August 30, 2026 03:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant