{ "info": { "author": "Dave Dash", "author_email": "dd+github@davedash.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "========\nSnapPass\n========\n\n|pypi| |build|\n\n.. |pypi| image:: https://img.shields.io/pypi/v/snappass.svg\n :target: https://pypi.python.org/pypi/snappass\n :alt: Latest version released on PyPI\n\n.. |build| image:: https://travis-ci.org/pinterest/snappass.svg\n :target: http://travis-ci.org/pinterest/snappass\n :alt: Build status\n\nIt's like SnapChat... for passwords.\n\nThis is a web app that lets you share passwords securely.\n\nLet's say you have a password. You want to give it to your coworker, Jane.\nYou could email it to her, but then it's in her email, which might be backed up,\nand probably is in some storage device controlled by the NSA.\n\nYou could send it to her over chat, but chances are Jane logs all her messages\nbecause she uses Google Hangouts Chat, and Google Hangouts Chat might log everything.\n\nYou could write it down, but you can't find a pen, and there's way too many\ncharacters because your security person, Paul, is paranoid.\n\nSo we built SnapPass. It's not that complicated, it does one thing. If\nJane gets a link to the password and never looks at it, the password goes away.\nIf the NSA gets a hold of the link, and they look at the password... well they\nhave the password. Also, Jane can't get the password, but now Jane knows that\nnot only is someone looking in her email, they are clicking on links.\n\nAnyway, this took us very little time to write, but we figure we'd save you the\ntrouble of writing it yourself, because maybe you are busy and have other things\nto do. Enjoy.\n\nSecurity\n--------\n\nPasswords are encrypted using `Fernet`_ symmetric encryption, from the `cryptography`_ library.\nA random unique key is generated for each password, and is never stored;\nit is rather sent as part of the password link.\nThis means that even if someone has access to the Redis store, the passwords are still safe.\n\n.. _Fernet: https://cryptography.io/en/latest/fernet/\n.. _cryptography: https://cryptography.io/en/latest/\n\nRequirements\n------------\n\n* Redis\n* Python 2.7+ or 3.4+ (both included)\n\nInstallation\n------------\n\n::\n\n $ pip install snappass\n $ snappass\n * Running on http://0.0.0.0:5000/\n * Restarting with reloader\n\nConfiguration\n-------------\n\nYou can configure the following via environment variables.\n\n``SECRET_KEY``: unique key that's used to sign key. This should\nbe kept secret. See the `Flask Documentation`__ for more information.\n\n.. __: http://flask.pocoo.org/docs/quickstart/#sessions\n\n``DEBUG``: to run Flask web server in debug mode. See the `Flask Documentation`__ for more information.\n\n.. __: http://flask.pocoo.org/docs/quickstart/#debug-mode\n\n``STATIC_URL``: this should be the location of your static assets. You might not\nneed to change this.\n\n``NO_SSL``: if you are not using SSL.\n\n``REDIS_HOST``: this should be set by Redis, but you can override it if you want. Defaults to ``\"localhost\"``\n\n``REDIS_PORT``: is the port redis is serving on, defaults to 6379\n\n``SNAPPASS_REDIS_DB``: is the database that you want to use on this redis server. Defaults to db 0\n\n``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:password@localhost:6379/0\n\n``REDIS_PREFIX``: (optional, defaults to ``\"snappass\"``) prefix used on redis keys to prevent collisions with other potential clients\n\nDocker\n------\n\nAlternatively, you can use `Docker`_ and `Docker Compose`_ to install and run SnapPass:\n\n.. _Docker: https://www.docker.com/\n.. _Docker Compose: https://docs.docker.com/compose/\n\n::\n\n $ docker-compose up -d\n\nThis 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\n\nWe're Hiring!\n-------------\n\nAre you really excited about open-source and great software engineering?\nPinterest is `hiring`__!\n\n.. __: https://careers.pinterest.com\n\n\nCredits\n=======\n\n\"snappass\" is originally written and by Owen Coutts and Ryan Park.\n\nIt is currently maintained by Nicholas Charriere and Yongwen Xu from Pinterest.\n\nThanks a lot for the contributions of:\n\n* Owen Coutts\n* Ryan Park\n* Yongwen Xu\n* Nicholas Charriere\n* Samuel Dion-Girardeau\n* James W Thorne\n* Brandon Davis\n* Joseph Boiteau\n* Carlos Moreno\n* Donny Winston\n* James Barclay\n* Thomas Decaux\n* Lauri Lubi\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/Pinterest/snappass/", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "snappass", "package_url": "https://pypi.org/project/snappass/", "platform": "", "project_url": "https://pypi.org/project/snappass/", "project_urls": { "Homepage": "http://github.com/Pinterest/snappass/" }, "release_url": "https://pypi.org/project/snappass/1.4.2/", "requires_dist": null, "requires_python": "", "summary": "It's like SnapChat... for Passwords.", "version": "1.4.2" }, "last_serial": 5383789, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "ea9f96adb6f5cabb4da4953ddbd25c58", "sha256": "95343de95e9bc09c9fcb107917a11116a3e8e4b52f803392919791804d803c77" }, "downloads": -1, "filename": "snappass-0.1.0-py27-none-any.whl", "has_sig": false, "md5_digest": "ea9f96adb6f5cabb4da4953ddbd25c58", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 88724, "upload_time": "2013-10-06T06:42:54", "url": "https://files.pythonhosted.org/packages/55/90/daf57467d789b3737bc6310eb3d9064123610efff7cd4779431a5dc48a7f/snappass-0.1.0-py27-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e835f8f6547ea1c0dc7a3da1f029e15d", "sha256": "63812fff2e6b7ae2e0ef77c5872c2276cd83294dabed526803bfb6a5103978b5" }, "downloads": -1, "filename": "snappass-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "e835f8f6547ea1c0dc7a3da1f029e15d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 133398, "upload_time": "2017-04-28T16:23:54", "url": "https://files.pythonhosted.org/packages/78/e3/9cb1c320f1560dc9491ebcea8b6eb80b56ddcd8a6e72fde4534ae16af8a7/snappass-0.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "226232bfaf84c7b08ad52339d2097187", "sha256": "b4d4029a5d7790bc335cae72de6bcbdbd3b6ed428285b2ec635116fd17d4caae" }, "downloads": -1, "filename": "snappass-0.1.0.tar.gz", "has_sig": false, "md5_digest": "226232bfaf84c7b08ad52339d2097187", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 86879, "upload_time": "2013-10-06T06:42:58", "url": "https://files.pythonhosted.org/packages/55/7f/7c13d36f7ae0dc0f1bcc6d67d721532c22eef39e6a0c1ef1694e7bba3244/snappass-0.1.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "f203239257f1353eb7a664912ae1f5c4", "sha256": "a9b4256e9a1221d1ac47ab2c16593bf3a91ff27550f6f2ff525b770921b7c2c6" }, "downloads": -1, "filename": "snappass-1.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "f203239257f1353eb7a664912ae1f5c4", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 490919, "upload_time": "2017-04-28T16:56:46", "url": "https://files.pythonhosted.org/packages/86/97/5f733867ce42d38bdc8cd4bf3c3e017aa290dd53e1fa7836de62c675b006/snappass-1.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a0c298db303547aaa4c83436f2aa831f", "sha256": "302dddcf9eefad36306ab9f5484486e939d5815914f7223c65ab2cf7684652bd" }, "downloads": -1, "filename": "snappass-1.1.0.tar.gz", "has_sig": false, "md5_digest": "a0c298db303547aaa4c83436f2aa831f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 424166, "upload_time": "2017-04-28T16:56:43", "url": "https://files.pythonhosted.org/packages/b3/59/f4c6d234c06c270ad9808bb827e95f4938c283aef7cabe5f63e2e6b3d505/snappass-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "9cdfdc71af855e1861bd9e35b4d7b15d", "sha256": "ceb8992ae535fd97933eb4ec4958d98a6720ce16630d6f2950f58358a97098bc" }, "downloads": -1, "filename": "snappass-1.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "9cdfdc71af855e1861bd9e35b4d7b15d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 492004, "upload_time": "2017-05-25T21:25:09", "url": "https://files.pythonhosted.org/packages/bb/d6/05324f64605590c41db3f81143f5707b322b0c3ea85b539ccaf4acf7b767/snappass-1.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f431f138452c5d984d2a3441b6308a30", "sha256": "4968838cb6088c2ab60a6889933a652c220b6f1d559b3fa3515d62a0c24f7d28" }, "downloads": -1, "filename": "snappass-1.2.0.tar.gz", "has_sig": false, "md5_digest": "f431f138452c5d984d2a3441b6308a30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 425379, "upload_time": "2017-05-25T21:25:04", "url": "https://files.pythonhosted.org/packages/2c/f4/3a583f6545d9af2ee7008c44f39d1fe7ce2dcfb2bf0dc1c511da693690dd/snappass-1.2.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "faf2718280f29ee4a18062dd4df64c1c", "sha256": "0afda7407e14b3465709903e92f7ed202fe2871a895df0c580c042d6068f6315" }, "downloads": -1, "filename": "snappass-1.4.0-py2-none-any.whl", "has_sig": false, "md5_digest": "faf2718280f29ee4a18062dd4df64c1c", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 426019, "upload_time": "2018-07-03T15:40:07", "url": "https://files.pythonhosted.org/packages/ee/95/234ee1335c75838737de74db61f1102e27dfa8f18405b2caf9c6bf19c345/snappass-1.4.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "96d2b3ecb35e0e94bf229ae9da71677e", "sha256": "ed18d0f753f0a9247d5efdb0783a1489520a525abc3bb417454ec3952e12c172" }, "downloads": -1, "filename": "snappass-1.4.0.tar.gz", "has_sig": false, "md5_digest": "96d2b3ecb35e0e94bf229ae9da71677e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 416896, "upload_time": "2018-07-03T15:39:57", "url": "https://files.pythonhosted.org/packages/a6/73/04c5cf8fee9c24ecb731d6fc88bb9cf26b6a0d5f4febb3312906f5dc0a4b/snappass-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "dd5b172ad97584528ec96dcb6d13bcb5", "sha256": "2d17d8ee20f65f193060c98fc47ea5c3f932dac9167267ea49b11f1c9a88e7da" }, "downloads": -1, "filename": "snappass-1.4.1-py2-none-any.whl", "has_sig": false, "md5_digest": "dd5b172ad97584528ec96dcb6d13bcb5", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 1052345, "upload_time": "2018-10-31T23:01:21", "url": "https://files.pythonhosted.org/packages/ea/45/30781b960b0b68536f91ca1ab374f764b6b6d55b491ba7123fcdc1d18cd7/snappass-1.4.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3858b1d3b9c402c790e88ef332a07a63", "sha256": "2292c47710b54919feead9fafee31e0e9bd059d845763a041d9c19c1cc405953" }, "downloads": -1, "filename": "snappass-1.4.1.tar.gz", "has_sig": false, "md5_digest": "3858b1d3b9c402c790e88ef332a07a63", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1042754, "upload_time": "2018-10-31T23:01:23", "url": "https://files.pythonhosted.org/packages/07/e0/7b750f15983a73bb7f42aef7ff73e01f8c1a9e5d4f5ea795ce852e26633b/snappass-1.4.1.tar.gz" } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "ccd6bf08f852311a9a0f832f532b0031", "sha256": "52f708858d318468fc3ff3c0e86a8e3f3f0d5a9876ad6e536e11c41c2608df79" }, "downloads": -1, "filename": "snappass-1.4.2-py2-none-any.whl", "has_sig": false, "md5_digest": "ccd6bf08f852311a9a0f832f532b0031", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 1053289, "upload_time": "2019-06-10T23:15:01", "url": "https://files.pythonhosted.org/packages/e5/66/97b1b4b870b9663bbf758ac28204a39eee68e598aa0be2b75e668436e315/snappass-1.4.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "54a027f0e1114acf32c31d22e185db66", "sha256": "fc891e12062c228bc9ee5a89f028b63bfaa2e0d91141d8207d94d6a76806b1e9" }, "downloads": -1, "filename": "snappass-1.4.2.tar.gz", "has_sig": false, "md5_digest": "54a027f0e1114acf32c31d22e185db66", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1043076, "upload_time": "2019-06-10T23:14:56", "url": "https://files.pythonhosted.org/packages/37/0a/3880a7dc80f5a5dffef2d75b11aef4917b65a8c8c270ef203eb71fdf8781/snappass-1.4.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ccd6bf08f852311a9a0f832f532b0031", "sha256": "52f708858d318468fc3ff3c0e86a8e3f3f0d5a9876ad6e536e11c41c2608df79" }, "downloads": -1, "filename": "snappass-1.4.2-py2-none-any.whl", "has_sig": false, "md5_digest": "ccd6bf08f852311a9a0f832f532b0031", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 1053289, "upload_time": "2019-06-10T23:15:01", "url": "https://files.pythonhosted.org/packages/e5/66/97b1b4b870b9663bbf758ac28204a39eee68e598aa0be2b75e668436e315/snappass-1.4.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "54a027f0e1114acf32c31d22e185db66", "sha256": "fc891e12062c228bc9ee5a89f028b63bfaa2e0d91141d8207d94d6a76806b1e9" }, "downloads": -1, "filename": "snappass-1.4.2.tar.gz", "has_sig": false, "md5_digest": "54a027f0e1114acf32c31d22e185db66", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1043076, "upload_time": "2019-06-10T23:14:56", "url": "https://files.pythonhosted.org/packages/37/0a/3880a7dc80f5a5dffef2d75b11aef4917b65a8c8c270ef203eb71fdf8781/snappass-1.4.2.tar.gz" } ] }