All Projects → smallwat3r → Shhh

smallwat3r / Shhh

Licence: mit
Share sensitive info without leaving a trace in your chat logs or email accounts.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Shhh

Easy Wg Quick
Creates Wireguard configuration for hub and peers with ease
Stars: ✭ 502 (+215.72%)
Mutual labels:  self-hosted, privacy, encryption
Wireguard Manager
Self-hosted Wireguard Installer / Manager for CentOS, Debian, Ubuntu, Arch, Fedora, Redhat, Raspbian
Stars: ✭ 478 (+200.63%)
Mutual labels:  self-hosted, privacy, encryption
Onionr
Private Decentralized Communication Network 🎭 🧅
Stars: ✭ 84 (-47.17%)
Mutual labels:  privacy, encryption
Shynet
Modern, privacy-friendly, and detailed web analytics that works without cookies or JS.
Stars: ✭ 1,273 (+700.63%)
Mutual labels:  self-hosted, privacy
Emberclear
Encrypted Chat. No History. No Logs.
Stars: ✭ 157 (-1.26%)
Mutual labels:  privacy, encryption
Zbox
Zero-details, privacy-focused in-app file system.
Stars: ✭ 1,185 (+645.28%)
Mutual labels:  privacy, encryption
Brandis
Brandis: End-to-end encryption for everyone
Stars: ✭ 77 (-51.57%)
Mutual labels:  privacy, encryption
Django Th
🐍 Trigger Happy - The bus 🚌 for your internet services
Stars: ✭ 1,356 (+752.83%)
Mutual labels:  self-hosted, privacy
Silence
PROJECT MOVED: https://git.silence.dev/Silence/Silence-Android/ (GitHub is just a mirror.)
Stars: ✭ 1,019 (+540.88%)
Mutual labels:  privacy, encryption
Privacy Respecting
Curated List of Privacy Respecting Services and Software
Stars: ✭ 1,663 (+945.91%)
Mutual labels:  self-hosted, privacy
Xinahn Client
一个开源,高隐私,自架自用的聚合搜索引擎。https://xinahn.com
Stars: ✭ 116 (-27.04%)
Mutual labels:  self-hosted, privacy
Zeyple
Postfix filter/hook to automatically encrypt outgoing emails with PGP/GPG
Stars: ✭ 122 (-23.27%)
Mutual labels:  privacy, encryption
Discordcrypt
End-To-End File & Message Encryption For Discord
Stars: ✭ 150 (-5.66%)
Mutual labels:  privacy, encryption
Helm Secrets
DEPRECATED A helm plugin that help manage secrets with Git workflow and store them anywhere
Stars: ✭ 1,129 (+610.06%)
Mutual labels:  encryption, secrets
Envkey App
Secure, human-friendly, cross-platform secrets and config.
Stars: ✭ 83 (-47.8%)
Mutual labels:  encryption, secrets
Drops
opmsg p2p transport network
Stars: ✭ 58 (-63.52%)
Mutual labels:  privacy, encryption
0fc
Anonymous web chat server, built on top of Themis/WebThemis
Stars: ✭ 98 (-38.36%)
Mutual labels:  privacy, encryption
Tessera
Tessera - Enterprise Implementation of Quorum's transaction manager
Stars: ✭ 135 (-15.09%)
Mutual labels:  privacy, encryption
Transcrypt
transparently encrypt files within a git repository
Stars: ✭ 993 (+524.53%)
Mutual labels:  encryption, secrets
Embassy Os
A graphical operating system for running self-hosted software.
Stars: ✭ 43 (-72.96%)
Mutual labels:  self-hosted, privacy

Keep secrets out of emails and chat logs.

What is it?

Shhh is a tiny Flask app to create encrypted secrets and share them securely with people. The goal of this application is to get rid of plain text sensitive information into emails or chat logs.

Shhh is deployed here, but it's better for organisations and people to deploy it on their own personal / private server for even better security. You can find in this repo everything you need to host the app yourself.

Or you can one-click deploy to Heroku using the below button. It will generate a fully configured private instance of Shhh immediately (using your own server and Postgres database, for free).

Deploy

Also, checkout shhh-cli, a Go client to interact with the Shhh API from the command line.

How does it work?

The sender has to set an expiration date along with a passphrase to protect the information he wants to share.

A unique link is generated by Shhh that the sender can share with the receiver in an email, alongside the temporary passphrase he created in order to reveal the secret.

The secret will be permanently removed from the database as soon as one of these events happens:

  • the expiration date has passed (max 7 days).
  • the receiver has decrypted the message.
  • or the amount of tries to open the secret has exceeded (max 10).

The secrets are encrypted in order to make the data anonymous, especially in the database, and the passphrases are not stored anywhere.

Encryption method used: Fernet with password, random salt value and strong iteration count (100 000).

Tip: For added security, avoid telling in Shhh what is the use of the secret you're sharing. Instead, explain this in your email, and copy the Shhh link to it with the passphrase.

Is there an API?

Yes, you can find some doc here.

What's the stack?

  • Flask, our Python application web-framework.
  • Postgres, our relational database management system.
  • Bulma, our CSS framework.

What are the dependencies?

You can find the list of the Python dependencies here, and the list of the frontend dependencies here.

How to launch Shhh locally?

These instructions are for development purpose only. For production use you might want to use a more secure configuration.

Launch it natively

Deps

Make sure you have make, yarn, and obviously [email protected] installed on your machine.

Postgres

You will need a Postgres server running locally in the background. Create a database named shhh.

CREATE DATABASE shhh;

Flask

You will need to set up a few environment variables. We use them to configure Flask, as well as the application connection to the database.

Rename the file /environments/local.dev.template to /environments/local.dev and fill in the missing variables (these are the variables needed to connect to your local Postgres database).

Once done, from the root of the repository, run:

make local

This command will make sure a virtual environment is created and that all the needed dependencies are installed, and finally launch a flask local server.

You can now access the app at http://localhost:5000

Launch it with docker-compose

Deps

Make sure you have make, docker and docker-compose installed on your machine.

Docker

From the root of the repository, run

make dc-start  # to start the app
make dc-stop   # to stop the app

Once the container image has finished building and has started, you can access:

Note: using docker-compose the application will be running with Gunicorn.

Run development checks

You can run tests and linting / security reports using the Makefile:

make checks  # run all checks

make tests   # run tests
make pylint  # run Pylint report
make bandit  # run Bandit report
make mypy    # run Mypy report

Credits

Existing cool apps that gave me the idea to develop my own version using Python and Flask

Thanks to

License

See LICENSE file.

Contact

Please report issues or questions here.

Buy me a coffee

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].