Privipod is a lightweight self-hosted service for sharing secrets and files.
It uses end-to-end encryption - all encryption and decryption happens entirely in your browser, so the server never sees your unencrypted data.
Read the full documentation.
- Run Privipod somewhere both of you can access.
- Create a "pod" - the browser generates a key pair, stores your private key locally, and sends the public key to the server.
- Share the pod URL with the sender.
- The sender visits the URL and the browser uses your public key to encrypt their secret, then sends it to the Privipod server.
- You collect the secret, and the browser uses your private key to decrypt it.
It's easiest to run with uv and ngrok:
# Start with a temporary database (data lost on shutdown)
uvx privipod
# Use ngrok to share with people outside your network
ngrok http 0:8000Open http://localhost:8000 in your browser. See the
installation docs for
more deployment options.
Or you can install it and run it directly:
pip install privipod
privipod
ngrok http 0:8000And it takes several arguments to customise it:
# Start with a permanent database and specify a username and password
uvx privipod --store=privipod.db --user=admin --pass=changeme 0:7000