Security
How a DribbleVault vault is protected, in enough detail to check. Every claim here is one the code can be held to; where something has not been done, it says so.
Last updated 3 September 2026 · applies to version 0.1.0
What protects your vault
| Step | What is used |
|---|---|
| Master password → key | Argon2id, calibrated on your Mac — typically 256 MiB of memory, 1 second |
| Encryption | XChaCha20-Poly1305 |
| Large files | STREAM chunked AEAD |
| Key separation | HKDF-SHA-256, one subkey per purpose |
Nothing here is invented. Argon2 won a public competition for exactly this job; XChaCha20-Poly1305 and HKDF are published, reviewed standards. The primitives are tested against independent implementations — libsodium, the PHC Argon2 reference, RFC 5869 and RFC 6238 vectors — rather than only against themselves.
Why the memory cost matters
Argon2id's memory requirement is the part that resists an attacker with a graphics card. At 256 MiB, a 24 GB GPU can hold roughly 96 guesses at a time instead of tens of thousands. That is what turns a stolen vault file from a weekend's work into an impossibility — provided the master password is not one somebody would guess early.
Details worth knowing
The header is authenticated
The key-derivation parameters are used as associated data when the master key is unwrapped. Editing the header to weaken the KDF does not weaken anything — it breaks decryption outright, which is the correct failure.
Length is padded
Records are padded into fixed size buckets before encryption, so the size of a file on disk does not disclose the size of what is inside it.
The vault locks itself
After inactivity, and whenever the Mac sleeps — detected by comparing wall-clock against monotonic time, so a machine that was suspended is caught even if no timer fired. Anything copied to the clipboard is cleared with it.
Nothing derived from your password is stored
Not the password, and not any value that would let somebody test guesses more cheaply than running the full derivation.
The network
DribbleVault makes no network calls. Two optional features would, and both are off until you turn them on. Breach checking compares your passwords against public breach data, and even then never sends a password: only the first 5 characters of a 40-character hash, which thousands of unrelated passwords share. Update checking asks whether a newer version exists — it sends nothing about you, and it never downloads or installs anything. You fetch an update yourself.
What it does not defend against
Stated plainly, because a security page that lists only strengths is marketing.
- A weak master password. Everything rests on it. The app generates a strong passphrase and recommends it for exactly this reason.
- Malware running as you. Anything with your user account can read the vault file and the app's memory. No password manager survives this.
- A keylogger. It captures the master password as you type it.
- An unlocked, unattended Mac. Auto-lock shortens the window; it does not close it.
- Coercion. A password can be refused. A fingerprint cannot. If that is in your threat model, leave Touch ID off.
No recovery, by design
If you forget your master password, the vault is gone. There is no reset, no hint, no security question, and nobody here can help — because the key never leaves your Mac and we hold nothing that could open it.
That is the trade for there being no server. Write your passphrase down and keep it somewhere safe.
What has not been done
No independent security review. What exists is 299 automated tests, structural checks that fail the build on a security regression, a written threat model, and an adversarial audit — all by the person who wrote the code.
That does not weaken the cryptography; the algorithms are public standards checked against independent implementations. It means nobody outside has reviewed the code around them. For something holding your passwords, that gap is worth knowing about, and it will be stated here until it changes.
Reporting something
If you find a weakness, please write to support@dribblesoft.com before publishing it, and allow time for a fix. You will be credited unless you would rather not be.