Skip to content

A user-friendly PGP Web GUI for generating, encrypting, signing, verifying, and decrypting PGP messages. Secure your communications effortlessly with this web-based GitHub hosted application.

License

Notifications You must be signed in to change notification settings

joshuavanderpoll/PGPBox-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔐 PGPBox (JavaScript Edition)

A user-friendly PGP Web GUI for generating, storing, encrypting, decrypting, signing, and verifying PGP messages — right in your browser.
No backend, no external API calls: everything runs 100% locally, offline-capable.

🚀 Demo

👉 Open PGPBox in your browser

✨ Features

  • 🔑 Key Management
    • Generate new PGP key pairs (RSA / ECC)
    • Import existing public or private keys
    • Manage keys in local storage (persistent across sessions)
  • 📩 Message Security
    • Encrypt messages with recipients’ public keys
    • Decrypt messages with your private key (passphrase supported)
  • ✍️ Signing & Verification
    • Digitally sign messages with your private key
    • Verify signatures against known public keys
  • 🎨 Modern UI
    • Clean, responsive interface built with Tailwind CSS
    • Light/Dark/Auto theme support
    • Accessible design with keyboard + screen reader support
  • 📡 Offline First
    • No servers, no trackers, no external API calls
    • Works fully offline once downloaded

🖼 Preview

PGPBox Preview

⚙️ Technology Stack

  • OpenPGP.js — robust OpenPGP implementation in JavaScript
  • Tailwind CSS — modern styling framework
  • Vanilla JS — no heavy frontend frameworks
  • Browser Local Storage — all keys and data are stored securely client-side

🔒 Security Notes

  • Your keys and messages never leave your browser.
  • All PGP operations run locally using OpenPGP.js.
  • Keys are saved in LocalStorage — clear them manually if you are on a shared device.
  • For maximum security, consider using a passphrase on your private key.

👩‍💻 Contributing

We welcome contributions from the community!

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/my-feature)
  3. Commit your changes (git commit -m "feat: Add new feature")
  4. Push to your branch (git push origin feature/my-feature)
  5. Open a Pull Request 👉 Issues and feature requests are also welcome via the Issue Tracker

📬 Contact

📄 License

This project is licensed under the GPL-3.0 License

About

A user-friendly PGP Web GUI for generating, encrypting, signing, verifying, and decrypting PGP messages. Secure your communications effortlessly with this web-based GitHub hosted application.

Topics

Resources

License

Stars

Watchers

Forks