EDIT: Just want to point out that it appears that this software allows you to define access for different members of a team, but I haven't had a chance to try it.
EDIT: Just want to point out that it appears that this software allows you to define access for different members of a team, but I haven't had a chance to try it.
... and the binary format makes KeePass merges impossible. Even if it's just you, if you have multiple computers you need to make sure you have the latest copy before adding something.
That's what's nice about pass, it plays nice with git, rsync, and just about everything else. Last write wins per credential. If you tack on history with git (or ZFS snapshots!) you have a central copy that you can share among a team.
Someone should make a slick UI atop a pass directory with a browser plugin.
I've been manually merging a set of Password-Safe-format password files (one for each of my many computers) and I've been thinking about alternatives for a long while. I was actually thinking about how I could combine encrypted files with Git to get history and painless merging – I'm glad to know that someone else had the same ideas!
Sadly, Android client (which is quite good otherwise) doesn't support git-remote-gcrypt.
Why is this a limitation? Are you stating that each file in the 'repo' is encrypted separately? I figured it was the entire repo as a directory, in which case, when it's 'at rest', the whole thing is encrypted as a blob.
No, it's not.
With pass (just to be sure - we're talking about zx2c4's one, right?), the store contains a bunch of independent gpg-encrypted text files. However, the filenames are not encrypted or obfuscated by any means.
This has pros and cons. On the good side, you don't have to decrypt anything (which means, actually use your GPG key, which is best kept on an unplugged HSM) to just check if the credential's in the store (think auto-fill suggestion). Also, this architecture allows dead-simple (plain rsync or git!) approach for synchronization when there are no entry-level conflicts. On the bad side, anyone who has access to the filenames (local filesystem access or a clone of git repo) can figure out which resources you have credentials for. That's the price of the simplicity.
I.e. what you see in the very first example at https://www.passwordstore.org/ in the "Using the password store" section are the actual at-rest filenames. Run `ls -lR ~/.password-store` if you don't believe me ;)
Use of ecryptfs/encfs or git-remote-gcrypt was suggested to mitigate this, but those aren't perfect. Well, everything depends on the threat scenarios you consider.
What're the downsides or limitations of ecryptfs/encfs or git-remote-gcrypt – I was looking over Pass again and realized all of what you stated. I figured ecryptfs/encfs would work well enough to encrypt the Pass repo itself.