keepass_flutter
Flutter plugin for KeePass KDBX databases. Bundles a Rust core via
cargokit and re-exports the full
Dart API from package:keepass.
Why this package
Depend on keepass_flutter when you are building a Flutter app for Android,
iOS, Linux, macOS, or Windows. It:
- Builds and bundles the native Rust library (
libkeepass_flutter_native) automatically as part of your Flutter build, with no manualcargo buildstep. - Re-exports the full
package:keepasssurface so a single import gives youDatabase,Group,Entry,MergeResult, andKeePassError.
For non-Flutter Dart code (CLIs, servers), depend on package:keepass
directly and supply the native library yourself.
Install
dependencies:
keepass_flutter: ^0.1.0
Then flutter pub get (cargokit will compile the Rust crate the first time
you build for a given target).
Usage
import 'package:keepass_flutter/keepass_flutter.dart';
void main() {
final db = Database.open('vault.kdbx', password: 'demopass');
try {
final root = db.rootGroup;
for (final entry in root.entries) {
print(entry.getField('Title'));
}
db.save('vault.kdbx', password: 'demopass');
} finally {
db.close();
}
}
See example/ for a full reference GUI: file picker unlock,
group / entry CRUD, idle auto-lock, settings, and YubiKey challenge-response
support.
What ships in the plugin
The plugin is intentionally thin. It exposes:
- All symbols from
package:keepass(re-exported). - A Flutter plugin manifest that wires cargokit into your native build.
Higher-level state classes (VaultState, storage providers, etc.) live in
the keepass_ui
package and in the reference example, not in this plugin.
Platform support
| Platform | Status |
|---|---|
| Android | Supported via cargokit (Android NDK). |
| iOS | Supported via cargokit. |
| Linux | Supported via cargokit. |
| macOS | Supported via cargokit. |
| Windows | Supported via cargokit. |
| Web | Not supported; use keepass_web. |
License
MIT, see LICENSE.
Libraries
- keepass_flutter
- Flutter plugin for KeePass: re-exports package:keepass and ships the Rust native library built and bundled via cargokit.