Threat Model

Security through honesty

What ChromVoid protects, what it doesn't, and why we publish limitations.

What ChromVoid protects

ChromVoid is designed for storing passwords, OTP, notes and other secrets with a threat model where physical access, coercion, network attacks, and offline analysis are possible.

ChromVoid does not promise "unhackability" and does not replace basic security hygiene.

Trust boundaries

ChromVoid is built as a zero-trust system. No component is "trusted by default". Access is granted through capability grants. All communication is encrypted end-to-end: Noise over USB/WebRTC DataChannel/WSS via Relay.

Cryptography

Standard cryptographic primitives with no proprietary algorithms. Everything is documented and verifiable.

Storage architecture

ChromVoid uses chunk-based storage. Data is stored as encrypted chunks (~16KB). Each chunk is encrypted separately. Writes are atomic (write-temp-rename) + fsync.

Offline-hardening

When an attacker has a copy of your files, ChromVoid applies a "separate data and hardening material" approach. Storage data (chunks) is in the filesystem. An additional secret (storage pepper) is stored separately (e.g., in OS keystore) and participates in key derivation.

Idea: "just copying the folder" is not enough to conveniently run offline brute-force.
Important: this does not replace a strong passphrase. Argon2id + pepper = delay and complication of offline attack, but not an absolute guarantee.

Plausible Deniability

ChromVoid supports a decoy vault + hidden vaults model: no obvious "wrong password" signal, minimal metadata about vault count, hidden data boundaries at storage level (flat chunk approach).

Threat actors

ChromVoid defends against a range of adversaries — from opportunistic thieves to nation-state actors. Different threat levels require different operating modes.

Attack scenarios

Concrete scenarios help understand how ChromVoid's defenses work in practice. Each scenario describes the attacker, their goal, the attack vector, and the protection outcome.

What we don't protect

Honest disclosure of limitations is part of our security approach. These are accepted risks.

  • Host compromise during unlock: if the OS is infected and reads screen/keyboard/memory while the vault is open, the risk is high for any password manager.
  • Weak passwords: KDF slows down brute-force but doesn't make the password strong.
  • Social engineering and user errors: transferring secrets to notes/screenshots/chat.
  • Physical access to an unlocked host device: software-only protection does not stop direct inspection or memory extraction.
  • Supply-chain compromise of the host OS, firmware, or device hardware is outside the scope of this threat model.

Recommendations

Practical guidance to maximize ChromVoid's protection.

  • Critical Use a strong passphrase (4-5 words or ≥12 characters)
  • Important Keep decoy vault plausible and "explainable"
  • Important Prefer localhost or direct cable paths when they are available
  • Critical Enable auto-lock and lock on sleep
  • Critical Store master_password on paper in a secure place
  • Important Make regular encrypted backups
  • Recommended Keep the application updated

Auditability

ChromVoid's architecture is open and documented. You can verify the security claims yourself.

  • Architecture diagrams for core, transport, and trust boundaries
  • Public repo and protocol specs
  • API specification (OpenAPI)

Responsible Disclosure

If you find a vulnerability, please report it responsibly.

  • Do not publish PoC publicly before the fix
  • Write to security@chromvoid.com or via GitHub Security Advisories
  • We will confirm receipt and provide status updates
security@chromvoid.com