Skip to content

👥 A bash-tool to store your private data inside a git repository.

License

Notifications You must be signed in to change notification settings

neilkimmett/git-secret

 
 

Repository files navigation

git-secret

Backers on Open Collective Sponsors on Open Collective Build Status Homebrew Bintray deb

git-secret

What is git-secret?

git-secret is a bash tool to store your private data inside a git repo. How’s that? Basically, it just encrypts, using gpg, the tracked files with the public keys of all the users that you trust. So everyone of them can decrypt these files using only their personal secret key. Why deal with all this private-public keys stuff? Well, to make it easier for everyone to manage access rights. There are no passwords that change. When someone is out - just delete their public key, re-encrypt the files, and they won’t be able to decrypt secrets anymore.

Preview

git-secret terminal preview

Installation

git-secret supports brew, just type: brew install git-secret

It also supports apt and yum. You can also use make if you want to. See the installation section for the details.

Requirements

git-secret relies on several external packages:

  • bash since 3.2.57 (it is hard to tell the correct patch release)
  • gawk since 4.0.2
  • git since 1.8.3.1
  • gpg since gnupg 1.4 to gnupg 2.X
  • sha256sum since 8.21

Contributing

Do you want to help the project? Find an issue and send a PR. It is more than welcomed! See CONTRIBUTING.md on how to do that.

Security

In order to encrypt (git-secret hide -m) files only when modified, the path mappings file tracks sha256sum checksums of the files added (git-secret add) to git-secret's path mappings filesystem database. Although, the chances of encountering a sha collision are low, it is recommend that you pad files with random data for greater security. Or avoid using the -m option altogether. If your secret file holds more data than just a single password these precautions should not be necessary, but could be followed for greater security.

If you found any security related issues, please do not enclose it in public. Send an email to security@wemake.services

Changelog

git-secret uses semver. See CHANGELOG.md.

Contributors

This project exists thanks to all the people who contribute. [Contribute].

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

License

MIT. See LICENSE.md for details.

Thanks

Special thanks to Elio Qoshi from ura for the awesome logo.

About

👥 A bash-tool to store your private data inside a git repository.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 89.9%
  • Ruby 5.8%
  • Makefile 4.3%