How it Works • Overview: Security and Use • Install • Technical Details • Usability • Demo
curl -fsSL https://raw.githubusercontent.com/scosman/secret_share/main/install.sh | sh
secret_share
Windows Users: run this in Windows Subsystem for Linux (WSL), not PowerShell.
Or check out all install options.
The whole process takes about 15 seconds:
secret_share, it generates a one-time public key, they send the key to the sendersecret_share, pastes in the public key from the receiver, type/paste a secret, it generates an encrypted response they send backYou can install SecretShare with a single command:
curl -fsSL https://raw.githubusercontent.com/scosman/secret_share/main/install.sh | sh
Important: Windows users should run this in Windows Subsystem for Linux (WSL), not PowerShell.
Obviously feel free to download and read the installer script before running! It's downloading the latest offical release from Github.
Run the following to install secret_share from source. You'll need to have golang installed.
go install github.com/scosman/secret_share/cmd/secret_share@latest
Builds are created on public Github Actions. The build logs include checksums you can validate.
SecretShare is a golang command-line tool. They encryption flow works as follows:
The private key never leaves the receiver's machine and is never exposed to the communication channel.
Using hybrid RSA+AES encryption allows us to share secrets of any length. RSA alone can only encrypt short payloads.
Security note: secret_send does nothing to verify the identity of the person you're sharing with. That is similar to tools which use secret links, but not as robust as something like PGP or Keybase. The tradeoff is ease of setup and complexity.
Being an interactive CLI and not having arguments is an intentional security+usability choice. Other tools like age allow you to generate private key files, but also make it the user's responsibility to securely manage those keys (keeping track of them, deleting them, time-based expiration, etc). SecretSend keeps it simple: no one ever sees the private key, it's never written to disk, and it's cleared from memory as soon as the app ends. This makes it great for one-time secret sharing between people. If you want long-term secret management with long lived keys, check out age.
This project is licensed under the MIT License - see the LICENSE.txt file for details.
60 commits
Go
86.7%
Shell
11.5%
Makefile
1.8%
How it Works • Overview: Security and Use • Install • Technical Details • Usability • Demo
curl -fsSL https://raw.githubusercontent.com/scosman/secret_share/main/install.sh | sh
secret_share
Windows Users: run this in Windows Subsystem for Linux (WSL), not PowerShell.
Or check out all install options.
The whole process takes about 15 seconds:
secret_share, it generates a one-time public key, they send the key to the sendersecret_share, pastes in the public key from the receiver, type/paste a secret, it generates an encrypted response they send backYou can install SecretShare with a single command:
curl -fsSL https://raw.githubusercontent.com/scosman/secret_share/main/install.sh | sh
Important: Windows users should run this in Windows Subsystem for Linux (WSL), not PowerShell.
Obviously feel free to download and read the installer script before running! It's downloading the latest offical release from Github.
Run the following to install secret_share from source. You'll need to have golang installed.
go install github.com/scosman/secret_share/cmd/secret_share@latest
Builds are created on public Github Actions. The build logs include checksums you can validate.
SecretShare is a golang command-line tool. They encryption flow works as follows:
The private key never leaves the receiver's machine and is never exposed to the communication channel.
Using hybrid RSA+AES encryption allows us to share secrets of any length. RSA alone can only encrypt short payloads.
Security note: secret_send does nothing to verify the identity of the person you're sharing with. That is similar to tools which use secret links, but not as robust as something like PGP or Keybase. The tradeoff is ease of setup and complexity.
Being an interactive CLI and not having arguments is an intentional security+usability choice. Other tools like age allow you to generate private key files, but also make it the user's responsibility to securely manage those keys (keeping track of them, deleting them, time-based expiration, etc). SecretSend keeps it simple: no one ever sees the private key, it's never written to disk, and it's cleared from memory as soon as the app ends. This makes it great for one-time secret sharing between people. If you want long-term secret management with long lived keys, check out age.
This project is licensed under the MIT License - see the LICENSE.txt file for details.
60 commits
Go
86.7%
Shell
11.5%
Makefile
1.8%