Skip to main content

groupenc: Group Encryption Utilities

Group Encryption utilities in Python, with a CLI.

Installation

pip install groupenc

Usage

Bootstrap

To Bootstrap a vault, use:

groupenc bootstrap

It would typically create a file called .groupenc.json and a private key /public key pair in ~/.groupenc_private and ~/.groupenc_public.

You can share your own identity with other people, so they can induct you later:

groupenc id

It typically displays your public key.

Secrets

To add a secret, use:

groupenc secret add --key password --value changeMe

To add a secret from a file, use:

groupenc secret add --key id_rsa_server --value @~/.ssh/id_rsa

To list secrets, use:

groupenc secret list
password
id_rsa_server

To display a secret, use:

groupenc secret show --key password
changeMe

To remove a secret, use:

groupenc secret remove --key password

Induction

When you add someone else to the vault file, this process allows them to view secrets. To do that, an existing user inducts them into the system.

groupenc induct --identity @~/other_id_rsa.pub

and then you transmit the new file across. They should be able to decode and view the secrets.

Rotation

Sometimes, it is a good practice to rotate the encryption keys so people can't view updated secrets.

groupenc rotate

Remove

When you want to remove people from a group, you simply remove them with a known public key, then rotate:

groupenc disown --identity @~/other_id_rsa.pub
groupenc rotate

Note that the secrets that they already have access to cannot be unshared/forgotten, so you should manually revoke their accesses from any services. It is a good practice to share multiple vault files and induct people based on their actual role/need to access.

Running Unit Tests

pip install tox
tox

Call for Testing Volunteers

The code was tested on Python 2.7, 3.8.

Please volunteer to test it and send in your patches (or) bug reports. Design feedback always welcome.

Metadata

Release files for groupenc 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for groupenc 0.3.0
File Size Uploaded
groupenc-0.3.0.tar.gz 15.9 kB Details

Release files / groupenc-0.3.0.tar.gz

Download URL groupenc-0.3.0.tar.gz
Size 15.9 kB
Tags Source
SHA-256 checksum
How to use checksums
83bd0818c6500a7a8b5c4e27e34ddadb344db99eadd2afec2d67e2a8f78567cc
BLAKE2b-256 checksum
How to use checksums
29fd74d2d252909c8dd1e2cdd79f2364f79781d412d6c9cab15dcb77a55aa636
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.2

Release history Release notifications | RSS feed

This release

0.3.0 This release

1 release file

0.2.0

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page