# Password Safe Preferences

Like many applications, Password Safe allows you to configure its behaviour and appearance to best suite your taste and needs. Many applications store such preferences in the Windows "registry", as a matter of convention and convenience. Previous versions of Password Safe used the registry as well, but this has proven to be problematic for the following reasons:

- Some of the configurable preferences are security related, and storing them in an open repository such as the Windows registry may enable an attacker to gain access to the database (for example, if the attacker were to disable the locking of the database after an inactivity timeout, the user would assume the database was safely locked while out to lunch, whereas the attacker could then access it at her convenience).
- Many people are using Password Safe from a disk-on-key or otherwise sharing the same database across several machines. It's impractical to share the configuration data in a registry in such a manner.

Password Safe has a number of preferences, each with a reasonable default value. When a user changes the configuration to a non-default value, the new value is store by Password Safe.

Password Safe defines preferences as security-related or non-security related. The former are kept in the database, encrypted with the same key as the user's data.

Non-security-related preferences are kept in a configuration file, pwsafe.cfg. This file is in XML format, with sections per host machine and per user, so that the file may be shared between different users, and across different machines.

By default, pwsafe.cfg is kept in the same directory as the pwsafe.exe executable program. If, however, the PWS_PREFSDIR environment variable is set, pwsafe will use the configuration file stored there. This is useful for cases where write permissions to the pwsafe.exe install directory are restricted (See also the description of the -g option in the Command Line Arguments Section) and in a "wrapper" script/batch file on a portable device (e.g., disk-on-key) by setting the configuration Folder/directory as needed.

The following tables describes the configuration items. Most of them are configurable via the "Manage → Options" dialog box. As we use XML to save these values, field names are case sensitive. Preferences stored in the "pwsafe.cfg" file apply to all open databases. Those stored in the database apply only to that particular database. In Windows Vista and later, the pwsafe.cfg file can be found in: "`C:\Users\<username>\AppData\Local\PasswordSafe`" but, in Windows XP, it can be found in: "`C:\Documents and Settings\<username>\Application Data\PasswordSafe`". Note both directories may be hidden and Folder View properties may need to be modified in order to be able to view it.

Notes:

- Obsolete preferences are not listed.
- Only non-default preference values are stored in the configuration file or database.

Warning: Do NOT modify any of the preferences in the pwsafe.cfg file manually, as this may cause unexpected or unpredictable results. Whilst we have made every effort to verify any preference we read in, we cannot guarantee that manually edited values will not cause a problem.

### Database specific preferences

Note database preferences are only saved within the database if their value differs from their default value.

#### Boolean (true ('1')/false '(0')) preferences in alphabetical order

Preference | Default | Comment
CopyPasswordWhenBrowseToURL | false | Copy the entry's password to the clipboard when invoking the entry's "Browse to URL"
LockDBOnIdleTimeout | true | Lock database if the user has not used the PC for a number of minutes. See "IdleTimeout" integer preference for the threshold value in minutes
MaintainDateTimeStamps | false | Entry last access times are recorded, if the database is in Read/Write mode
PWMakePronounceable | false | Password generation policy - convert generated passwords to be more pronounceable
PWUseDigits | true | Password generation policy - use numbers
PWUseEasyVision | false | Password generation policy - use Easy-Vision characters so that one character isn't mistaken for another e.g. number 0 (zero) and letter O (capital O) etc.
PWUseHexDigits | false | Password generation policy - generate a password with only hexadecimal characters (always an even number)
PWUseLowercase | true | Password generation policy - use lower case characters
PWUseSymbols | true | Password generation policy - use symbols
PWUseUppercase | true | Password generation policy - use upper case characters
SaveImmediately | true | Save database after every database change
SavePasswordHistory | false | Save entry's old passwords when a new password is assigned
ShowDragbar | true | Show Dragbar
ShowNotesDefault | false | Show Notes in Add and Edit
ShowPasswordInTree | false | Password is displayed in Tree View (requires Username to be displayed)
ShowPWDefault | false | Password is displayed by default in Add/Edit
ShowUsernameInTree | true | Username is displayed in Tree View
UseDefaultUser | false | Use the default user text preference when adding a new entry

#### Numerical preferences in alphabetical order

Preference | Default | Min | Max | Comment
IdleTimeout | 5 | 1 | 600 | Threshold in minutes to determine whether to lock Password Safe due to inactivity
NumPWHistoryDefault | 3 | 0 | 255 | How many passwords to keep in an entry's password history field
PWDefaultLength | 12 | 4 | 1024 | Default password length
PWDigitMinLength | 0 | 0 | 1024 | Default minimum number of digits in a generated password
PWLowercaseMinLength | 0 | 0 | 1024 | Default minimum number of lower case characters in a generated password
PWSymbolMinLength | 0 | 0 | 1024 | Default minimum number of symbols in a generated password
PWUppercaseMinLength | 0 | 0 | 1024 | Default minimum number of upper case characters in a generated password
TreeDisplayStatusAtOpen | AllCollapsed | n/a | n/a | Values are: AllCollapsed, AllExpanded or AsPerLastSave

#### Textual Preferences in alphabetical order

Preference | Default | Comment
DefaultAutotypeString | \u\t\p\t\n | The database's default AutoType string. Note that each entry may override this value
DefaultSymbols | <none> | The default list of symbols to be used when generating a password with symbols. Note: each entry may override this value.
DefaultUsername | <none> | Default value for the Username field when creating new entries
TreeListSampleText | "AaBbYyZz 0O1IlL" | Sample text to use when deciding what font to be used in the Tree View

### Application related preferences stored within the Configuration file (pwsafe.cfg)

Note preferences are only saved if their value is different from their default value. These preferences apply to all databases on a given machine by a given user.

#### Boolean (true ('1')/false '(0')) preferences in alphabetical order

Preference | Default | Comment
AlwaysOnTop | false | Main window always on top
BackupBeforeEverySave | true | Rename current database following the Backup settings before saving any changes to it
| ClearClipboardOnExit | true | Clear the clipboard of Password Safe information when Password Safe ends
ClearClipboardOnMinimize | true | Clear the clipboard of Password Safe information on minimize
DatabaseClear | false | Lock database on minimize, which implies clear database from memory
DefaultOpenRO | false | By default, set the Read-Only checkbox during the open of databases
deletequestion | false | Don't ask for confirmation when deleting a single entry
dontaskquestion | false | Don't ask for confirmation when copying password to clipboard
EscExits | true | The ESC key will close the database and exit Password Safe (if the System Tray is not being used)
ExplorerTypeTree | false | Show groups first in tree view
HideSystemTray | false | Hide the Password Safe System tray icon. Only able to be set if the user has already set a Hot Key
HighlightChanges | true | Highlight changed unsaved entries in blue
HotKeyEnabled | false | True if the user has defined a Hot Key to get quick access to Password Safe
ListSortAscending | true | The last sort direction in List View (ascending [true] or descending [false])
ListViewGridLines | false | Show grid lines in list view
LockOnWindowLock | true | Lock Password Safe database when the user locks their Windows session
MinimizeOnAutotype | true | Minimize Password Safe during AutoType. Database may also be locked depending on the setting to lock it on minimize
MRUOnFileMenu | true | Most recently used databases are shown in the File menu or in in their own sub-menu from the File menu
MultipleInstances | true | Allow multiple instances of password Safe to be started. Changing this value will require Password Safe to be restarted to take effect.
NotesWordWrap | true | Note will be wrapped in its display area during Add/Edit
PreExpiryWarn | false | Warn user on database open if there are any entries with expired or soon to expire passwords
QuerySetDef | true | Ask user each time they add an entry whether to use the Username for all new entries
ShowDragbar | true | Show Dragbar
ShowFindToolBarOnOpen | true | Show the Find toolbar when Password Safe starts. This is determined by the state of this toolbar when Password Safe was last ended
ShowNotesAsToolTipsInViews | false | Show an entry's Notes as a tool tip in both Tree and List views (only the first 250 characters will be displayed)
ShowToolbar | true | Show Toolbar
UseNewToolbar | true | Use New or Classic toolbar
UsePrimarySelectionForClipboard | false | Determine which clipboard to use (Linux only)
UseSystemTray | true | Put Password Safe icon in Windows System Tray

#### Numerical preferences in alphabetical order

Preference | Default | Min | Max | Comment
AddEditFontPtSz | n/a | 0 | n/a | Add/Edit font size in tenths of a point
BackupMaxIncremented | 1 | 1 | 999 | Only valid if an incremental number is used for the BackupSuffix
BackupSuffix | 0 | n/a | n/a | Values are: None, datetime or an incremental number
column1width | n/a | n/a | n/a | The width of the first column in the List View when Password Safe was last exited
column2width | n/a | n/a | n/a | The width of the second column in the List View when Password Safe was last exited
column3width | n/a | n/a | n/a | The width of the third column in the List View when Password Safe was last exited
column4width | n/a | n/a | n/a | The width of the fourth column in the List View when Password Safe was last exited
DlgOrientation | 0 | 0 | 2 | How to choose wide or tall dialog screens: 0 - automatically (default), 1 - force tall, 2 - force wide.
DoubleClickAction | Copy Password | n/a | n/a | See Help entry DCA Values export
HotKey | none | n/a | n/a | The Hot Key value. Up to and including Password Safe version 3.42.1, this is stored as a decimal integer created from the virtual keycode for the character in the lower word plus the Microsoft Foundation Class CHotKeyCtrl modifier flags in the higher word. After version 3.42.1, the preference element is augmented with XML attributes that are used to set the virtual key code and modifier flags (e.g., Ctrl="1" Key="30") to the internal Password Safe format that can be used across other platforms.
maxmruitems | 4 | 0 | 20 | Number of most recently used databases saved in the File menu
MaxREItems | 25 | 0 | 25 | Maximum number of "Recent used entries" to be saved in the database and displayed from the System Tray icon to allow quick access
NotesFontPtSz | n/a | 0 | n/a | Notes font size in tenths of a point
OptShortcutColumnWidth | 92 | 10 | 512 | Size of the columns in the Manage → Options → Shortcuts tab
PasswordFontPtSz | n/a | 0 | n/a | Password font size in tenths of a point
PreExpiryWarnDays | 1 | 1 | 30 | When to warn on about-to-expire passwords
sortedcolumn | 0 | 0 | 15 | Previous column used to sort the List View
ShiftDoubleClickAction | Copy Password | n/a | n/a | See Help entry DCA Values export
TreeFontPtSz | n/a | 0 | n/a | Tree & List View font size in tenths of a point
VKFontPtSz | n/a | 0 | n/a | Virtual keyboard font size in tenths of a point

#### Textual Preferences in alphabetical order

Preference | Default | Comment
AddEditFont | <none>, which corresponds to Segoe UI Symbol 10pt on Windows | Information about the font used to display fields in the Add/Edit property pages
AddEditSampleText | "AaBbYyZz 0O1IlL" | Sample text to use when deciding what font to be used to display when adding or editing entries
AltBrowser | <none> | Full path to an alternate browser
AltBrowserCmdLineParms | <none> | Special command line parameters for the alternate browser, if specified. Do NOT enclose this value in single or double quotes unless your chosen browser requires them.
AltNotesEditor | <none> | Full path to a text editor to be used to edit an entry's Notes field rather than the Windows default application.
AltNotesEditorCmdLineParms | <none> | Special command line parameters for the alternate text editor, if specified. Do NOT enclose this value in single or double quotes unless your chosen external editor requires them.
BackupDir | <none> | Usually the database backup is stored in the same directory as the database. This can be overridden using this preference
BackupPrefixValue | <none> | Usually the current database name is used to prefix any backup file names. This can be overridden using this preference
ColumnWidths | <none> | Non-default column widths in List View
currentbackup | <none> | Path and name of last backup file
currentfile | <none> | Currently (i.e., last) opened file
LanguageFile | <none> | The code of last language file used by the user. It is in the form "LL" or "LL_CC", where LL = ISO 639-1 two-character Language code e.g. EN, FR, DE, HE... see http://www.loc.gov/standards/iso639-2/ and CC = ISO 3166-1 two-character Country code e.g. US, GB, FR, CA... see http://www.iso.org/iso/en/prods-services/iso3166ma/index.html
lastview | tree | Last view selected: Tree or List view ("tree" or "list")
LastUsedKeyboard | <none> | Save the code of the last Virtual Keyboard used
ListColumns | <none> | Non-default column order in List View. Note the list of comma separated column numbers reflect internal numbering of the fields and should not be edited manually
MainToolBarButtons | <none> | A list of the Toolbar buttons and their order as customised by the user. A separator is shown as a ~
NotesFont | <none>, which corresponds to Segoe UI Symbol 10pt on Windows | Information about the font used to display the Notes field in the basic Add/Edit property page
NotesSampleText | "AaBbYyZz 0O1IlL" | Sample text to use when deciding what font to be used to display the Notes field in the basic Add/Edit property page
PasswordFont | <none>, which corresponds to Consolas 12pt on Windows | Information about the font used to display the password
PswdSampleText | "AaBbYyZz 0O1IlL" | Sample text to use when deciding what font to be used to display passwords
treefont | <none>, which corresponds to Segoe UI Symbol 10pt on Windows | Information about the font used in the Tree & List Views
TreeListSampleText | "AaBbYyZz 0O1IlL" | Sample text to use when deciding what font to be used in the Tree & List View
VKeyboardFontName | <none> | Name of the Unicode font to be used to display all characters used in the Virtual Keyboard. This includes both Latin and non-Latin characters
VKSampleText | "AaBbYyZz 0O1IlL" | Sample text to use when deciding what font to be used in the Virtual Keyboard