What it protects against
nullbrand defends the vault against six specific threats, listed below with how each one is handled. Malware already running as your user is out of scope. This is the threat model from the README, in plain words.
- Someone on your network
- Listens on 127.0.0.1 only and refuses to start on any other address.
- A malicious website open in your browser
- Single-use access token that expires in 60 seconds, an HttpOnly, SameSite=Strict session cookie, Host and Origin checked on every request, no CORS.
- Injected or third-party scripts
- CSP with default-src 'none', no external resources, data always rendered with textContent.
- Leaving the vault open
- Auto-lock after inactivity (15 minutes by default). The key lives only in memory and is zeroed on lock.
- Someone stealing the vault file
- Brute force is limited by scrypt’s cost, about 128 MiB per guess.
- A copied password you forgot about
- After 30 seconds, on lock and on quit, the clipboard is cleared only if it still holds the password (compared by SHA-256). On Windows, Clipboard History may keep a copy; turn it off if that matters to you.
nullbrand collects nothing, so there is nothing to share. No telemetry, no analytics, no update checks.
Out of scope: malware already running as your user.
Read the security policy