Unified crypto workspace
Manage OpenPGP keys, AES-256 passphrases, credential vault items, contact fingerprints, and hashing utilities from a single view backed by Firebase.
Product overview
GPG Vault pairs a browser-native cryptography toolkit with a Capacitor iOS shell so you can manage OpenPGP keys, encrypted credentials, contacts, and hashing utilities from any device that can sign into Firebase. This page explains how the pieces fit together and how to stay safe while using them.
Manage OpenPGP keys, AES-256 passphrases, credential vault items, contact fingerprints, and hashing utilities from a single view backed by Firebase.
Secrets you choose to persist are encrypted client-side, then stored in Firestore and Storage so every signed-in device—web or iOS—receives the same profile.
Status badges, validation, and inline helpers keep encryption, signing, backups, and credential edits transparent, even when juggling multiple identities.
Only anonymous analytics events (page views, feature adoption) leave the device, allowing the team to spot regressions without touching key material.
Web workspace
Use email plus password or Google Sign-In through Firebase Auth. Email verification is required before secrets sync to Firestore.
Drop in ASCII-armored private keys, upload backups, or create fresh OpenPGP pairs directly in the browser. You can keep keys local or store encrypted copies.
Contacts, vault credentials, AES defaults, and verification hashes all live inside the same profile so you can encrypt, decrypt, and share with confidence.
Use the Encrypt, Decrypt, Sign, Verify, Hash, and AES panels. Each action emits status updates and copies results to the clipboard on success.
Download armored keys, export vault entries, or trigger a Firebase Storage backup so that another browser or the iOS app can restore the same state.
iOS app
Run `npm run build` followed by `npm run cap:sync:ios` and open the included Xcode project, or grab the latest TestFlight build shared by the team.
The iOS app hosts the Angular bundle inside a WKWebView, so the regular email/password or Google workflow applies. Once authenticated, Firestore syncs your workspace.
iOS shares the Clipboard, system share sheet, and offline caching provided by the Firebase web SDK, so copied ciphertext or keys move seamlessly between apps.
Every native build simply wraps the latest `dist/gpg-vault/browser` assets, meaning UI changes and new crypto tools appear on iOS after each Capacitor sync.
Cross-platform data flow
The browser and iOS experiences reuse the same Firebase project. As soon as you authenticate, listeners attach to users/<uid> documents plus encrypted blobs in Firebase Storage so everything you create or remove is reflected everywhere else in near real time.
Release checklist
Populate `src/app/firebase-config.ts` before building for production or shipping to the App Store/TestFlight so Auth, Firestore, Storage, and Analytics resolve.
Add the reCAPTCHA Enterprise site key to `firebaseAppCheckConfig` or `index.html` to protect web and iOS sessions from automated abuse.
Create a new web build every time features change, then re-run `npm run cap:sync:ios` so the native shell includes the same assets and Firebase schema.
Encrypt/decrypt round-trips, credential lookups, and AES operations should be exercised on both platforms prior to distributing a release.
Email support@ero.solar for deployment reviews, incident response, or deeper architecture questions. Expect a response within one business day.
Bug reports should include repro steps, platform info, and whether the issue appears on both clients.