Customization (2.x) - KeePass
Author: Dominik Reichl

| # Customization (2.x) KeePass 2.x features various options for network administrators to customize the program's appearance and behavior.

- Preliminaries
- Minimum Master Password Requirements
- Specifying UI Element States
- More Options

## Preliminaries

Most options below are configured by directly editing the `KeePass.config.xml` configuration file. If you're planning to deploy a customized KeePass version, you should fully understand the KeePass configuration system, especially how to enforce some settings and leave others up to users.

Note that KeePass features a rich plugin framework. If there's no item in the XML file to configure what you're thinking about, you might want to write a plugin.

## Minimum Master Password Requirements

You can specify several properties that master passwords must have in order to be accepted (length, estimated quality, ...). See Specifying Minimum Master Password Properties.

## Specifying UI Element States

The state (enabled, disabled, visible, hidden) of several user interface (UI) elements can be specified using the `UIFlags` value of the `UI` node in the configuration file. This can be a bitwise combination of one or more of the following flags:

Flag (Hex) | Flag (Dec) | Description
--- | --- | ---
0x0 | 0 | Don't force any states (default).
0x1 | 1 | Disable 'Tools' → 'Options' menu item.
0x2 | 2 | Disable 'Tools' → 'Plugins' menu item.
0x4 | 4 | Disable 'Tools' → 'Triggers' menu item.
0x8 | 8 | Disable controls to specify after how many days the master key should/must be changed.
0x10 | 16 | Hide password quality progress bars and information labels.
0x20 | 32 | Disable 'Help' → 'Check for Updates' menu item.
0x10000 | 65536 | Hide built-in profiles in the password generator context menu of the entry editing dialog.
0x20000 | 131072 | Show UI elements related to last access times. Note: Databases are not marked as modified when a last access time changes. Thus, when only last access times are changed and the user closes the database (without saving manually first and without a save forced e.g. by a trigger or plugin), the changes to the last access times are lost.
0x40000 | 262144 | Do not display information dialogs when creating a new database.

The value of `UIFlags` must be specified in decimal notation.

For example, if you want to disable the 'Options' and 'Check for Updates' menu items, you'd specify 33 as value for the `UIFlags` node (0x1 + 0x20 = 1 + 32 = 33).

## More Options

- Configuration/Defaults/WinFavsBaseFolderName:
  For the 'Windows Favorites' export: name of the root folder; the default value is 'KeePass'.
- Configuration/Defaults/WinFavsFileNamePrefix:
  For the 'Windows Favorites' export: prefix for the title of every favorite; the default value is an empty string.
- Configuration/Defaults/WinFavsFileNameSuffix:
  For the 'Windows Favorites' export: suffix for the title of every favorite; the default value is an empty string.
- Configuration/Integration/AutoTypeInterKeyDelay:
  Specifies the default delay (in ms) between two keypresses sent by auto-type. The minimum is 1 ms. Note that very small delays may result in target applications not being able to process the keypresses correctly.
- Configuration/Integration/AutoTypeAbortOnWindows:
  This node may contain one or more `Window` nodes that specify disallowed auto-type target windows (the value of each node must be a target window filter).

  For example, the following configuration disallows auto-typing into WordPad and LibreOffice Writer:

      <AutoTypeAbortOnWindows>
          <Window>* - WordPad</Window>
          <Window>* - LibreOffice Writer</Window>
      </AutoTypeAbortOnWindows>

- Configuration/Security/MasterKeyTries:
  Specifies how often the master key dialog appears when entering incorrect master keys. The default value is 3.
- Configuration/Application/ExpirySoonDays:
  Specifies the number of days within which entries are considered to expire "soon". The default value is 7.