JunWeiUp/PasswordVault
JunWeiUp/PasswordVault has 38 GitHub stars and 0 forks. GitHot measured 0 stars in 24 hours and +1 in 7 days. Last checked 2026-11-09 13:23 UTC. Last push 2026-10-18.
A local-first Flutter vault for passwords, TOTP codes, notes, and wallet credentials. Android, Web, and Chromium extension. Developer preview.
Measured star growth
- in 24h
- 0
- in 7 days
- +1
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Original
PasswordVault
A quieter place for your digital life.
Bring notes, passwords, authenticator codes and wallet records together.
Write on Mac, keep things close on mobile, and fill logins in your browser.
English · 简体中文
Local-first · Encrypted storage · Open source
Native clients are in developer preview. Platform availability and the security model describe current limits; an independent security review is still pending.
Download native 2.3.2: GitHub Release · Installation and signing limits. Includes Android, Mac development build, unpacked extension, Web, iOS Simulator and source.
Less searching. More doing.
- Write freely. On Mac, notes feel like documents, with rich formatting, tables, images, attachments, undo/redo and encrypted autosave. Organize with folders, search, favorites and pins.
- Keep the details together. Passwords, additional logins, authenticator codes and wallet records, with the fields you actually need.
- Get back to your day. Choose an account beside a supported password field. Review new logins before saving them, and edit existing ones on Mac.
Deleted something? Recover it from Trash. Moving your data? Create an encrypted backup or manage backups on your own WebDAV server.
See it in action
A desktop workspace with room to think
A familiar three-column Mac layout keeps folders, notes and your document in view. Headings, lists and tasks take shape as you type. Personal notes add contextual table/image tools and encrypted attachments; Markdown export is explicitly lossy. See rich-note compatibility and backup.
The screenshot below shows the earlier Markdown workspace; 2.3.0 adds the rich editing toolbar described above.

Look inside an account — passwords, additional logins and linked codes
Edit details in place, reveal or copy individual passwords, generate replacements and keep password history. Add multiple websites, extra logins and a linked authenticator without scattering the record across screens.

Small screen. Same essentials.
Native mobile previews bring notes, accounts, codes and wallets into a touch-friendly workspace. Notes have their own reading-focused layout; familiar actions stay consistent across pages.
Actual Mac and Android preview interfaces. All entries shown are fictional.
Your browser, with a little less typing
Choose a saved account next to a supported password field. Review a detected login before saving it, or open an existing account in Mac to edit its details. Filling never submits the form for you.
The lightweight Chromium extension connects to Mac or uses its own separate encrypted vault. It has no Flutter or CanvasKit runtime. Explore browser setup → Use Add account/password in the popup to save credentials for the current website even without a login form. Native mode also supports offline login/signup saving and later Mac synchronization.
Browser 2.2.11 / Mac 2.2.11 can show and fill current-site accounts while Mac is quit, with a numeric toolbar badge and masked passwords. Verify the Mac master password in the extension; the visible Automatically unlock Mac on launch option also enables startup unlock. Components run only on demand. Existing save-only grants require reauthorization. Setup and limits → The popup header shows the extension version and an Open Mac shortcut, with a GitHub download link when the native connection is missing.
Choose your workspace
| Platform | What you can use | Start here |
|---|---|---|
| Mac · macOS 13+ | Native desktop preview, notes editor and browser connection | Mac setup |
| Android · 8.0+ | Native mobile preview; system Autofill on Android 8+ | Android guide |
| iPhone / iPad · iOS 16+ | Native simulator preview; signed-device distribution pending | iOS guide |
| Chromium browsers | Unpacked extension; connect to Mac or create a separate vault | Extension setup |
Standalone Web is also available with a smaller feature set. Windows and Linux have no native desktop client yet. These are development builds, not App Store or extension-store releases. Moving between separate vaults requires an explicit transfer; installation does not automatically sync them.
Versions, platform validation and remaining delivery gates
| Client | Current scope | Validation and delivery |
|---|---|---|
| macOS 13+ | SwiftUI desktop app; universal Apple Silicon/Intel build; local Tiptap rich editor | Development build. Checks include native-window continuous Return/focus tests, formatting, encrypted images and archive failure paths. Physical IME coverage, macOS 13/Intel hardware and distribution signing/notarization remain open |
| Android 8.0+ | Kotlin/Compose preview; account/code/wallet workflows aligned with the legacy app, separate Notes design | Emulator UI plus scoped physical non-UI checks. Camera/fingerprint, older devices and original production-signing-key upgrades remain gated. System Autofill requires Android 8+ |
| iOS 16+ / iPadOS 16+ | SwiftUI app and Password AutoFill extension | Simulator flows and device-architecture compilation pass. Eligible team provisioning, signed-device installation and hardware acceptance remain open |
| Chromium extension | Lightweight MV3; Mac connection and independent vault; explicit fill/save | Scoped Edge/ego lite, DOM and signed-helper checks. Broader Google Chrome/site coverage remains open; unpacked installation |
| Standalone Web | Independent encrypted vault, CRUD, TOTP, backup/import and utilities | Sharing/WebDAV/QR UI, full theme/language parity and automatic legacy OPFS migration remain incomplete |
| Windows / Linux desktop | No native desktop client | Not implemented |
The coordinated release is 2.3.2: Mac build 32, browser 2.3.2, Android build 23007, and iOS build 14. This update adds encrypted personal relay sync, device-list access controls and bulk conflict handling with mobile reminders. Android requires 8.0+. Passing checks does not imply app-store availability or production security acceptance. See installation and relay setup.
Run from source
Mac and browser
Install the pinned Rust, Node.js, Xcode and XcodeGen tools from native setup, then run from the repository root:
git clone https://github.com/JunWeiUp/PasswordVault.git
cd PasswordVault
bash tool/check_native.sh core
bash tool/check_native.sh macos
bash tool/check_native.sh browser
The Mac app is built at apps/macos/build/Build/Products/Release/PasswordVault.app; the unpacked extension is in apps/browser/dist. The Mac build also bundles the note editor and its dependency licenses locally. For evaluation, follow the native guide's isolated synthetic vault instructions.
- Load
apps/browser/distfromchrome://extensionsoredge://extensionswith developer mode enabled. - For Mac mode, register the browser connection in Mac Settings → Browser, select Connect to Mac in the extension and confirm pairing in Mac.
- Alternatively, create an Independent vault in the extension. It does not copy or share the Mac vault automatically.
Keep the unpacked directory and extension identity stable. Every delivered extension update uses npm --prefix apps/browser run release:local; reload it and verify the running version. Standalone Web can serve the same directory over loopback HTTP or HTTPS; file:// is unsupported.
Android and iOS
Current Android source keeps the main session unlocked during brief app switches until idle expiry. Android, Mac and iOS remove shared-vault management and LAN sync. Existing shared records, backup metadata and read-only permissions stay. Screen/manual lock, encrypted drafts and existing backup data are retained.
Follow the dedicated Android build guide or iOS build guide. Preview identities are separate from legacy production installations. Do not uninstall an existing vault to work around a signing mismatch.
Your data stays yours
Native vaults encrypt notes, accounts, codes, wallet records and settings on disk, including while the app is open. You choose when to create a backup or connect your own WebDAV server. Unlocked content exists in memory; an explicit plaintext export is still plaintext.
Encryption, security boundaries and remaining work
Native V2 uses SQLCipher/authenticated document encryption, salted Argon2id root-key wrapping and authenticated browser ciphertext. Local notes and server credentials use the same encrypted vault path. The Tiptap page has no remote editor assets or persistent web-data store; its CSP blocks network content and allows only session-bound native image resources. Rich notes use a versioned JSON document and complete attachment archives. Decrypted content still exists in memory while unlocked, and explicit plaintext exports remain plaintext.
Implemented features, automated checks and manual acceptance are recorded separately. Remaining work includes full process/GPU memory comparisons, standalone Web parity, unsupported desktop SQLite/Web OPFS and legacy-sharing migration, broader hardware/accessibility/server checks, production signing and independent security review. A smaller extension package is not proof of lower total process memory.
See current plans, security limitations and privacy. Report vulnerabilities through SECURITY.md; never attach real credentials or vault exports.
Build with us
CI runs only affected platform jobs for normal PRs; selection, caching and full-run instructions.
Use development checks, the artifact registry and release procedure. Native workflow source is in .github/workflows/native.yml; use actual PR results when reporting CI status. Contribute with synthetic fixtures and follow CONTRIBUTING.md and AGENTS.md.
| Topic | Guides |
|---|---|
| Product and interface | Project specification · Design · Page structure |
| Implementation | Architecture · Component guidelines |
| Platform evidence | Native migration · Mac field parity · Mobile acceptance · Android parity · Browser acceptance |
| Progress | TODO · Changelog |
Looking for the older Flutter client?
The retained lib/, android/, ios/, web/ and chrome/ clients have separate storage and security findings. They remain available until their replacement and migration gates pass. The older Flutter preview download, widget gallery and installation guide describe that client, not the native screenshots above. Its toolchain remains pinned in .flutter-version.
License
MIT. Bundled dependencies retain their own licenses; see third-party notices.
Personal vault relay sync
Mac coordinates encrypted bidirectional sync with Android 8+ and iOS. Browser extensions retain local native synchronization. Create/join signed device groups with automatic admission by default or optional code approval, manage members, then enable View and sync changes beside each device on Mac. Setup, pairing, conflicts and recovery: personal relay sync. See the tested scope in validation.
Explore related projects
trimstray/the-book-of-secret-knowledge
A collection of inspiring lists, manuals, cheatsheets, blogs, hacks, one-liners, cli/web tools and more.
257,197 starsHack-with-Github/Awesome-Hacking
A collection of various awesome lists for hackers, pentesters and security researchers
125,014 starsswisskyrepo/PayloadsAllTheThings
A list of useful payloads and bypass for Web Application Security and Pentest/CTF
82,508 starscaddyserver/caddy
Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
78,910 stars