Security overview
Technical preview · Version 1.0
Encryption model
New vaults use a random 256-bit data-encryption key and AES-256-GCM authenticated encryption. The master password is processed with scrypt and a random salt to derive a key-encryption key, which wraps the random vault key. The master password is not stored.
Desktop boundaries
The React interface runs sandboxed with context isolation and without Node.js integration. A narrow preload bridge exposes fixed operations. The desktop process validates request objects, owns keys and filesystem access, rejects navigation, and blocks unapproved network requests.
Documents and backups
Supported imported files are checked for regular-file status, symbolic links, size, extension, and signature before encryption. Backups include authenticated encrypted vault data and documents. Restore verifies contents before transactionally replacing the active vault.
Trusted Access
Each Trusted Access package has its own random key and passphrase-derived wrapping key. The owner selects individual fields and documents. Direct-access secrets are blocked from selection. Packages cannot remotely revoke an already shared copy and do not confer legal authority.
Known limitations
- A compromised computer can capture unlocked information, passwords, memory, screenshots, or exports.
- JavaScript cannot guarantee complete memory zeroization.
- Multi-factor authentication gates the official application but does not add entropy to the vault encryption key.
- Plaintext exports are outside Servara’s protection.
- The preview is unsigned, unnotarized, and has not received an independent security audit or penetration test.
Reporting
Send general security questions to support.servara@gmail.com. Submit sensitive vulnerability details confidentially through GitHub private vulnerability reporting, not through email or a public issue.