KeePassSubsetExport is a KeePass2 plugin which automatically exports a subset of entries (tag based) to new databases with different keys.
I'm using the plugin to export some entries of my main database to another database which is synced to my mobile devices. Additionally, I'm sharing some other entries with my family.
This is my first KeePass plugin and I tried not to compromise security - but I can't guarantee it.
So use this plugin at your own risk.
If you have more experience with KeePass plugins, I would be very grateful if you have a look on the code.
- Download the latest release from here
- Place KeePassSubsetExport.plgx in the KeePass program directory
- Start KeePass and the plugin is automatically loaded (check the Plugin menu)
- Open the database containing the entries that should be exported
- Create a folder
SubsetExportSettings
under the root folder - For each export job (target database) create a new entry:
Setting | Description | Optional | Example |
---|---|---|---|
Title |
Name of the job | No | SubsetExport_MobilePhone |
Password |
The password for the target database | Yes, if SubsetExport_KeyFilePath is set |
SecurePW! |
Expires |
If the entry is expired the job is disabled and won't be executed | - |
- |
SubsetExport_KeyFilePath [string field] |
Path to a key file | Yes, if Password is set |
C:\keys\mobile.key |
SubsetExport_TargetFilePath [string field] |
Path to the target database. (Absolute, or relative to source database parent folder.) ( , to delimit multiple target dbs) |
No | C:\sync\mobile.kdbx or mobile.kdbx or ..\mobile.kdbx |
SubsetExport_Tag [string field] |
Tag(s) for filtering (, to delimit multiple tags - , is not allowed in tag names) |
Yes, if SubsetExport_Group is set |
MobileSync |
SubsetExport_Group [string field] |
Group(s) for filtering (, to delimit multiple groups - , is not allowed in group names) |
Yes, if SubsetExport_Tag is set |
MobileGroup |
SubsetExport_KeyTransformationRounds [string field] |
Overwrite the number of KeyTransformationRounds for AesKdf | Yes | 10000000 |
SubsetExport_RootGroupName [string field] |
Overwrite the name of the root group in the target database | Yes | NewRootGroupName |
SubsetExport_FlatExport [string field] |
If True no groups will be created in the target database (flat export) |
Yes (defaults to False ) |
True |
SubsetExport_OverrideTargetDatabase [string field] |
If True the traget database will be overriden, otherwise the enries will added to the target database |
Yes (defaults to True ) |
True |
SubsetExport_OverrideEntryOnlyNewer [string field] |
If True only newer entries will overrides older entries (OverrideTargetDatabase is False ) |
Yes (defaults to False ) |
True |
SubsetExport_OverrideEntireGroup [string field] |
If True will override entire group in target Database (OverrideTargetDatabase is False ) |
Yes (defaults to False ) |
True |
SubsetExport_Argon2ParamIterations [string field] |
Overwrite the number of iterations of Argon2Kdf | Yes | 2 |
SubsetExport_Argon2ParamMemory [string field] |
Overwrite the memory parameter of Argon2Kdf | Yes | 1048576 = 1MB |
SubsetExport_Argon2ParamParallelism [string field] |
Overwrite the parallelism parameter of Argon2Kdf Typical parallelism values should be less or equal than to two times the number of available processor cores (less if increasing does not result in a performance increase) |
Yes | 2 |
SubsetExport_ExportUserAndPassOnly [string field] |
If True only the username and password will be exported to the target database. |
Yes (defaults to False ) |
True |
- Every time the (source) database is saved the target databases will be recreated automatically
- To disable an export job temporarily just move its entry to another folder
- If both
SubsetExport_Tag
andSubsetExport_Group
are set, only entries matching both will be exported
I started developing KeePassSubsetExport before Partial KeePass Database Export was published, so the basic functionality is similar.
But KeePassSubsetExport has some advantages:
- The folder structure is copied to the target database
- Multiple export jobs are supported
- Key-File protection of the target databases is supported
- KeyTransformationRounds of the target database is set to the number of the source database (can be overwritten)
- Exports can be limited to a folder (can be combined with a tag filter)
- Field references support (in the export job password field and the following entry fields: Title, Username, Url and Password)