中文 | English
A cross-platform KeePass-compatible password manager built with Flutter.
- Full KDBX 3.x / 4.x compatibility (read/write, merge sync)
- Cloud sync via WebDAV or Git (GitHub / Gitee / GitLab), TOTP, fingerprint unlock, key file dual-factor auth
- CSV / KDBX import & export (Chrome, 1Password, LastPass, Bitwarden, etc.)
- File attachments, entry history, custom fields, tags & groups
- Password generator, auto-lock/save, clipboard auto-clear, expiry reminders
- Local password health audit (weak / reused / expired passwords; no network)
- System tray, keyboard shortcuts, light/dark theme, Chinese/English
Download from Releases.
| Platform | Notes |
|---|---|
| Windows | Download KeeStone-*-windows-x64.zip, extract and run keestone.exe |
| Debian / Ubuntu | sudo apt install ./keestone_*_amd64.deb |
| Arch Linux | yay -S keestone-bin or paru -S keestone-bin |
| Android | Install the APK for your arch (arm64-v8a / armeabi-v7a / x86_64). APKs are not distributed via any app store — download them only from GitHub Releases |
Requires Flutter / Dart SDK >= 3.13.0
git clone https://github.com/lyj404/keestone
cd keestone
flutter pub get
flutter run -d windows # or linux / androidFlutter · Riverpod · go_router · kpasslib · WebDAV · local_auth
Open Password Health from Tools, the overflow menu, or Settings (available on desktop and mobile). The scan is fully local — nothing leaves the device.
| Check | Description |
|---|---|
| Empty password | Entry has no password |
| Weak / fair password | Strength score is weak or fair |
| Reused password | The same password is used by two or more entries |
| Expired | Expiry date is in the past |
| Expiring soon | Expires within 7 days |
Results are ranked by severity. Tap a finding to open the entry and fix it. The report never includes plaintext passwords.
KeeStone supports two mutually exclusive sync backends; enabling one disables the other.
- WebDAV — any standards-compliant server (Nextcloud, Jianguoyun, etc.).
- Git — stores the database in a private Gist (GitHub / Gitee) or Snippet (GitLab, including self-hosted). No repository needed: the first sync creates the gist/snippet automatically and later syncs update it. Requires a personal access token with gist/snippet write permission. Conflict detection works the same as WebDAV: when the remote copy changed since the last sync, a diff dialog lets you choose to download the cloud version or overwrite it.
