Skip to content
KeePassSubsetExport is a KeePass2 plugin which automatically exports a subset of entries to new databases
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
KeePassSubsetExport.Tests
Properties
Resources
TestDatabases
.gitignore
Exporter.cs
KeePassSubsetExport.csproj
KeePassSubsetExport.sln
KeePassSubsetExportExt.cs
KeyHelper.cs
LICENSE
README.md
Settings.cs
keepass.version

README.md

KeePassSubsetExport

KeePassSubsetExport is a KeePass2 plugin which automatically exports a subset of entries (tag based) to new databases with different keys.

Build Status Quality Status Coverage Latest release Github All Releases License

Why?

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.

Disclaimer

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.

How to install?

  • 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)

How to use?

  • 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!
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.)
No C:\sync\mobile.kdbx
or
mobile.kdbx
or
..\mobile.kdbx
SubsetExport_Tag
[string field]
Tag for filtering Yes, if SubsetExport_Group is set MobileSync
SubsetExport_Group
[string field]
Group for filtering 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_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
  • 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 and SubsetExport_Group are set, only entries matching both will be exported

create

KeePassSubsetExport vs Partial KeePass Database Export

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)
You can’t perform that action at this time.