• Stars
    star
    3,692
  • Rank 11,970 (Top 0.3 %)
  • Language
    Shell
  • License
    MIT License
  • Created almost 9 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

πŸ‘₯ A bash-tool to store your private data inside a git repository.

git-secret

test release-ci Homebrew Supporters

git-secret

What is git-secret?

git-secret is a bash tool which stores private data inside a git repo. git-secret encrypts files with permitted users' public keys, allowing users you trust to access encrypted data using pgp and their secret keys.

With git-secret, changes to access rights are simplified, and private-public key issues are handled for you.

When someone's permission is revoked, secrets do not need to be changed with git-secret - just remove their key from the repo's keyring using git secret removeperson [email protected], re-encrypt the files, and they won't be able to decrypt secrets anymore. If you think the user might have copied the secrets or keys when they had access, then you should also change the secrets.

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 (on freebsd and MacOS shasum 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 [email protected]

Changelog

git-secret uses semver. See CHANGELOG.md.

Packagers

Thanks to all the people and groups who package git-secret for easier install on particular OSes and distributions!

Packaging status

Here are some packagings of git-secret that we're aware of:

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.

Sponsors

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

Sponsors

Backers

Thanks to all our backers!

Backers

Contributors

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

License

MIT. See LICENSE.md for details.

Thanks

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

More Repositories

1

awesome-cryptography

A curated list of cryptography resources and links.
5,836
star
2

dotfiles

dotfiles for the developer happiness: macos, zsh, brew, vscode, codespaces, python, node, elixir
Shell
583
star
3

python-code-disasters

This code is so bad, that it is worth sharing.
Python
147
star
4

misspell-fixer-action

πŸ“Automatically fixes typos and mistakes in your source code and docs!
Shell
139
star
5

sobole-zsh-theme

Minimalistic zsh theme inspired by the old-fashioned hobbies
Shell
122
star
6

wakatime-zsh-plugin

πŸ•’Track how much time you have spent in your terminal!
Shell
82
star
7

sobolevn.github.io

sobolevn's personal page, where I rant about software and management
HTML
37
star
8

dotbot-brewfile

Install brew packages with dotbot: bundle style!
Python
21
star
9

restrict-cursing-action

Github Action to prevent cursing and bad language in issues and pull requests
JavaScript
19
star
10

dotbot-pip

Install pip packages with dotbot
Python
15
star
11

heisenbug-2019

Examples for Heisenbug 2019
Jupyter Notebook
12
star
12

vue-flow-typed

Flow type definitions for Vue and family
JavaScript
10
star
13

django_stubs_example

Example project to show out `django-stubs`
Python
9
star
14

python-pure-evil

This is a repository where I do fun things with python
Python
8
star
15

flake8-type-annotations

Flake8 plugin to enforce consistent type annotation styles
Python
7
star
16

ship-it-boardgame

6
star
17

dotbot-asdf

Install asdf plugins with dotbot
Python
6
star
18

phoenix_auth0

Example Phoenix app with auth0 authentication
Elixir
6
star
19

mssql-linux-friendly

MSSQL Server that works well and is friendly to the end user
Shell
4
star
20

generator-django-agility

[Deprecated] Agile Yeoman generator for Django Framework
JavaScript
2
star
21

itmo-2019

Repository for my lectures about quality for ITMO
Python
2
star
22

fpconf_elixir

Source code from my talk on #fpconf 2016
Elixir
1
star
23

devoops-conf-2019

Example repository with Github Actions
Shell
1
star
24

my-talks

My collection of talks
1
star
25

hey-officer

Detects secret values inside your files, prevents secrets from being leaked
Python
1
star
26

homebrew-tap

Custom formulas for Homebrew
Ruby
1
star
27

bluetooth-streamdeck-plugin

Elgato StreamDeck Bluetooth Plugin
Python
1
star
28

require-vpn-plugin

FireFox plugin to require an existing VPN connection before accessing specified hosts
JavaScript
1
star