All Projects → pinterest → Snappass

pinterest / Snappass

Licence: mit
Share passwords securely

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Snappass

cracke-dit
cracke-dit ("Cracked It") makes it easier to perform regular password audits against Active Directory environments.
Stars: ✭ 102 (-82.94%)
Mutual labels:  passwords
Pwned
An easy, Ruby way to use the Pwned Passwords API.
Stars: ✭ 290 (-51.51%)
Mutual labels:  passwords
Ff Password Exporter
Easily export your passwords from Firefox.
Stars: ✭ 447 (-25.25%)
Mutual labels:  passwords
laravel-pwned-passwords
Simple Laravel validation rule that allows you to prevent or limit the re-use of passwords that are known to be pwned (unsafe). Based on TroyHunt's Have I Been Pwned (https://haveibeenpwned.com)
Stars: ✭ 67 (-88.8%)
Mutual labels:  passwords
Xbruteforcer
X Brute Forcer Tool 🔓 WordPress , Joomla , DruPal , OpenCart , Magento
Stars: ✭ 261 (-56.35%)
Mutual labels:  passwords
Cryptr
Cryptr: a GUI for Hashicorp's Vault
Stars: ✭ 324 (-45.82%)
Mutual labels:  passwords
riddler
Riddler is a lightweight, performant microservice that checks passwords against the NCSC top list of the most common passwords
Stars: ✭ 31 (-94.82%)
Mutual labels:  passwords
Mooltipass
Github repository dedicated to the mooltipass project
Stars: ✭ 501 (-16.22%)
Mutual labels:  passwords
Adamantium Thief
🔑 Decrypt chromium based browsers passwords, cookies, credit cards, history, bookmarks, autofill. Version > 80 is supported.
Stars: ✭ 283 (-52.68%)
Mutual labels:  passwords
Pentesterspecialdict
渗透测试人员专用精简化字典 Dictionary for penetration testers happy hacker
Stars: ✭ 391 (-34.62%)
Mutual labels:  passwords
qr
🔲 Generate QR Codes straight in your terminal!
Stars: ✭ 34 (-94.31%)
Mutual labels:  passwords
envy
Use envy to manage environment variables with your OS keychain
Stars: ✭ 23 (-96.15%)
Mutual labels:  passwords
Buttercup Core
🎩 The mighty NodeJS password vault
Stars: ✭ 340 (-43.14%)
Mutual labels:  passwords
server
Hashtopolis - A Hashcat wrapper for distributed hashcracking
Stars: ✭ 954 (+59.53%)
Mutual labels:  passwords
Bitcracker
BitCracker is the first open source password cracking tool for memory units encrypted with BitLocker
Stars: ✭ 463 (-22.58%)
Mutual labels:  passwords
bncsutil
The Classic Battle.net™ client library
Stars: ✭ 19 (-96.82%)
Mutual labels:  passwords
Devise Security
A security extension for devise, meeting industrial standard security demands for web applications.
Stars: ✭ 302 (-49.5%)
Mutual labels:  passwords
Lesspass
🔑 stateless open source password manager
Stars: ✭ 4,879 (+715.89%)
Mutual labels:  passwords
Encpass.sh
Lightweight solution for using encrypted passwords in shell scripts
Stars: ✭ 494 (-17.39%)
Mutual labels:  passwords
Chromepass
Chromepass - Hacking Chrome Saved Passwords
Stars: ✭ 364 (-39.13%)
Mutual labels:  passwords

======== SnapPass

|pypi| |build|

.. |pypi| image:: https://img.shields.io/pypi/v/snappass.svg :target: https://pypi.python.org/pypi/snappass :alt: Latest version released on PyPI

.. |build| image:: https://travis-ci.org/pinterest/snappass.svg :target: https://travis-ci.org/pinterest/snappass :alt: Build status

It's like SnapChat... for passwords.

This is a web app that lets you share passwords securely.

Let's say you have a password. You want to give it to your coworker, Jane. You could email it to her, but then it's in her email, which might be backed up, and probably is in some storage device controlled by the NSA.

You could send it to her over chat, but chances are Jane logs all her messages because she uses Google Hangouts Chat, and Google Hangouts Chat might log everything.

You could write it down, but you can't find a pen, and there's way too many characters because your security person, Paul, is paranoid.

So we built SnapPass. It's not that complicated, it does one thing. If Jane gets a link to the password and never looks at it, the password goes away. If the NSA gets a hold of the link, and they look at the password... well they have the password. Also, Jane can't get the password, but now Jane knows that not only is someone looking in her email, they are clicking on links.

Anyway, this took us very little time to write, but we figure we'd save you the trouble of writing it yourself, because maybe you are busy and have other things to do. Enjoy.

Security

Passwords are encrypted using Fernet_ symmetric encryption, from the cryptography_ library. A random unique key is generated for each password, and is never stored; it is rather sent as part of the password link. This means that even if someone has access to the Redis store, the passwords are still safe.

.. _Fernet: https://cryptography.io/en/latest/fernet/ .. _cryptography: https://cryptography.io/en/latest/

Requirements

  • Redis_
  • Python 2.7+ or 3.5+

.. _Redis: https://redis.io/

Installation

::

$ pip install snappass
$ snappass
* Running on http://0.0.0.0:5000/
* Restarting with reloader

Configuration

Start by ensuring that Redis is up and running.

Then, you can configure the following via environment variables.

SECRET_KEY: unique key that's used to sign key. This should be kept secret. See the Flask Documentation__ for more information.

.. __: http://flask.pocoo.org/docs/quickstart/#sessions

DEBUG: to run Flask web server in debug mode. See the Flask Documentation__ for more information.

.. __: http://flask.pocoo.org/docs/quickstart/#debug-mode

STATIC_URL: this should be the location of your static assets. You might not need to change this.

NO_SSL: if you are not using SSL.

URL_PREFIX: useful when running snappass behind a reverse proxy like nginx. Example: "/some/path/", Defaults to None

REDIS_HOST: this should be set by Redis, but you can override it if you want. Defaults to "localhost"

REDIS_PORT: is the port redis is serving on, defaults to 6379

SNAPPASS_REDIS_DB: is the database that you want to use on this redis server. Defaults to db 0

REDIS_URL: (optional) will be used instead of REDIS_HOST, REDIS_PORT, and SNAPPASS_REDIS_DB to configure the Redis client object. For example: redis://username:[email protected]:6379/0

REDIS_PREFIX: (optional, defaults to "snappass") prefix used on redis keys to prevent collisions with other potential clients

Docker

Alternatively, you can use Docker_ and Docker Compose_ to install and run SnapPass:

.. _Docker: https://www.docker.com/ .. _Docker Compose: https://docs.docker.com/compose/

::

$ docker-compose up -d

This will pull all dependencies, i.e. Redis and appropriate Python version (3.7), then start up SnapPass and Redis server. SnapPass server is accessible at: http://localhost:5000

Similar Tools

  • Snappass.NET <https://github.com/generateui/Snappass.NET>_ is a .NET (ASP.NET Core) port of SnapPass.

We're Hiring!

Are you really excited about open-source and great software engineering? Pinterest is hiring <https://careers.pinterest.com>_!

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].