{"id":13551894,"url":"https://github.com/pglombardo/PasswordPusher","last_synced_at":"2025-04-03T02:32:14.486Z","repository":{"id":2121452,"uuid":"3064003","full_name":"pglombardo/PasswordPusher","owner":"pglombardo","description":"🔐   Securely share sensitive information with automatic expiration \u0026 deletion after a set number of views or duration.  Track who, what and when with full audit logs.","archived":false,"fork":false,"pushed_at":"2025-03-27T02:12:10.000Z","size":65526,"stargazers_count":2319,"open_issues_count":124,"forks_count":382,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-03-27T09:03:08.276Z","etag":null,"topics":["communicate-passwords","docker-container","encryption","hacktoberfest","information-technology","netsec","netsec-tools","openshift-templates","password","password-expiration","password-pusher","password-safety","ruby","secret","security","security-tools","self-hosted"],"latest_commit_sha":null,"homepage":"https://docs.pwpush.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pglombardo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2011-12-28T17:35:19.000Z","updated_at":"2025-03-27T02:12:13.000Z","dependencies_parsed_at":"2023-01-16T18:30:51.364Z","dependency_job_id":"e6103073-cddd-44cc-a0c7-b917014c0b4a","html_url":"https://github.com/pglombardo/PasswordPusher","commit_stats":{"total_commits":2992,"total_committers":48,"mean_commits":"62.333333333333336","dds":0.5116978609625669,"last_synced_commit":"8c9d0287a4b3948ef31b67ea2497da8f844e711d"},"previous_names":[],"tags_count":317,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pglombardo%2FPasswordPusher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pglombardo%2FPasswordPusher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pglombardo%2FPasswordPusher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pglombardo%2FPasswordPusher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pglombardo","download_url":"https://codeload.github.com/pglombardo/PasswordPusher/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246925435,"owners_count":20855883,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["communicate-passwords","docker-container","encryption","hacktoberfest","information-technology","netsec","netsec-tools","openshift-templates","password","password-expiration","password-pusher","password-safety","ruby","secret","security","security-tools","self-hosted"],"created_at":"2024-08-01T12:01:55.239Z","updated_at":"2025-04-03T02:32:09.472Z","avatar_url":"https://github.com/pglombardo.png","language":"Ruby","funding_links":[],"categories":["Ruby","hacktoberfest","Open Source Rails Apps"],"sub_categories":["Articles"],"readme":"\u003cdiv align=\"center\"\u003e\n\n[![Password Pusher Front Page](https://pwpush.fra1.cdn.digitaloceanspaces.com/branding/logos/horizontal-logo-small.png)](https://pwpush.com/)\n\n__Simple \u0026 Secure Password Sharing with Auto-Expiration of Shared Items__\n\n[![](https://badgen.net/twitter/follow/pwpush)](https://twitter.com/pwpush)\n![](https://badgen.net/github/stars/pglombardo/PasswordPusher)\n[![](https://badgen.net/uptime-robot/month/m789048867-17b5770ccd78208645662f1f)](https://stats.uptimerobot.com/6xJjNtPr93)\n[![](https://badgen.net/docker/pulls/pglombardo/pwpush-ephemeral)](https://hub.docker.com/repositories)\n\n[![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/pglombardo/PasswordPusher/ruby-tests.yml)](https://github.com/pglombardo/PasswordPusher/actions/workflows/ruby-tests.yml)\n[![Dependencies Status](https://img.shields.io/badge/dependencies-up%20to%20date-brightgreen.svg)](https://github.com/pglombardo/pwpush-cli/pulls?utf8=%E2%9C%93\u0026q=is%3Apr%20author%3Aapp%2Fdependabot)\n[![Semantic Versions](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--versions-e10079.svg)](https://github.com/pglombardo/pwpush-cli/releases)\n[![License](https://img.shields.io/github/license/pglombardo/PasswordPusher)](https://github.com/pglombardo/PasswordPusher/blob/master/LICENSE)\n\n\u003c/div\u003e\n\n------\n\nGive your users the tools to be secure by default.\n\nPassword Pusher is an open source application to communicate sensitive information over the web. Secret links expire after a certain number of views and/or time has passed.\n\nHosted at [pwpush.com](https://pwpush.com) but you can also easily run your own private instance with just a few steps.\n\n* __Easy-to-install:__ Host your own via Docker, a cloud service or just use [pwpush.com](https://pwpush.com)\n* __Open Source:__ No blackbox code.  Only trusted, tested and reviewed open source code.\n* __Versatile:__ Push passwords, text, files or URLs that auto-expire and self delete.\n* __Audit logging:__ Track and control what you've shared and see who has viewed it.\n* __Encrypted storage:__ All sensitive data is stored encrypted and deleted entirely once expired.\n* __Host your own:__ Database backed or ephemeral, easily run your own instance isolated from the world.\n* __JSON API:__ Raw JSON API available for 3rd party tools or command line via `curl` or `wget`.\n* __Command line interface:__ Automate your password distribution with CLI tools or custom scripts.\n* __Logins__: Invite your colleagues and track what is pushed and who retrieved it.\n* __Admin Dashboard:__ Manage your self-hosted instance with a built in admin dashboard.\n* __Internationalized:__ 29 language translations are bundled in.  Easily selectable via UI or URL\n* __Themes:__ [26 themes](https://docs.pwpush.com/docs/themes/) bundled in courtesy of Bootswatch.  Select with a simple environment variable.\n* __Unbranded delivery page:__ No logos, superfluous text or unrelated links to confuse end users.\n* __Customizable:__ Change text and default options via environment variables.\n* __Light \u0026 dark themes:__  Via CSS @media integration, the default site theme follows your local preferences.\n* __Re-Brandable:__ Customize the site name, tagline and logo to fit your environment.\n* __Custom CSS:__ Bundle in your own custom CSS to add your own design.\n* __\u003e10 Years Old:__ Password Pusher has securely delivered millions and millions of passwords in its 10 year history.\n* __Actively Maintained:__ I happily work for the good karma of the great IT/Security community.\n* __Honest Software:__  Open source written and maintained by [me](https://github.com/pglombardo) with the help of some great contributors.  No organizations, corporations or evil agendas.\n\n💌 --\u003e Sign up for [the newsletter](https://buttondown.email/pwpush?tag=github) to get updates on big releases, security issues, new features, integrations, tips and more.\n\nPassword Pusher is also [on Twitter](https://twitter.com/pwpush), [Gettr](https://gettr.com/user/pwpush) and [on Facebook](https://www.facebook.com/pwpush)\n\n-----\n\n[![](./app/assets/images/features/front-page-thumb.png)](./app/assets/images/features/front-page-large.png)\n[![](./app/assets/images/features/audit-log-thumb.png)](./app/assets/images/features/audit-log-large.png)\n[![](./app/assets/images/features/secret-url-languages-thumb.png)](./app/assets/images/features/secret-url-languages-large.png)\n[![](./app/assets/images/features/password-generator-thumb.png)](./app/assets/images/features/password-generator-large.png)\n[![](./app/assets/images/features/dark-theme-thumb.png)](./app/assets/images/features/dark-theme.gif)\n[![](./app/assets/images/features/preliminary-step-thumb.png)](./app/assets/images/features/preliminary-step.gif)\n\n\n# ⚡️ Quick Start\n\n→ Go to [pwpush.com](https://pwpush.com) and try it out.\n\n_or_\n\n→ Run your own instance with `docker run -d -p \"5100:5100\" pglombardo/pwpush:latest` or a [production ready setup with a database \u0026 SSL/TLS](https://github.com/pglombardo/PasswordPusher/tree/master/containers/docker/all-in-one).\n\n_or_\n\n→ Use one of the [3rd party tools](https://docs.pwpush.com/docs/3rd-party-tools/) that interface with Password Pusher.\n\n# Documentation\n\nSee the full [Password Pusher documentation here](https://docs.pwpush.com).\n\n# 📼 Credits\n\n## Translators\n\nThanks to our great translators!\n\n| Name   | Language  | |\n|---|---|---|\n| [Oyale](https://github.com/oyale) | [Catalan](https://pwpush.com/ca) | |\n| Finn Skaaning  |  [Danish](https://pwpush.com/da/p/ny) | |\n| [Mihail Tchetchelnitski](https://github.com/mtchetch)  | [Finnish](https://pwpush.com/fi/p/uusi)  | |\n| [Thibaut](https://github.com/tibo59) | [French](https://pwpush.com/fr/p/Nouveau) | |\n| Thomas Wölk | [German](https://pwpush.com/de/p/neu) | [Github](https://github.com/confluencepoint/), [Twitter](https://twitter.com/confluencepoint) |\n| Martin Otto |[German](https://pwpush.com/de/p/neu) | |\n| Robin Jørgensen |[Norwegian](https://pwpush.com/no/p/ny) | |\n| [Łukasz](https://github.com/drpt)|[Polish](https://pwpush.com/pl/p/nowy) | |\n| [Jair Henrique](https://github.com/jairhenrique/) | [Portuguese](https://pwpush.com/pt-br/p/novo) | |\n| [Fabrício Rodrigues](https://www.linkedin.com/in/ifabriciorodrigues/)| [Portuguese](https://pwpush.com/pt-br/p/novo) | |\n| [Ivan Freitas](https://github.com/IvanMFreitas)| [Portuguese](https://pwpush.com/pt-br/p/novo) | |\n| Sara Faria| [Portuguese](https://pwpush.com/pt-br/p/novo) | |\n| [Oyale](https://github.com/oyale) |[Spanish](https://pwpush.com/pt-br/p/novo) | |\n| johan323 |[Swedish](https://pwpush.com/sv/p/ny) | |\n| Fredrik Arvas|[Swedish](https://pwpush.com/sv/p/ny) | |\n| Pedro Marques | [European Portuguese](https://pwpush.com/pt-pt/p/novo) | |\n\nAlso thanks to [translation.io](https://translation.io) for their great service in managing translations.  It's also generously free for open source projects.\n\n## Containers\n\nThanks to:\n\n* [@fiskhest](https://github.com/fiskhest) the [Kubernetes installation instructions and manifests](https://github.com/pglombardo/PasswordPusher/tree/master/containers/kubernetes).\n\n* [@sfarosu](https://github.com/sfarosu) for [contributing](https://github.com/pglombardo/PasswordPusher/pull/82) the Docker, Kubernetes \u0026 OpenShift container support.\n\n* [sirux88](https://github.com/sirux88) for cleaning up the Docker files and adding multistage builds.\n\n## Other\n\nThanks to:\n\n* [@iandunn](https://github.com/iandunn) for better password form security.\n\n* [Kasper 'kapöw' Grubbe](https://github.com/kaspergrubbe) for the [JSON POST fix](https://github.com/pglombardo/PasswordPusher/pull/3).\n\n* [JarvisAndPi](http://www.reddit.com/user/JarvisAndPi) for the favicon design\n\n...and many more.  See the [Contributors page](https://github.com/pglombardo/PasswordPusher/graphs/contributors) for more details.\n\n# 🛡 License\n\n[![License](https://img.shields.io/github/license/pglombardo/PasswordPusher)](https://github.com/pglombardo/PasswordPusher/blob/master/LICENSE)\n\nThis project is licensed under the terms of the `Apache License 2.0` license. See [LICENSE](https://github.com/pglombardo/PasswordPusher/blob/master/LICENSE) for more details.\n\n# 📃 Citation\n\n```bibtex\n@misc{PasswordPusher,\n  author = {Peter Giacomo Lombardo},\n  title = {An application to securely communicate passwords over the web. Passwords automatically expire after a certain number of views and/or time has passed.},\n  year = {2024},\n  publisher = {GitHub},\n  journal = {GitHub repository},\n  howpublished = {\\url{https://github.com/pglombardo/PasswordPusher}}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpglombardo%2FPasswordPusher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpglombardo%2FPasswordPusher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpglombardo%2FPasswordPusher/lists"}