
package:keepass: a Rust-backed KeePass and KeePassXC Flutter plugin
I've been working on a KeePass package for about two years but haven't been as diligent about publishing updates to pub.dev as I have been with pushing commits to github. I've dedicated some time this past month to polishing the set of packages for publishing and would like to share a few new tools for interacting with KeePass and especially KeePassXC KDBX vaults:
- https://pub.dev/packages/keepass_flutter
- https://pub.dev/packages/keepass
- https://pub.dev/packages/keepass_web
Most people will want to use keepass_flutter, which builds its library 'automatically' with cargokit (provided Rust etc are installed), whereas the keepass and keepass_web packages require you to build or otherwise provide the library yourself at this point.
I made this package for three main reasons:
I maintain multiple KDBX vaults and wanted a tool capable of merging databases that only keeps the latest entries, safely archiving the old entries 'just in case'.
I wanted more platforms: KeePassXC doesn't support web or iPad, so I made these specifically in order to cover all platforms, including browser extensions.
I wanted YubiKey Challenge-Response capability and this wasn't clearly available via existing packages.
Future TODOs include:
- Migrate from cargokit to native_assets_rust once Dart Native Assets launch in an unexperimental form
- Publish prebuilt binaries for package:keepass and package:keepass_web as an option for users that want to skip building
- Make sure the prebuilt binaries mentioned above are all reproducible