Storage
Paw stores vaults as local files. Each vault has an encrypted index and separately encrypted item files. Attachment contents are stored as encrypted files.
File locations
By default, Paw stores all data in your user home directory:
- Linux and macOS:
~/.paw/ - Custom location: Set the
PAW_HOMEenvironment variable; Paw will use$PAW_HOME/.paw/.
Application directory layout
The root application directory contains:
| Path | Purpose |
|---|---|
storage/ | Directory containing all local vaults |
agent.sock | Local Unix domain socket used by the agent (\\.\pipe\paw on Windows) |
paw.lock | Process lock file preventing concurrent GUI instances |
app.log | Application event log |
Vault directory structure
Each vault is stored under storage/<VAULT_ID>/ with the following structure:
| File / Directory | Purpose | Encryption |
|---|---|---|
key.age | Master age private identity | Password-encrypted (scrypt) |
vault.age | Index containing item summaries | Encrypted with vault key |
items/ | Encrypted item revision files | Encrypted with vault key |
files/ | Encrypted file attachments | Encrypted with vault key |
metadata.json | Vault name, icon, and display color | Unencrypted (used to display locked vaults) |
Do not edit or remove vault files manually while Paw is running.