Getting started¶
This guide installs GNU pass to CSV, creates a Proton Pass-compatible export, and walks through the plaintext cleanup boundary.
Prerequisites¶
- Linux or macOS.
- Python 3.11 or newer.
- A working
passinstallation. - An initialized password store with at least one
.gpgentry. - Proton Pass with access to Settings → Import.
1. Verify pass first¶
Before installing the exporter, confirm that your normal pass and gpg-agent
flow can decrypt a synthetic or non-sensitive test entry:
Resolve any GPG, pinentry, or password-store issue before continuing. The exporter deliberately does not add another passphrase mechanism.
2. Install a reviewed release¶
Confirm the installed command and version:
To work on the project itself, follow Development instead.
3. Choose a safe destination¶
Use a local, non-synced directory on an encrypted filesystem. The destination must be outside the password store, and the output path is always explicit.
Treat the destination as a secret
Do not use a cloud-synced folder, shared directory, source repository, or network drive. The CSV is readable plaintext even though the source entries remain encrypted.
4. Export the store¶
The default store is PASSWORD_STORE_DIR when set, otherwise
~/.password-store:
A successful run reports the number of exported entries and the destination:
WARNING: the output CSV contains plaintext passwords; handle it as a secret.
Exported 42 entries to /home/alice/Downloads/proton-pass-import.csv
For a custom store and vault:
gnu-pass-to-csv \
--password-store-dir ~/.password-store-work \
--output ~/Downloads/work-import.csv \
--vault Work
5. Import into Proton Pass¶
- Open Proton Pass.
- Choose Settings → Import.
- Select Generic CSV.
- Import the generated file.
- Verify representative logins, notes, nested names, and TOTP entries.
Do not remove the source password store until you have verified the migration. The exporter targets login entries; it does not represent cards, identities, aliases, attachments, or arbitrary custom fields.
6. Remove the plaintext export¶
Remove the CSV after verification and account for copies in trash, backups, snapshots, recent-file lists, and sync history. A normal file deletion or overwrite is not a guaranteed secure erase on SSDs, copy-on-write filesystems, or backed-up volumes.
Read the security model for the residual risks that remain during and after a migration.