[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-7887":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":46,"readmeContent":47,"aiSummary":48,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":49,"discoverSource":50},7887,"PasswordPusher","pglombardo\u002FPasswordPusher","pglombardo","🔐   Securely share sensitive information with automatic expiration & deletion after a set number of views or duration.  Track who, what and when with full audit logs.","https:\u002F\u002Fdocs.pwpush.com",null,"Ruby",3044,446,23,132,0,2,13,48,12,29.95,"Apache License 2.0",false,"master",true,[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],"communicate-passwords","docker-container","encryption","file-sharing","hacktoberfest","information-technology","msp","netsec","netsec-tools","password","password-expiration","password-pusher","password-safety","ruby","secret","security","security-tools","self-hosted","upload-file","2026-06-12 02:01:45","\u003Cdiv align=\"center\">\n\n[![Password Pusher](https:\u002F\u002Fpwpush.fra1.cdn.digitaloceanspaces.com\u002Fbranding\u002Flogos\u002Fhorizontal-logo-small.png)](https:\u002F\u002Fpwpush.com\u002F)\n\n**Share passwords, text, files & URLs securely with self-deleting links and full audit logs.**\n\n[![Try it free](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTry_it_free-pwpush.com-0ea5e9?style=for-the-badge)](https:\u002F\u002Fpwpush.com)\n[![Documentation](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDocs-docs.pwpush.com-64748b?style=for-the-badge)](https:\u002F\u002Fdocs.pwpush.com)\n\n[![GitHub Workflow Status](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fpglombardo\u002FPasswordPusher\u002Fruby-tests.yml?branch=master)](https:\u002F\u002Fgithub.com\u002Fpglombardo\u002FPasswordPusher\u002Factions\u002Fworkflows\u002Fruby-tests.yml)\n[![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fpglombardo\u002FPasswordPusher)](https:\u002F\u002Fgithub.com\u002Fpglombardo\u002FPasswordPusher)\n[![Docker pulls](https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fpulls\u002Fpglombardo\u002Fpwpush)](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fpglombardo\u002Fpwpush)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fpglombardo\u002FPasswordPusher)](https:\u002F\u002Fgithub.com\u002Fpglombardo\u002FPasswordPusher\u002Fblob\u002Fmaster\u002FLICENSE)\n\n\u003C\u002Fdiv>\n\n---\n\n**v2.0 is released.** If you already self-host, see the **[upgrade guide](UPGRADE-2.0.md)** for migration notes and configuration changes.\n\n---\n\n## What is Password Pusher?\n\n**Password Pusher** is an open source web app for sharing sensitive information safely. You push a password, note, file, or URL; the recipient gets a one-time link that expires after a set number of views and\u002For time. No more sending secrets over chat or email—encrypted, auditable, and auto-self-destruct.\n\nUse the [hosted service](https:\u002F\u002Fpwpush.com) or run your own instance with Docker in minutes.\n\n---\n\n## Why Password Pusher?\n\n| | |\n|---|---|\n| **🔒 Secure by default** | Encrypted storage, optional passphrase, expiry by views and\u002For time. Sensitive data is removed entirely once expired. |\n| **📋 Full audit trail** | See when links were created, viewed, and by whom (with logins). |\n| **🏠 Self-host or use hosted** | Use [pwpush.com](https:\u002F\u002Fpwpush.com) or deploy your own—Docker, Kubernetes, Helm, or cloud. |\n| **🌐 Ready for teams** | 31 languages, light\u002Fdark theme, JSON API, [official CLI & Chrome Extension](#tools--extensions), and [many integrations](https:\u002F\u002Fdocs.pwpush.com\u002Fdocs\u002F3rd-party-tools\u002F). |\n\n---\n\n## Features\n\n### Security & privacy\n\n- **Encrypted at rest** — Sensitive data is stored encrypted and deleted when expired.\n- **Expiry controls** — Limit by number of views and\u002For time; links can require a passphrase.\n- **Two-factor authentication (MFA)** — TOTP (authenticator apps) with backup codes; admins can require MFA instance-wide with `PWP__REQUIRE_MFA=true`.\n- **Audit logging** — Track what was shared and who viewed it (with optional logins).\n- **Unbranded delivery page** — No logos, superfluous text or unrelated links to confuse push recipients.\n\n### Self-host & customize\n\n- **One-command deploy** — Docker Compose with automatic SSL\u002FTLS\n- **Database or ephemeral** — Use a database for persistence or run stateless.\n- **Admin dashboard** — Manage your instance from a built-in admin UI.\n- **White-label** — Custom theme, logo, site name, and [26 Bootswatch themes](https:\u002F\u002Fdocs.pwpush.com\u002Fdocs\u002Fthemes\u002F) via env vars.\n- **Custom CSS** — Add your own styles; light\u002Fdark follows system preference.\n\n### Integrations & API\n\n- **JSON API v2** — Modern `\u002Fapi\u002Fv2` endpoints for create\u002Fretrieve\u002Faudit\u002Factive\u002Fexpired workflows.\n- **Legacy API compatibility** — Existing `\u002Fp`, `\u002Ff`, `\u002Fr` API routes (v1 style) remain available for backwards compatibility.\n- **CLI** — Official [pwpush CLI](https:\u002F\u002Fgithub.com\u002Fpglombardo\u002Fpwpush-cli) plus [3rd-party tools](https:\u002F\u002Fdocs.pwpush.com\u002Fdocs\u002F3rd-party-tools\u002F) and scripts.\n- **31 languages** — UI and secret-URL pages in 31 languages (courtesy of [Translation.io](https:\u002F\u002Ftranslation.io\u002F?utm_source=pwpush)).\n\n### Trust & community\n\n- **Open source** — Apache 2.0; no black box. Written and maintained by [myself](https:\u002F\u002Fgithub.com\u002Fpglombardo) and the team at [Apnotic](https:\u002F\u002Fapnotic.com) with the help of contributors.\n- **14+ years in production** — Used to deliver millions of secrets; [actively maintained](https:\u002F\u002Fgithub.com\u002Fpglombardo\u002FPasswordPusher\u002Fgraphs\u002Fcontributors).\n- **Trusted worldwide** — Used by thousands of companies around the globe.\n\n---\n\n## Screenshots\n\n| [![Front page](app\u002Fassets\u002Fimages\u002Ffeatures\u002Ffront-page-thumb.png)](app\u002Fassets\u002Fimages\u002Ffeatures\u002Ffront-page-large.png) | [![Audit log](app\u002Fassets\u002Fimages\u002Ffeatures\u002Faudit-log-thumb.png)](app\u002Fassets\u002Fimages\u002Ffeatures\u002Faudit-log-large.png) | [![Languages](app\u002Fassets\u002Fimages\u002Ffeatures\u002Fsecret-url-languages-thumb.png)](app\u002Fassets\u002Fimages\u002Ffeatures\u002Fsecret-url-languages-large.png) |\n|:---:|:---:|:---:|\n| **Create a push** | **Audit log** | **Multi-language URLs** |\n\n| [![Password generator](app\u002Fassets\u002Fimages\u002Ffeatures\u002Fpassword-generator-thumb.png)](app\u002Fassets\u002Fimages\u002Ffeatures\u002Fpassword-generator-large.png) | [![Dark theme](app\u002Fassets\u002Fimages\u002Ffeatures\u002Fdark-theme-thumb.png)](app\u002Fassets\u002Fimages\u002Ffeatures\u002Fdark-theme.gif) | [![Preliminary step](app\u002Fassets\u002Fimages\u002Ffeatures\u002Fpreliminary-step-thumb.png)](app\u002Fassets\u002Fimages\u002Ffeatures\u002Fpreliminary-step.gif) |\n|:---:|:---:|:---:|\n| **Password generator** | **Dark theme** | **Optional preview step** |\n\n---\n\n## Editions\n\n| | **Open source (this repo)** | **Pro (pwpush.com)** |\n|---|---|---|\n| **Try it** | [oss.pwpush.com](https:\u002F\u002Foss.pwpush.com) | [pwpush.com](https:\u002F\u002Fpwpush.com) |\n| **Use case** | Self-host or use OSS demo | Hosted Pro with extra features |\n| **Details** | Full source here; you deploy or use the OSS demo. | Pro features are [periodically migrated](https:\u002F\u002Fdocs.pwpush.com\u002Fdocs\u002Feditions\u002F) to OSS. |\n\n**Feature comparison:** [pwpush.com\u002Ffeatures#matrix](https:\u002F\u002Fpwpush.com\u002Ffeatures#matrix)\n\n### Self-Hosted Password Pusher Pro\n\nSelf-hosted **Pro** (with licensing) is now available. Pro features not yet in OSS will be available for self-hosted deployments.\n\n---\n\n## Quick Start\n\n### Use the hosted service\n\nNo setup: **[pwpush.com](https:\u002F\u002Fpwpush.com)** — create a push and share the link.\n\n### Run your own instance with Docker Compose\n\n1. Point a DNS record to your server (e.g. `pwpush.example.com`).\n2. Clone this repo or download [docker-compose.yml](https:\u002F\u002Fraw.githubusercontent.com\u002Fpglombardo\u002FPasswordPusher\u002Frefs\u002Fheads\u002Fmaster\u002Fdocker-compose.yml).\n3. In `docker-compose.yml`, uncomment and set:\n   - `TLS_DOMAIN: 'pwpush.example.com'` (for automatic Let’s Encrypt TLS).\n   - Optionally set `PWPUSH_MASTER_KEY` (see comments in the file; generate at [us.pwpush.com\u002Fgenerate_key](https:\u002F\u002Fus.pwpush.com\u002Fgenerate_key)).\n4. Run:\n\n```bash\ndocker compose up -d\n```\n\nOpen `https:\u002F\u002Fpwpush.example.com`. The Compose file includes persistent storage, health checks, and is suitable for production.\n\n_Note: If you didn't set `TLS_DOMAIN`, uncomment port 5100 and visit the application on http:\u002F\u002Fyour-ip:5100_\n\n### Cloud deploy & contributor setup\n\nThe repo includes ready-to-adapt configs for common platforms and local dev:\n\n| File \u002F path | Use |\n|-------------|-----|\n| [app.json](app.json) | Heroku-style deploy (env vars, `postdeploy` \u002F `db:prepare`, process types). |\n| [.do\u002Fdeploy.template.yaml](.do\u002Fdeploy.template.yaml) | [DigitalOcean App Platform](https:\u002F\u002Fdocs.digitalocean.com\u002Fproducts\u002Fapp-platform\u002F) spec (web + job, secrets placeholders). |\n| [render.yaml](render.yaml) | [Render](https:\u002F\u002Frender.com\u002F) Blueprint (web + Postgres, health `\u002Fup`; optional worker commented). |\n| [fly.toml](fly.toml) | [Fly.io](https:\u002F\u002Ffly.io\u002F) (`fly launch` — set `app` name; Dockerfile `containers\u002Fdocker\u002FDockerfile`). |\n| [railway.toml](railway.toml) | [Railway](https:\u002F\u002Frailway.com\u002F) config-as-code (Dockerfile path; set secrets in dashboard). |\n| [.devcontainer\u002F](.devcontainer\u002F) | VS Code \u002F GitHub Codespaces: Ruby + Postgres, repo mounted at `\u002Fworkspace`, `bin\u002Fsetup`. |\n\nProduction image build: [containers\u002Fdocker\u002FDockerfile](containers\u002Fdocker\u002FDockerfile). Root [docker-compose.yml](docker-compose.yml) uses the published image; [.devcontainer\u002Fdocker-compose.yml](.devcontainer\u002Fdocker-compose.yml) is for development with a mounted working tree.\n\n### Use the API, CLI, or integrations\n\nFor API usage, CLI tools, and integrations:\n\n- **pwpush CLI**: [github.com\u002Fpglombardo\u002Fpwpush-cli](https:\u002F\u002Fgithub.com\u002Fpglombardo\u002Fpwpush-cli) — Official command-line tool for pushing secrets from the terminal\n- API v2 docs: [docs.pwpush.com\u002Fdocs\u002Fapi-v2](https:\u002F\u002Fdocs.pwpush.com\u002Fdocs\u002Fapi-v2\u002F)\n- OSS API endpoint reference in-app: `\u002Fapi\u002Fv2\u002Fversion` and `\u002Fapi\u002Fv2\u002Fpushes`\n- 3rd-party tools: [docs.pwpush.com\u002Fdocs\u002F3rd-party-tools](https:\u002F\u002Fdocs.pwpush.com\u002Fdocs\u002F3rd-party-tools\u002F)\n\nQuick API v2 smoke test:\n\n```bash\ncurl -s https:\u002F\u002FYOUR_HOST\u002Fapi\u002Fv2\u002Fversion\n```\n\n---\n\n## Tools & Extensions\n\nEnhance Password Pusher with these official companion tools:\n\n| CLI | Chrome Extension |\n|:---:|:---:|\n| [![pwpush CLI](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCLI-pwpush--cli-3776AB?style=for-the-badge&logo=python&logoColor=white)](https:\u002F\u002Fgithub.com\u002Fpglombardo\u002Fpwpush-cli) | [![Chrome Extension](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FChrome-Extension-4285F4?style=for-the-badge&logo=googlechrome&logoColor=white)](https:\u002F\u002Fchromewebstore.google.com\u002Fdetail\u002Fdjdnbhbnimfpfmnocchfhjahinieaacg) |\n| Command-line tool for pushing secrets from the terminal | Create pushes directly from your browser with self-hosted & APIv2 support |\n\n---\n\n## Documentation\n\nFull docs: **[docs.pwpush.com](https:\u002F\u002Fdocs.pwpush.com)** — installation, configuration, API, themes, and more.\n\n---\n\n## Language translations\n\n**[Translation.io](https:\u002F\u002Ftranslation.io\u002F?utm_source=pwpush)** has provided free translation tooling for the OSS version of Password Pusher. The app ships with **31 UI languages**.\n\n[![Translation.io](app\u002Fassets\u002Fimages\u002Fpartners\u002Ftranslation-io-banner.png)](https:\u002F\u002Ftranslation.io\u002F?utm_source=pwpush)\n\nConsider [Translation.io](https:\u002F\u002Ftranslation.io\u002F?utm_source=pwpush) for your company or project’s translation needs.\n\n---\n\n## Credits\n\n### Security researchers\n\n- **Kullai Metikala** — [GitHub](https:\u002F\u002Fgithub.com\u002Fkullaisec) \\| [LinkedIn](https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fkullai-metikala-8378b122a\u002F)\n- [Positive Technologies](https:\u002F\u002Fglobal.ptsecurity.com)\n- **Igniter** — [GitHub](https:\u002F\u002Fgithub.com\u002Figniter07)\n\n### Translators\n\n| Name | Language |\n|------|----------|\n| [Oyale](https:\u002F\u002Fgithub.com\u002Foyale) | [Catalan](https:\u002F\u002Fpwpush.com\u002Fca), [Spanish](https:\u002F\u002Fpwpush.com\u002Fes) |\n| Finn Skaaning | [Danish](https:\u002F\u002Fpwpush.com\u002Fda\u002Fp\u002Fny) |\n| [Mihail Tchetchelnitski](https:\u002F\u002Fgithub.com\u002Fmtchetch) | [Finnish](https:\u002F\u002Fpwpush.com\u002Ffi\u002Fp\u002Fuusi) |\n| [Thibaut](https:\u002F\u002Fgithub.com\u002Ftibo59) | [French](https:\u002F\u002Fpwpush.com\u002Ffr\u002Fp\u002FNouveau) |\n| Thomas Wölk | [German](https:\u002F\u002Fpwpush.com\u002Fde\u002Fp\u002Fneu) — [GitHub](https:\u002F\u002Fgithub.com\u002Fconfluencepoint), [Twitter](https:\u002F\u002Ftwitter.com\u002Fconfluencepoint) |\n| Martin Otto | [German](https:\u002F\u002Fpwpush.com\u002Fde\u002Fp\u002Fneu) |\n| Robin Jørgensen | [Norwegian](https:\u002F\u002Fpwpush.com\u002Fno\u002Fp\u002Fny) |\n| [Łukasz](https:\u002F\u002Fgithub.com\u002Fdrpt) | [Polish](https:\u002F\u002Fpwpush.com\u002Fpl\u002Fp\u002Fnowy) |\n| [Jair Henrique](https:\u002F\u002Fgithub.com\u002Fjairhenrique\u002F), [Fabrício Rodrigues](https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fifabriciorodrigues\u002F), [Ivan Freitas](https:\u002F\u002Fgithub.com\u002FIvanMFreitas), Sara Faria | [Portuguese (BR)](https:\u002F\u002Fpwpush.com\u002Fpt-br\u002Fp\u002Fnovo) |\n| Pedro Marques | [European Portuguese](https:\u002F\u002Fpwpush.com\u002Fpt-pt\u002Fp\u002Fnovo) |\n| johan323, Fredrik Arvas | [Swedish](https:\u002F\u002Fpwpush.com\u002Fsv\u002Fp\u002Fny) |\n\nThanks also to [Translation.io](https:\u002F\u002Ftranslation.io) for managing translations (free for open source).\n\n### Containers & infrastructure\n\n- [@fiskhest](https:\u002F\u002Fgithub.com\u002Ffiskhest) — [Kubernetes manifests](https:\u002F\u002Fgithub.com\u002Fpglombardo\u002FPasswordPusher\u002Ftree\u002Fmaster\u002Fcontainers\u002Fkubernetes)\n- [@sfarosu](https:\u002F\u002Fgithub.com\u002Fsfarosu) — [Docker, Kubernetes & OpenShift support](https:\u002F\u002Fgithub.com\u002Fpglombardo\u002FPasswordPusher\u002Fpull\u002F82)\n- [sirux88](https:\u002F\u002Fgithub.com\u002Fsirux88) — Docker cleanup and multistage builds\n\n### Other\n\n- [@iandunn](https:\u002F\u002Fgithub.com\u002Fiandunn) — Password form security\n- [Kasper Grubbe](https:\u002F\u002Fgithub.com\u002Fkaspergrubbe) — [JSON POST fix](https:\u002F\u002Fgithub.com\u002Fpglombardo\u002FPasswordPusher\u002Fpull\u002F3)\n- [JarvisAndPi](http:\u002F\u002Fwww.reddit.com\u002Fuser\u002FJarvisAndPi) — Favicon design\n\nMore: [Contributors](https:\u002F\u002Fgithub.com\u002Fpglombardo\u002FPasswordPusher\u002Fgraphs\u002Fcontributors)\n\n---\n\n## Stay updated\n\n- **Newsletter** — [Sign up](https:\u002F\u002Fbuttondown.email\u002Fpwpush?tag=github) for release notes, security updates, and tips.\n- **Social** — [X](https:\u002F\u002Fx.com\u002Fpwpush), [Reddit](https:\u002F\u002Fwww.reddit.com\u002Fr\u002Fpwpush), [Facebook](https:\u002F\u002Fwww.facebook.com\u002Fpwpush)\n\n---\n\n## Donations\n\nDonations are **optional**. Password Pusher is and will remain open source and free to use.\n\nIf it’s useful to you and you’d like to support development, donations are greatly appreciated and go toward hosting, maintenance, testing, and new features.\n\n| [![Donate QR](https:\u002F\u002Fpwpush.fra1.cdn.digitaloceanspaces.com\u002Fmisc\u002Fpwpush-donate-stripe-qr-small.png)](https:\u002F\u002Fbuy.stripe.com\u002F7sI4gCgTT1tr6WY3cd) | [**Donate via Stripe**](https:\u002F\u002Fbuy.stripe.com\u002F7sI4gCgTT1tr6WY3cd) |\n|---|---|\n\nYou can also support the project with a [paid plan on pwpush.com](https:\u002F\u002Fpwpush.com\u002Fpricing).\n\n**Note:** Password Pusher is operated by Apnotic, LLC. Donations support the project but are not tax-deductible charitable contributions. See [FAQ](https:\u002F\u002Fdocs.pwpush.com\u002Fdocs\u002Ffaq\u002F) for more on [Apnotic](https:\u002F\u002Fdocs.pwpush.com\u002Fdocs\u002Ffaq\u002F#what-is-apnotic) and [trust & security](https:\u002F\u002Fdocs.pwpush.com\u002Fdocs\u002Ffaq\u002F#trust-is-a-concern--why-should-i-trust-and-use-password-pusher).\n\n---\n\n## Star history\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=pglombardo\u002FPasswordPusher&type=Date)](https:\u002F\u002Fwww.star-history.com\u002F#pglombardo\u002FPasswordPusher&Date)\n\n---\n\n## License\n\nThis project is licensed under the **Apache License 2.0**. See [LICENSE](https:\u002F\u002Fgithub.com\u002Fpglombardo\u002FPasswordPusher\u002Fblob\u002Fmaster\u002FLICENSE) for details.\n\n---\n\n## Citation\n\n```bibtex\n@misc{PasswordPusher,\n  author = {Peter Giacomo Lombardo},\n  title = {Password Pusher: Securely share sensitive information with automatic expiration and deletion. Track who, what and when with full audit logs.},\n  year = {2026},\n  publisher = {GitHub},\n  howpublished = {\\url{https:\u002F\u002Fgithub.com\u002Fpglombardo\u002FPasswordPusher}}\n}\n```\n","Password Pusher 是一个用于安全分享敏感信息的开源 Web 应用。其核心功能包括通过一次性链接分享密码、文本、文件或 URL，并支持自动过期和删除，同时提供完整的审计日志记录。技术上，它使用 Ruby 开发，支持 Docker 部署，具备加密存储、访问次数及时间限制等安全特性。适用于需要在团队内部或与外部合作伙伴之间安全传输敏感数据的场景，如 IT 支持、项目协作等，既可使用官方提供的托管服务，也支持自托管部署以满足不同安全需求。","2026-06-11 03:14:53","top_language"]