Skip to main content
https://travis-ci.org/pinterest/snappass.svg

It’s like SnapChat… for Passwords.

This is a webapp 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 Talk, and Google Talk logs 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.

Requirements

  • Redis.

  • Python 2.6, 2.7 or 3.3+.

Installation

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

Configuration

You can configure the following via environment variables.

SECRET_KEY this should be a unique key that’s used to sign key. This should be kept secret. See the Flask Documentation for more information.

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

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.

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 is optional and, if set, will be used instead of REDIS_HOST, REDIS_PORT, and SNAPPASS_REDIS_DB to configure the Redis client object. For example: redis://username:password@localhost:6379/0

Docker

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

$ docker-compose up -d

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

Credits

“snappass” is originally written and by Owen Coutts and Ryan Park.

It is currently maintained by Nicholas Charriere and Yongwen Xu from Pinterest.

Thanks a lot for the contributions of:

  • Owen Coutts

  • Ryan Park

  • Yongwen Xu

  • Nicholas Charriere

  • Samuel Dion-Girardeau

  • James W Thorne

  • Brandon Davis

  • Joseph Boiteau

  • Carlos Moreno

  • Donny Winston

  • James Barclay

  • Thomas Decaux

Release files for snappass 1.1.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 snappass 1.1.0
File Size Uploaded
snappass-1.1.0.tar.gz 424.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for snappass 1.1.0
File Interpreter ABI Platform
snappass-1.1.0-py2-none-any.whl Python 2 none any Details

Total release size: 915.1 kB

Release files / snappass-1.1.0.tar.gz

Download URL snappass-1.1.0.tar.gz
Size 424.2 kB
Tags Source
SHA-256 checksum
How to use checksums
302dddcf9eefad36306ab9f5484486e939d5815914f7223c65ab2cf7684652bd
BLAKE2b-256 checksum
How to use checksums
b359f4c6d234c06c270ad9808bb827e95f4938c283aef7cabe5f63e2e6b3d505
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / snappass-1.1.0-py2-none-any.whl

Download URL snappass-1.1.0-py2-none-any.whl
Size 490.9 kB
Tags Python 2
SHA-256 checksum
How to use checksums
a9b4256e9a1221d1ac47ab2c16593bf3a91ff27550f6f2ff525b770921b7c2c6
BLAKE2b-256 checksum
How to use checksums
86975f733867ce42d38bdc8cd4bf3c3e017aa290dd53e1fa7836de62c675b006
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

1.6.2

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.2.0

2 release files

This release

1.1.0 This release

2 release files

0.1.0

3 release files

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