https://github.com/rrbarrero/pass-web
A Web Interface for pass (Password Store)
https://github.com/rrbarrero/pass-web
Last synced: 12 months ago
JSON representation
A Web Interface for pass (Password Store)
- Host: GitHub
- URL: https://github.com/rrbarrero/pass-web
- Owner: rrbarrero
- License: other
- Created: 2025-05-06T07:30:33.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-18T20:09:01.000Z (about 1 year ago)
- Last Synced: 2025-05-25T16:49:15.207Z (about 1 year ago)
- Language: CSS
- Size: 308 KB
- Stars: 8
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# WebPass - A Web Interface for pass (Password Store)
**WebPass** is a modern and user-friendly web interface for [pass](https://www.passwordstore.org/), the standard Unix password manager. It combines a React frontend with a FastAPI backend to provide secure and convenient access to your password store from the browser.

(default theme)
> β οΈ This project is provided as-is. Use at your own risk. I am not responsible for any damage or data loss caused by the usage of this application.
## π Focus on Security
WebPass prioritizes security at every step:
- **JWT (JSON Web Tokens)** for user authentication and session management.
- **GPG** integration to maintain full compatibility with `pass`.
- **Crucially, the GPG master password is never saved or cached at any time or location by WebPass.** It is used only temporarily during the decryption process.
---
π¨ **IMPORTANT SECURITY NOTICE: USE HTTPS** π¨
For any production or even personal use where WebPass is accessible over a network (including `localhost` if other users or processes on your machine could intercept traffic, or any non-localhost access), **it is STRONGLY RECOMMENDED to deploy WebPass behind a reverse proxy configured with HTTPS (SSL/TLS).**
- **Why?** Without HTTPS, your login credentials (username/password for WebPass) and the GPG passphrase (if entered in the frontend) will be transmitted in **plain text** between your browser and the WebPass backend. This makes them vulnerable to interception by anyone.
- **How?** Configure a web server like Nginx, Caddy, or Apache as a reverse proxy to handle incoming HTTPS connections, terminate SSL/TLS, and then forward the requests to WebPass (which can then run on HTTP locally on the server). Services like Let's Encrypt offer free SSL certificates.
**Never expose WebPass directly to the internet or an untrusted network over plain HTTP if you are concerned about the security of your credentials.**
---
## π¨ Extensible and Themed
WebPass is designed to be easily extensible:
- Add new **themes** with minimal effort to match your personal style or organization branding.
- Built with modularity in mind, allowing future enhancements or custom features.

(retro theme)

(cyberpunk theme)
* You can select the desired theme on frontend/.dev and rebuild frontend container.
## π Host Requirements
Before running WebPass, ensure the following are properly set up on the host machine:
- A cloned repository of your personal `pass` store (e.g., `~/.password-store`).
- The corresponding **GPG keys** must already be available.
- The `docker-compose` service mounts these directories **as read-only**, meaning your data remains untouched and secure by design.
These requirements are critical for WebPass to function correctly, as it relies on the hostβs `pass` and GPG environment to operate securely.
## π Quick Start
### Prerequisites
- `curl`
- `bash`
- `docker` and `docker-compose`
### Installation & Run
```bash
curl -sSL https://raw.githubusercontent.com/rrbarrero/pass-web/main/ops/install.sh | bash
```
π§ͺ Development Status
This project is under active development. Expect rapid iterations, breaking changes, and new features. Contributions and feedback are welcome!
π Disclaimer
This software is provided without any warranty. You are solely responsible for how you use it. Make sure you understand the implications of exposing password management to a web interface.
π License: GNU GPLv3