Threat model
Paw protects stored vault contents using age encryption. This limits access to the encrypted data when an attacker does not have the required private identity or password.
Assumption
Paw assumes there are no attackers on the local machine. A process that controls the device may be able to observe data while Paw is unlocked. Other attacker capabilities and scenarios are not defined here.
What encryption does not cover
Vault listing metadata such as name, icon, and color is not encrypted. Encryption does not prevent an attacker who controls the operating system from observing Paw while it runs.
The security of your backups also depends on how you protect their encryption passwords and storage locations. Plain .cxf exports are not encrypted.
Security audit and source review
Paw has not yet undergone an independent third-party security audit.
Because security requires transparency, you do not need to take our word for how your secrets are protected:
- Public and open source: The entire codebase, storage contracts, and cryptographic operations are open source and available on GitHub.
- Proven cryptography: Paw relies on established, peer-reviewed technologies — such as age (X25519 and scrypt) and Go’s standard cryptographic libraries — rather than custom encryption schemes.
- Inspect and build: Anyone can audit the source code, verify how data is handled, and build the binary directly from source.
If you identify a security issue or vulnerability, please report it responsibly following our security policy.