65fe4c4127
* add 'git secret tell -v' option to show output of key imports * add tests for tell with/without -v * remove unneeded test code and bats diagnostic output |
||
---|---|---|
.ci | ||
.Dockerfiles | ||
.github | ||
man | ||
RFC | ||
src | ||
tests | ||
utils | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.kitchen.yml | ||
.travis.yml | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
Gemfile | ||
git-secret.plugin.zsh | ||
LICENSE.md | ||
Makefile | ||
README.md |
git-secret
What is git-secret
?
git-secret
is a bash tool which stores private data inside a git repo.
git-secret
encrypts tracked files with public keys for users whom you trust using gpg
,
allowing permitted users to access encrypted data using their secret keys.
With git-secret
, changes to access rights are made easy and private-public key issues are handled for you.
Passwords do not need to be changed with git-secret
when someone's permission is revoked -
just remove their key from the keychain using git secret killperson their@email.com
,
and re-encrypt the files, and they won't be able to decrypt secrets anymore.
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
since3.2.57
(it is hard to tell the correctpatch
release)gawk
since4.0.2
git
since1.8.3.1
gpg
sincegnupg 1.4
tognupg 2.X
sha256sum
since8.21
(on freebsd and OSXshasum
is used instead)
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 disclose 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].
Packagers
Thanks also to all the people and groups who package git-secret to be easier to install on particular OSes or distributions!
Here are some packagings of git-secret that we're aware of:
- https://pkgs.alpinelinux.org/package/edge/testing/x86/git-secret
- https://aur.archlinux.org/packages/git-secret/
- https://packages.ubuntu.com/bionic/git-secret
- https://packages.debian.org/sid/git-secret
Such packages are considered 'downstream' because the git-secret code 'flows' from the git-secret repository to the various rpm/deb/dpkg/etc packages that are created for specific OSes and distributions.
We have also added notes specifically for packagers in CONTRIBUTING.md.
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.