Welcome

Password Safe

How many passwords and user names do you have to keep track of? Whether the answer is one or hundreds, Password Safe allows you to safely and easily create a secured and encrypted master password list. A single Master Password unlocks them all for your use.

Security starts with the user. Keeping written lists of passwords on scraps of paper, or in a text document on your desktop is unsafe and is easily viewed by prying eyes (both cyber-based and human). Using the same password over and over again across a wide spectrum of systems and web sites creates the nightmare scenario where once someone has figured out one password, they have figured out all your passwords and now have access to every part of your life (system, e-mail, retail, financial, work).

Password Safe allows you to manage your old passwords and to easily and quickly generate, store, organize, retrieve, and use complex new passwords, using password policies that you control. Once stored, your user names and passwords are just a few clicks away.

Using Password Safe you can organize your passwords using your own customizable references—for example, by user ID, category, web site, or location. You can choose to store all your passwords in a single encrypted master password list (an encrypted password database), or use multiple databases to further organize your passwords (work and home, for example). And with its intuitive interface you will be up and running in minutes.


About Password Safe

Password Safe and the Twofish encryption algorithm it uses were originally developed and released to the public by Bruce Schneier and Counterpane Labs.

Password Safe is now an open source project hosted at sourceforge.net. The latest program updates, documentation, and news can be located at http://pwsafe.org.

Password Safe is freely available and distributable under the restrictions set forth in the standard Open Source Initiative (OSI) "Artistic License 2.0." A copy of this license is included with the Password Safe installation package in the file named LICENSE.

Twofish is a fast, free alternative to the AES, DES and IDEA encryption algorithms. Details on the Twofish algorithm, including speed comparisons and an extensive list of products that use Twofish, are available at http://www.schneier.com/twofish.html.

Please read the Readme.txt, Changelog.txt, and ReleaseNotes.txt or ReleaseNotes.html files in the installation package for the latest changes, bug fixes, and documentation addenda.

All other brand or product names are trademarks of their respective companies. No support or endorsement by these companies exists or is implied.


Creating a New Safe

Creating and Opening a Safe

Password Safe allows users to store all passwords in a single "safe" (password database), or to create multiple databases for different purposes (e.g., one for work, one for personal use). Each database is independent can be moved and used on different systems, as long as the same version of Password Safe is installed. Databases are encrypted with an encryption key derived from the master password (the master password, however, is not kept in the database in any form).

If you are using Password Safe for the first time, press the New Database button. You will be asked to choose the name and location of your password database (the default, "pwsafe.psafe3", is fine). Afterwards, you will be prompted to enter a master password that is used to encrypt and lock the contents of your new safe.

Create a New Database

There are two ways that a new database can be created. By clicking New Database from the Safe Combination Entry dialog when the program is started, or from the "File → New Database" menu once Password Safe has been opened. Using either method causes the Safe Combination Set Up dialog to appear.

Note: By default, Password Safe will show the database last used, and displays a combination prompt for it. If you use several databases, you can choose between them using the drop-down list. Alternately, you can type in the path to the database to open, or select it from a File dialog box by pressing on the ellipsis ("...") button. Once a database is open, you can change to another via the Open Database command from the File Menu.

new safe combination prompt

Virtual keyboard

To setup a master password in a secure way, you could use character (e.g. on a German keyboard) as ä, ö or simular. To realize the input of such characters, you would need a foreign keyboard. Such a keyboard is available as a virtual keyboard. This keyboard is then used to simulate all available foreign characters. The virtual keyboard can be shown by pushing the symbol Symbol virtual keyboard . Foreign characters, that are not available at the physical keyboard, can be put in in this way. So you can build your desired master password. Even pieces of the master password can be build this way.

Input a password with a virtual keyboard


Using Stored Passwords

Password Safe provides several mechanisms for using stored names and passwords. Most require copying the user name or password to the clipboard and then pasting the information into the required input field. Password Safe provides a function, Auto Type, that automates the entering of user name and password into a web form.

  1. Open Password Safe
  2. Select the user name/password entry you wish to use
    User Name:
  • Select the user name icon from the tool bar
    or
  • Right-click and select Copy username to clipboard
    or
  • Use Ctrl + U
    and then Paste the user name into the desired field.
    Password:
  • Select the password icon from the tool bar
    or
  • Right-click and select Copy password to clipboard
    or
  • Double-click the selected entry
    or
  • Use Ctrl + C
    and then Paste the password into the desired field.

Note: User names and passwords can also be copied to clipboard through the choices located in the Edit menu, but let's be honest, that's far too much clicking.


Searching

Searching for a given text

Password Safe allows you to search for entries with a given text. This is useful if you don't recall the name of an entry, but have a good idea regarding the contents, e.g., the entry with "Mary" in the Notes.

To search an open Safe, press Ctrl-F (or "Edit → Find..."). A toolbar appears above the status bar at the bottom of the application's windows similar to the following:

The simplest way to use this is to just enter the text you're looking for, and then press Enter or click on the magnifying glass icon to the right of the text field. The number of matching entries (if any) will be displayed in the right side of the toolbar, and the first matching entry will be selected and emphasized. Pressing Enter (or clicking on the magnifying glass) repeatedly will move to the next matching entry. When all entries have been selected, Password Safe will cycle back to the first.

The F3 key performs the repeat find. Just keep pressing F3 to cycle to the next entry that satisfies your criteria. Holding the Shift key down when pressing F3, finds the previous entry in the database matching your criteria rather than the next. You can also hold down the Shift key when clicking on the magnifying glass icon to find the previous match.

  • To close the Find toolbar, click on the 'x' to the left of the text.
  • By default, the search is case insensitive. To toggle between case-sensitive and case-insensitive search, press on the 'AA' button, which changes to 'Aa' when the search is case-sensitive.
  • To perform a more advance search, such as restricting the search to a subset of entries, determine which fields to search, etc., click on the "..." icon.
  • To create a report about your searching results, press the create search report symbol.
  • To clear the search text, click on the eraser button.


Upgrading From previous versions of Password Safe

In order to support new features and enhance security, the database format which is used to store entries and preferences has been changed between major versions. However, much effort has been put into ensuring automatic and transparent upgrading:

  • Version 1.x of Password Safe can only read databases generated by versions 1.x.
  • Version 2.x of Password Safe can read databases created by itself, and by version 1.x of Password Safe
  • Version 3.x of Password Safe can read databases created by all previous versions.

In all cases, to read a database generated by a previous version of Password Safe, just open it as you would any database. The entries will be displayed normally, with possible "unknown" values in fields that were unsupported in previous versions (e.g., the creation date of an entry).

When you save such a database, you will be alerted of the fact that the new database will be unreadable by previous version of Password Safe.

Generating previous versions of the database

You can create versions of the database that are readable by older versions of Password Safe by explicitly exporting to the desired format (File → Export To and select V1 format... or V2 format...). Note that the exported databases will not contain information that was added in newer versions. For example, a version 2 database will not have information regarding the modification times of entries.


A Word about Master Passwords

One of the most important keys to maintaining your security is selecting a strong master password for your Password Safe database. The database ("Safe") contains all your user names, passwords, and any additional information you may have added. Picking a spouse's name, a birthday, or some other easily guessable combination leaves your data vulnerable. It is important that you pick a hard-to-guess master password that you can easily remember.

Password Safe has a built in check for what it considers to be weak master passwords. In general, a master password (like any password) should consist of mixed case characters with at least one number or special character (such as those found above the number keys on a keyboard). If a master password is entered that the program considers weak, it will prompt for confirmation. You may the option to accept the originally entered (weak) password, or to enter a new one.

To change your master password, please see Changing Master Passwords.

Note:There is no mechanism within Password Safe to retrieve lost or forgotten safe passwords.

This is a deliberate design decision, since any mechanism for retrieving lost passwords poses a security hole that can be exploited.


User Names and Passwords

User Names, Passwords, and Groups: Basic

Username, passwords and groups together with the additional parameters are managed in 4 tabs:

  • Basic: all necesarry elements for password management
  • Additional: additional specifications, including history
  • Dates and Times: expiry and statistics
  • Password Policy: specific differences to the default

Basic Tab

In this tab the most inportant elements are combined.

Edit/View Entry

The following bits of information are associated with each password entry:

  • Group: A name for grouping (organizing) several related entries
  • Title: A friendly name for a password entry
  • User name: The user name
  • Password: The password
  • Notes: Free-form general notes field

Only the title and password fields are required; all others are optional.

In addition, the following fields may be set in this tab:

  • URL: The URL associated with the entry. If this field is not empty, then the "Go" button is enabled. If the protocol is not specified, then "http://" is assumed (e.g., "www.foo.net" is the same as "http://www.foo.net"). TheGo button to the right of the URL field is enabled if the URL field is not empty. Clicking with the Control key pressed (Ctrl+Click) will, in addition, invoke the autotype function on the opened browser page. See the following notes for more information.
  • email: The email address associated with this entry. If this field is not empty, then the "Send" button is enabled. Clicking on this button will invoke the default mail program with the To: field set to the specified address. See the following notes for more options.
The following notes describe the way URLs are handled in more detail:
  • By default, Password Safe will use the browser that your PC usually opens web pages with. If desired, you can specify an alternate browser by putting '[alt]' before the URL, e.g., "[alt]http://www.foo.net". This is useful, for example, if your default browser is Firefox, and you wish to access a website that works best with Internet Explorer. To configure an alternate browser, use the "Manage → Options → Misc." dialog box.
  • If '{alt}' is put before the URL, then it is passed 'as-is' to the alternate browser, that is, without adding 'http://' if no protocol is specified. This is useful if the alternate browser is a remote access application, e.g., an SSH client. [ssh] will achieve the same effect.
  • If '[autotype]' is found before the URL, then after the URL has been displayed/actioned, Password Safe then perform the Autotype action using this entry's Autotype field, or the default value if not specified.
The email address is according to the standard rules (per RFC 2368):
  • The address can be one or more valid email addresses separated by a semicolon, using 'Internet-safe characters. Use %20 for the space character.
  • The address can be followed by one or more name-value pairs. The first pair should be prefixed by a "?" and any additional pairs should be prefixed by an ampersand (&). The name can be one of the following strings:
    • subject - followed by text to appear in the subject line of the message.
    • body - followed by text to appear in the body of the message.
    • CC - followed by addresses to be included in the "cc" (carbon copy) section of the message.
    • BCC - followed by addresses to be included in the "bcc" (blind carbon copy) section of the message.

    Example: user@example.com?subject=Message Title&body=Message Content"

Creating a New User Name and Password Entry

  1. Open the database where you wish to place the new entry
  2. From the Edit menu, select Add Entry
  3. Enter information into the Edit/View Entry dialog fields as necessary
Note: If a Group name is selected and then a new entry added, that entry will have that Group name prefilled in the Edit/View Entry dialog. If a name of a new group is added to the Group field, that Group will be created.

Generating and Editing Passwords

If you wish, you can enter your own password into the password field manually, or you can have Password Safe generate a new one based on the current Password Policy. To have Password Safe generate a password, just click on Generate in the Edit/View Entry dialog. If you're unhappy with the result, you can click on Generate again, or edit the password manually.

Note: If you're using a "single sign-on" system that allows you to share the same password across different machines/servers/applications, etc. you can setup Password Safe entries accordingly, so that changing one password affects all other related entries. This is called "aliasing" entries, and is explained in detail here.

Editing Existing Entries

  1. Select the password entry to edit from the list
  2. Select Edit/View Entry from the Edit menu
Note: By default, passwords are obscured. To see the password associated with the Entry click Show Password.

Add a New Group

  1. Select Add Group from the Edit menu
  2. Enter the Group name

Edit a Group Name

  • Right-click on the group and select Rename Group from the drop down list
Notes:
  • Group names can be "nested" i.e. placing a group name within/under another group name.
  • Groups do not exist in their own right. They exist by virtue of an entry being present with within it or within a sub-group of the group. Therefore, if you add a group and the database is saved before you add an entry in it or its sub-group, it will disappear. The simplect method of ensuring a new group remains is to create a new entry and type in the new group path in the group field (groups are separated by periods ('.')).
    •


User Names and Passwords

User Names, Passwords, and Groups: Additional

Username, passwords and groups together with the additional parameters are managed in 4 tabs:

  • Basic: all necesarry elements for password management
  • Additional: additional specifications, including history
  • Dates and Times: expiry and statistics
  • Password Policy: specific differences to the default

Additional Tab

  • Autotype: If this field is not empty, the its content replaces the default value for the autotype function (which is dislayed above and comes from either the Password Safe default or this database's default as set via the "Manage → Options → Misc." tab). For more information, see the "Auto Type" help topic.
  • Run Cmd: This field can be used to specify a command or program to be run via the 'Run Command' action (via the Edit menu, right-click popup menu or Ctrl-R). Password Safe is able to pass arguments to the command such as the entry's username, password, etc., as described here.
  • Double click on entry: This allows you to define what action Password Safe will take when you double-click on an entry. The default is to copy the entry's password to the clipboard. The default action is set in "Manage → Options → Misc." tab.
  • Password History: It is possible to configure Password Safe to save the last few passwords of an entry. This can be done either when the entry is created, or when viewing an existing entry. You see the recent passwords associated with the entry. You can change the number of recent passwords that are kept. For more information see the Password History page here.


User Names and Passwords

User Names, Passwords, and Groups: Dates and Times

Username, passwords and groups together with the additional parameters are managed in 4 tabs:

  • Basic: all necesarry elements for password management
  • Additional: additional specifications, including history
  • Dates and Times: expiry and statistics
  • Password Policy: specific differences to the default

Dates and Times Tab

Edit/View Dates and Times
  • Password Expires on: To set a password expiration date, specify the desired expiration date, either as an absolute date (e.g., "March 17th 2007"), or relative from today (e.g., "30 days from now"). When the exiration date approaches, Password Safe will notify you upon startup that the password should be changed, as well as marking the entry in a distinct color.
    If you choose "In N days", then you may specify a "Recurring" expiration. This will cause a new expiration date to be calculated based on the specified number of days and when you change the entry's password. For example, if you create an entry on January 1st and specify a 5 day recurring expiration. You will get an expiration notice starting on January 6th. If you change the password on January 7th, then the new expiration will be on January 12th (5 days after the password has been set).
  • To cancel the expiration, select "None".
  • Statistics: These read-only fields help keep track of when the selected entry was created, last accessed, etc.
Note: Password Safe will only warn the user when passwords have expired. It is the user's responsibility to change the password. There is now a menu item ( "View → Show Entries with Expiry dates") that will invoke an internal filter to display all those entries with an expiry date set, whether it be not yet expired, soon to expire or already expired. By selecting this menu item again, the filter is removed and the normal display is shown.


User Names and Passwords

User Names, Passwords, and Groups: Password Policy

Username, passwords and groups together with the additional parameters are managed in 4 tabs:

  • Basic: all necesarry elements for password management
  • Additional: additional specifications, including history
  • Dates and Times: expiry and statistics
  • Password Policy: specific differences to the default

Password Policy Tab

Edit/View Password Policy

If you don't want to use the default password policy (see Setting a Password Policy), you can define in this tab a different password policy, marking "Use the policy below" and setting the apropriate elements. You may also select your own set of symbols to use when generating a password contaning them. You may also set this list for the whole database via "Manage → Options → Password Policy" tab and override it for specific entries. Note: the internal "Easy-Vision" symbol list will be used for all Easy-Vision and Pronounceable generated passwords.


Setting a Password Policy

A password policy describes the rules that are used to create a password - the letters, letter cases, length, and any special characters that are required. Some institutions require only lower case characters while others will demand that an upper case character, number, and special character be used, as well as a specified minimum length. In general, it is a good idea to use the longest allowable length and the largest permitted mix of characters. Please verify the exact password requirements with the entities that require them.

The Password Policy dialog allows you to set the global password generation policy. This policy can be overridden temporarily and passwords manually edited at any time in the Edit/View Entry dialog.

Selecting Password Rules

Each "use" item (e.g., use digits, use symbols, etc.) checked in the dialog forces Password Safe to include the specified characters in the passwords it generates. Each password will also be generated to the specified length (no shorter, no longer). The only exception to this is the Use hexadecimal digits only check box. When checked, passwords will include those characters that represent hexadecimal digits only. Selecting this option, disables all other check boxes.

Selecting Generate pronounceable passwords will cause Password Safe to generate a "nonsense" word that should be pronounceable, such as "ingstria", "ringsony", etc. This is useful when you need a password that is both secure and relatively easy to remember without Password Safe. Choosing this option with use digits and/or use symbols will enable replacing some letters with their "leet" equivalent, e.g., "E" may be replaced by "3", "S" by "5", etc.

The characters that are added when use symbols is checked are: + - = _ @ # $ % ^ & ; : , . < > / ~ \ [ ] ( ) { } ? ! | unless use only easy-to-read characters is selected as well, in which case the characters are only: + - = _ @ # $ % ^ & < > / ~ \ ?

The letters used when use only easy-to-read characters is checked are: a b c d e f g h i j k m n o p q r s t u v w x y z and A B C D E F G H J K L M N P Q R T U V W X Y, and the digits are limited to 3 4 6 7 8 9.

It is now possible to select the default symbol list that will be used in a database via the "Manage → Options → Password Policy" tab. In addition, each entry can have its own symbol list specified via the Add or Edit entry dialogs. Note: these symbol lists are not used for either pronounceable or easy-to-read passwords.


Password History

Password Safe allows you to keep the last few passwords that were used with a given entry, along with the date that they were set. This is useful to show compliance with password policies as required in some workplaces, and to revert to a previous password if a change did not take effect for some reason. An entry's password history is accessible via the "Additional" tab button in the Edit Entry dialog box.

Password History

This dialog box displays the last few previous passwords associated with a given entry. To display this, click on the "Password History" button in the Edit/View Entry dialog box. You can do the following operations here:

Keep N last passwords

If you select this checkbox, then recent passwords will be saved with this entry. You can also specify how many passwords to keep.
Note: Unchecking this checkbox will not clear the history. It will only stop Password Safe from storing more passwords in this entry.

Copy a password

Clicking on a row in the list of recent passwords will copy the password displayed in that row to the clipboard.

Clear History

Clicking on this button will clear the previous passwords stored with this entry.

Note: The entry is not actually modified until you click on the OK button in the Edit/View Entry dialog box. If you clicked on Clear History by mistake, just click on Cancel instead of OK in the Edit/View Entry dialog box.

Copy All

Clicking on this button will copy the entire password history list (dates and passwords) to the clipboard.


Changing Safe Passwords

Changing Master Passwords

Key Change dialog box

To change a master password ("Safe Combination"), first open up the database whose password you wish to change. Once opened, go to the Manage menu and select Change Safe Combination. You should enter the current master password, and then the new master password (twice, for confirmation). The master password can be entered using the physical or virtual keyboard.

Password Safe has a built in check for what it considers to be weak master passwords. In general, a master password (like any password) should consist of mixed case characters with at least one number or special character (such as those found above the number keys on a keyboard). If a master password is entered that the program considers weak, it will prompt for confirmation. You may the option to accept the originally entered (weak) password, or to enter a new one.

Notes:
  • There is no mechanism within Password Safe to retrieve lost or forgotten safe passwords.
    This is a deliberate design decision, since any mechanism for retrieving lost passwords poses a security hole that can be exploited.
  • Please choose a difficult-to-guess password. A trivial password, such as "password" or your name is easy to guess, and negates the security that Password Safe provides.


Auto Type

Auto Type provides a means for users to easily and quickly enter user name and password information. With a single click, the user name and password are entered and the data is submitted to the host for approval. By default, the formula followed by the automated keystrokes is as follows: the user name, followed by a tab key, followed by the password, another tab, and then the enter key (username TAB password TAB ENTER). This works fine for most web sites that require username/password authentication.

For web sites or applications that require different data, it is possible to tailor the autotype behaviour as described in the Customizing Auto Type section below. Note that you can also customize the default autotype text via the Misc. tab in the Options dialog box. This can be useful if, for example, the autotype is too fast for your machine.

Using Auto Type

  1. Place cursor in the form's user name field
  2. Maximize or open Password Safe
  3. Select a password entry
  4. Ctrl -T or right-click and select Perform Auto Type or click on the Toolbar button to initiate.

Customizing Auto Type

For web sites or applications that do not have the username field followed by the password field followed by the login button, you can modify the behaviour by filling in the "Autotype" field with text that specifies the desired behavior as follows:

  • \u is replaced by the username associated with the entry.
  • \p is replaced by the password associated with the entry.
  • \g is replaced by the group associated with the entry.
  • \i is replaced by the title associated with the entry.
  • \o is replaced by the contents of the (possibly multilined) Notes field.
    • Any end of line characters '\n', '\r' or '\r\n' are converted to '\r' (carriage return).
    • No substitution is made to escape sequences within the Notes field (e.g. '\u', '\p' etc.) except for the '\t' sequence which is replaced by the tab character.
  • \oNNN is replaced by the contents of the nth line of the Notes field
    • NNN can be one to three digits (e.g., \o5 for the 5th line, \o45 for the 45th, etc.
    • End of line characters are not included.
    • if NNN is larger than the number of lines in the notes field, then this has no effect.
    Note that this is a convenient way to support autotyping for applications that require a second password or other arbitrary text as part of the authentication process.
  • \b is replaced by the backspace key.
  • \t is replaced by the Tab key, in effect skipping a field.
  • \n is replaced by the enter key, in effect pressing a button.
  • \\ is replaced by the backslash (\) key.
  • \dNNN sets the delay between characters to NNN milliseconds, instead of 10 (the default). This changes the delay for the current and all subsequent characters. For example, "fast\d500slow" will result in 'fast' being typed with the default delay, and the letters 's', 'l', 'o', and 'w' typed with a half-second pause before each. if you want to put in a one-time delay that does not affect the speed of the following characters, use '\w' or '\W', as described below.
  • \wNNN or \WNNN introduces a delay of NNN milliseconds for \w, or seconds if \W is used. For example, "how\w500now" will cause 'how' to be typed (at the default rate or that specified by the last \d), followed by a half-second pause, followed by 'now' typed at the same rate as 'how'). Likewise, "how\W2now" will introduce a two second pause between the two words. This is useful for fine-tuning the timing with certain web pages.
  • \z invokes the old AutoType mechanism. This mechanism may handle non-Latin characters incorrectly, but can make Autotype work on certain problematical web sites. If you find that Autotype does not work properly on a particular web site, try this code in the autotype command field.
  • All other text is typed as-is.

Example: The following can be used where the bank account number (12345) must be entered before the user and password:

12345\t\u\t\p\t\n

Note: If you are having problems with autotype, you might want to disable 3rd-party popup-blockers. Users have reported problems with the interaction of popup-blockers with the autotype functionality.


Backing Up and Restoring Databases

Since the information stored in a password database is usually both sensitive and important, Password Safe provides several mechanisms for backing up and restoring password databases. This section describes how to manually make backups of your password database Password Safe can also be configured to makeautomatic backups of your database whenever the database is saved. Such backups are called intermediate backups, and are described here.

Make a Backup

Safely create a copy of the current password database.

  1. Click Make Backup
  2. Select a location for the backup file
  3. Click Save

Note: It is strongly recommended that you make frequent backups of your password databases. This will help safeguard password lists against system crashes or corrupted files. The backup is encrypted using the same master password as the current database being backed up. In particular, via the Backups tab in the Options dialog box, you may specify how many backups to keep (we recommend a minimum of 3 to 5) and whether to use an incremental number or date/time value in the backup file name.

Restore from Backup

Restore a backed up password database file.

  1. Click Restore from Backup
  2. Navigate to the backup location and select the file to restore
  3. Click Open and a password prompt will be displayed.
  4. Enter the database password and click OK
Notes:
  • The restored database is not "saved" with the standard Password Safe database extension (.psafe3) until you have selected Save or Save As from the file menu. You will be prompted to "Save" the database and give it a name if you have not saved it prior to exiting the application.
  • In addition to the backup and restore described here, Password Safe

    automatically keeps a copy of the database before you save a change. The copy is in the same directory as the current database, and the name is identical, except for the extension, which is ".ibak", meaning "incremental backup", instead of ".psafe3". See here for more information about the automatic backups.


Backups Tab

The Backups Tab allows you to configure how automatic backups are created and managed.

Save database immediately after Edit or Add

When checked, Password Safe saves all changes made to a password entry immediately, without waiting for the user to use Save or Save As and without confirmation.

Create intermediate backups (.ibak) before saving

When checked, Password Safe will copy the database before each save. The names and location of the backup copies are defined in the following fields, as well as how many copies back should be kept.

Backup Name

The names of the backup files consist of Base (by default, the name of the database without the .psafe3 extension), and Suffix (none, a running count, or the date/time of the backup). Here you can configure what the backups will be named, and how many will be saved (Password Safe will automatically erase the oldest databases beyond the number of backups that you specified. Note that Password Safe will only erase old databases if the suffix is an incremented number (running count).

Backup Directory

By default, Password Safe will store the backups in the same directory as the currently open database. In this field you can specify an alternate location, such as a special backup directory, network drive, disk-on-key, etc. Of course, you must have write permission to the location you specify.


Failsafe Backups

When Password Safe exits normally, you are prompted if there are unsaved changes to the database. However, if you log off your Windows session, shutdown or restart your PC, then Password Safe may not have the opportunity to prompt you (the exact behaviour depends on the type of shutdown and the version of Windows).

In this case, Password Safe will attempt to make a "Failsafe Backup" (file extension 'fbak'). This will be created in the same directory as the currently open database. The current database and its "regular" backups will not be touched.

When the original database is opened again, Password Safe will check for the existence of any Failsafe Backup file and, if found, will display a dialog similar to that below.

Failsafe Backup Display during Open

The first row is the specified database followed by general information about it (the same as shown in the Properties dialog from the File menu). This is followed by the Failsafe Backup file(s). If they can be opened with the same passphrase as the currently open database, then their properties are also displayed. If they have a different passphrase or are not a valid database, then a 'No' is displayed in the Passphrase column and no properties are displayed.

Your choices are as follows:

  • Continue

    Clicking on this causes Password Safe to ignore all Failsafe backup files and continue with the currently selected database.

  • Select

    The selected Failsafe Backup file will be opened instead of the currently selected database.

  • Delete

    This will delete the selected Failsafe Backup file. If Windows supports a Recycle Bin on this media (usually only local disks), it will be moved there. If not, it will be permanently deleted.

  • Exit

    If this is the first database opened on the startup of Password Safe, Password Safe will exit. If not, the new open will be cancelled and the existing opened database, if any, will remain open.

  • Help

    Displays this Help topic.

Suggestions:

  • If you are unable to choose, continue with the current database and use the database Compare function from the File menu to show the exact differences between the current and the Failsafe backup(s).
  • If you do open a Failsafe Backup and have decided that it is the version you wish to keep, you should save it as a normal database. When you do, consider renaming the original first or save the Failsafe Backup with a completely new name.
  • Once you are satisfied that you have recovered the correct database, either the original or a Failsafe Backup, you should delete any old Failsafe Backups so that you will not be prompted to decide at a later date. Note: If you use this dialog to delete these files, they will be sent to the Recycle Bin, if your version of Windows supports it on the media containing them.

Note: There is nothing that ANY application can do to save information if the PC is just switched off, loses power or the processor, the hard disk or any other component fails. As with all data important to you, you should backup your data to another media regularly. This could be to USB pen drives, external hard disks, network drives, CDs or DVDs etc. These backups should be stored somewhere safe.


Importing Entries

Password Safe allows you to import password information from other formats. These files may be generated by other applications, exported from a spreadsheet, or even written by hand using Notepad or a similar text editor.

The formats that Password Safe supports are:

  • Text
  • XML
  • KeePass V1 TXT and CSV Files
  • KeePass V2 via KeePass V1 CSV Files
  • KeePass V1 and V2 XML Files

Password Safe generate a report at the end of the import operation, summarizing what was done and noting any problems that may have occurred. This report may be copied to the clipboard or saved to disk as a text file in the same directory as the database. The "View → Reports" menu item may then be used to view the reports at a later date. The name of the report file is fixed and depends on the function that created it. If the same function is repeated and its report saved to disk, any existing report for this function will be overwritten. Note: The report may contain sensitive data and care should be taken when selecting the "save to disk" option.

Note: You can also 'import' a subset of entries from another Password Safe database, by opening the other database with Password Safe (assuming you permit multiple instances via "Manage → Options → System" tab). Then you can simply drag and drop any entries or groups to your open database from this 'import' database.

Text Format

Text files used to import password entries consist of one or more password entries. Each field within an entry is separated by a field separator and each entry may consist of one or more lines. Details on the expected format of the imported text file may be found in the "Plain Text Export & Import Format" section.

Import Text Settings Dialog

The field separator used in the text file being imported and a default group name to import the new entries into can be configured before processing the file.

Import Text Settings

  1. "File → Import From...."
  2. Select Plain Text...
  3. Set import settings and parameters for the text file being imported
  4. If a Notes field multi-line delimiter character has been used, either in a previous Export or using a text editor, enter it here so that, during the Import process, the Notes field will be split into multiple lines by replacing this character by a newline.
  5. Click OK
  6. Select the text file to import.
  7. At the end of the import process, a small dialog box appears showing how many entries were added, and how many (if any) were unsuccessfully parsed.
IMPORTANT: The first line of the file being imported must be a tab-separated list of the names of the fields that each entry contains, e.g., "Group/Title Username Password URL", etc. This line is generated automatically by the "Export Text" function, but must be added manually for files created from other tools.

XML

XML (eXtensible Markup Language) is a popular format for transferring data between applications. Password Safe can import XML files that were generated according to the schema defined in the file pwsafe.xsd, which is provided as part of the distribution.

KeePass V1 TXT and CSV Files

The recommended import of KeePass V1 database entries is via XML as described below.

TXT File

You may also import a TXT file exported from Keepass V1 (tested on files created by V1.19b).

The following fields are converted to the Password Safe equivalents:

Each new entry starts with a line beginning with '[' and ending with as ']'. The text between these will be imported as the 'Title' of this entry.

Each piece of information is on one line and the following tags are at the beginning of each line:

  • "Group: " becomes the entry's Group
  • "Group Tree: " becomes the entry's group hierachy to the root
  • "User Name: " becomes the entry's User Name
  • "Password: " becomes the entry's Password
  • "URL: " becomes the entry's URL
  • "Notes: " becomes the entry's Notes
  • "UUID: " becomes the internal unique ID of the Password Safe entry
  • "Creation Time: " becomes the entry's creation time
  • "Last Access: " becomes the entry's last accessed time
  • "Last Modification: " becomes the entry's password and the entry's last modification time
  • "Expires: " becomes the entry's expiry date

The following fields are currently ignored:

  • "Icon"
  • "Attachment Description"
  • "Attachment" - do NOT export this field as it can make the export file extremely large.

Note that times in Password Safe must be earlier than January 19, 2038. Any time later than this is currently treated as invalid and the associated field is unset.

Please note, you MUST check the box "Encode/replace newline characters by '\n'" during the export from Keepass V1 or the import may fail or give unexpected results.

CSV File

You may also import a CSV (Comma Separated Values) file exported from Keepass V1 (tested on files created by V1.19b).

The following fields are converted to the Password Safe equivalents:

  • "Password Groups" becomes the entry's Group
  • "Group Tree" becomes the entry's group hierachy to the root
  • "Account" becomes the entry's Title
  • "Login Name" becomes the entry's User Name
  • "Password" becomes the entry's Password
  • "Web Site" becomes the entry's URL
  • "Comments" becomes the entry's Notes
  • "UUID" becomes the internal unique ID of the Password Safe entry
  • "Creation Time" becomes the entry's creation time
  • "Last Access" becomes the entry's last accessed time
  • "Last Modification" becomes the entry's password and the entry's last modification time
  • "Expires" becomes the entry's expiry date

The following fields are currently ignored:

  • "Icon"
  • "Attachment Description"
  • "Attachment" - do NOT export this field as it can make the export file extremely large.

Note that times in Password Safe must be earlier than January 19, 2038. Any time later than this is currently treated as invalid and that the associated field is unset.

Please note, you MUST check the box "Encode/replace newline characters by '\n'" during the export from Keepass V1 or the import may fail or give unexpected results.

KeePass V2 via KeePass V1 CSV Files

The recommended import of KeePass V2 database entries is via XML as described below.

Password Safe cannot import any file created by KeePass V2 - even the KeePass V1 CSV format available from this program. However, it is possible to export a KeePass V2 database as a KeePass V1 database. You may then export this to either a TXT or CSV file and imported as described above.

KeePass V1 and V2 XML Files

Password Safe cannot directly import a XML file exported by KeePass V1 or V2 as the fields are too different. However, we have provided XSL Transform files (KPV1_to_PWS.xslt and KPV2_to_PWS.xslt). The programs listed below may be used to process the exported XML file with one of these XSLT files to produce a Password Safe compatible XML file that can then be imported to Password Safe V3.26 or later.

The XSLT files conform to V1.0 of XSLT as described in http://www.w3.org/TR/xslt and have been tested with XML files created by KeePass V1.19b and KeePass V2.15.

Note that times in Password Safe must be earlier than January 19, 2038. Any time later than this is currently treated as invalid and that the associated field is unset.

Under Windows, the following XSLT processors support the supplied XSL Transform files. The example command line execution of these processors assume:

  • The style sheet to convert the KeePass XML file to a Password Safe XML file is: KPV1_to_PWS.xslt or KPV2_to_PWS.xslt.
  • The input KeePass V1 or V2 XML file is: KeePassV1.xml or KeePassV2.xml
  • The output Password Safe XML file will be: PWS.xml
  • All input and output files are in the same directory as the XSLT processor. If not, you will need to enter the full path of these files.
  1. The command line program from Microsoft (XSLT Processor Version 4.0). The properties of the file msxsl.exe state that it is V1.1.0.1 and dated 2001, although the web site states that it is V2.0 and dated 19 September 2004. It can currently be found at http://www.microsoft.com/downloads. It requires Microsoft Core XML Services (MSXML) V4.0 to be installed. Whilst the latest MSXML version is V6, V4 is normally installed on all versions of Windows supported by Password Safe.

    For KeePass V1 XML file use the command:

    msxsl KeePassV1.xml KPV1_to_PWS.xslt -o PWS.xml
    For KeePass V2 XML file use the command:
    msxsl KeePassV2.xml KPV2_to_PWS.xslt -o PWS.xml
  2. AltovaXML Community Edition (current version 2011r3). See http://www.altova.com/altovaxml.html.

    For KeePass V1 XML file use the command:

    AltovaXML -xslt1 KPV1_to_PWS.xslt -in KeePassV1.xml -out PWS.xml
    For KeePass V2 XML file use the command:
    AltovaXML -xslt1 KPV2_to_PWS.xslt -in KeePassV2.xml -out PWS.xml
  3. Saxon-HE (Home Edition) (current version 9.3.0.5). See http://saxon.sourceforge.net/. There is also a graphical front-end for Saxon called Kernow. See http://kernowforsaxon.sourceforge.net/. The format of the command depends on whether you use the Java or .Net version of Saxon-HE and/or Kernow. Please refer to the product's documentation for further information.

All these programs are free, although Kernow needs to be registered if used more than 100 times.

KeePass V1 XML Special Processing

  • If a KeePass group contains a dot ('.'), it is converted to a forward slash ('/') when added to Password Safe, since dots are used as group delimiters by Password Safe.
  • All 'carriage return' characters are removed from the Notes field and all 'newline' characters are converted to the normal Password Safe delimiter '»' used to denote new lines within the Notes field.
  • The KeePass entry's UUID will be transferred to the Password Safe entry unless it is already used within that database (which is very unlikely), in which case a new value will be calculated during import.
KeePass V1 XML Elements | Password Safe XML Element Equivalent
<group> | <group>
<title> | <title>
<username> | <username>
<password> | <password>
<url> | <url>
<notes> | <notes>
<lastmodtime> | <pmtimex> and <rmtimex>
<creationtime> | <ctimex>
<lastaccesstime> | <atimex>
<expiretime> | <xtimex>, if the KeePass <expiretime> attribute "expires" is 'true'
<image> <attachdesc> <attachment> | These have no Password Safe equivalent and are ignored

KeePass V2 XML Special Processing

  • The '<HistoryMaxItems>' field from the '<Meta>' section of the KeePass V2 XML file is used as the maximum number of passwords to be saved in an Password Safe's entry password history. All other fields in this section are ignored.
  • If a KeePass group contains a dot ('.'), it is converted to a forward slash ('/') when added to Password Safe, since dots are used as group delimiters by to Password Safe.
  • All 'carriage return' characters are removed from the Notes field and all 'newline' characters are converted to the normal Password Safe delimiter '»' used to denote new lines within the Notes field.
  • The KeePass entry's UUID will be transferred to the Password Safe entry unless it is already used within that database (which is very unlikely), in which case a new value will be calculated during import.
  • If the '<DefaultAutoTypeSequence>' field is present within a KeePass group is used as the default Password Safe Autotype field for entries within that group.
  • If an entry's '<AutoType>' field is set to 'True' and the '<DefaultSequence>' is not empty, then this is used as the Password Safe's entry's Autotype sequence. If it is 'True' but '<DefaultSequence>' is empty, then the '<DefaultAutoTypeSequence>' field from the parent group is used as the Password Safe's entry's Autotype sequence.
  • If the '<OverrideURL>' field is not empty, its value is inserted into the Notes field and prefixed by "OverrideURL:" and the URL field is prefixed by "[alt]".
  • If the URL string begins with "\\" or "cmd://" (case insensitve) the field is placed in the Password Safe's entry's Run Command field and Placeholder substitution is performed (see below). If neither of these prefixes appear in the URL string, it is placed in the Password Safe's entry's URL field with only {S:FieldName} substitution.
  • If the '<Tags>' field is not empty, its value is inserted into the Notes field and prefixed by "Tags:".

KeePass V2 exports all strings, e.g. Title, in a "String" section with "Key" and "Value" sub-elements. For example:

<String>
    <Key>Title</Key>
    <Value>Test title</Value>
</String>

The following table shows the conversion of these to the Password Save equivalent XML element.

KeePass V2 String Keys | Password Safe Entry XML Element Equivalent
Title | <title>
Username | <username>
Password | <password>
URL | <url> or <runcommand> depending on the prefix (see notes above)
Notes | <notes>
All others | Inserted into the Password Safe Notes field in the form: "Key: Value"

KeePass V2 exports all date/time fields, e.g. creation time, in a "Times" section. For example:

<Times>
  <LastModificationTime>2011-05-30T14:20:57Z</LastModificationTime>
  <CreationTime>2011-05-27T18:09:29Z</CreationTime>
  <LastAccessTime>2011-05-30T14:20:57Z</LastAccessTime>
  <ExpiryTime>2999-12-28T23:59:59Z</ExpiryTime>
  <Expires>False</Expires>
</Times>

The following table shows the conversion of these to the Password Save equivalent XML element.

KeePass V2 Time Values | Password Safe Entry XML Element Equivalent
<Times>/<LastModificationTime> | <pmtimex> and <rmtimex>
<Times>/<CreationTime> | <ctimex>
<Times>/<LastAccessTime> | <atimex>
<Times>/<ExpiryTime> | <xtimex> if <Times>/<Expires> is 'True'

KeePass V2 can create an history section when anything is changed in an entry. Password Safe only saves password changes. All other saved changed fields in the KeePass XML element are ignored.

KeePass V2 History | Password Safe Entry XML Element Equivalent
<Times>/<LastModificationTime> | <history_entry>/<changedx>
<String[Key='Password']> | <history_entry>/<oldpassword>
All other tags from <History> | Ignored

The following KeePass V2 Auto-type special codes (see http://keepass.info/help/base/autotype.html) are translated as follows. All codes not listed are copied across as-is.

KeePass V2 Auto-type | Password Safe Equivalent
\ | \\ (escaping '\')
Tab {TAB} | \t
Enter {ENTER} or ~ | \n
Backspace {BACKSPACE}, {BS} or {BKSP} | \b
Keypad + {ADD} | +
Keypad - {SUBTRACT} | -
Keypad * {MULTIPLY} | *
Keypad / {DIVIDE} | /
+ {+} | +
^ {^} | ^
% {%} | %
~ {~} | ~
(, ) {(}, {)} | (, )
{DELAY X} Delays X milliseconds. | \wX (\WX)
{DELAY=X} Sets the default delay to X milliseconds for all standard keypresses in this sequence. | \dX

The following KeePass V2 Placeholders (see http://keepass.info/help/base/placeholders.html) are translated as follows. All codes not listed are copied across as-is.

Placeholders are case-insensitive. Custom strings can be referenced using {S:Name}. For example, if the database has a custom string named "eMail", it can be referenced via the placeholder {S:eMail}.

KeePass V2 Placeholder | Password Safe AutoType | Password Safe Run Command
{GROUP} | \g | ${G}
{TITLE} | \i | ${t}
{USERNAME} | \u | ${u}
{PASSWORD} | \p | ${p}
{NOTES} | \o | ${n}

KeePass V2 Placeholder | Password Safe Run Command
\{ | \\{ (escaping \)
$ | \$ (escaping $)
{GROUPPATH} | ${g}
{URL} | ${url}
{URL:RMVSCM} | ${url}
{APPDIR} | ${appdir}
{DB_PATH} | ${fulldb}
{DB_DIR} | ${dbdir}
{DB_NAME} | ${dbname}.${dbextn}
{DB_BASENAME} | ${dbname}
{DB_EXT} | ${dbextn}
All others | Copied unchanged


Exporting Entries

Password Safe supports exporting (and importing) of the stored passwords to (and from) various formats. To export data use the "File → Export To" menu. The supported formats are:

  • Password Safe v1 (for use by versions 1.x of Password Safe)
  • Password Safe v2 (for use by versions 2.x of Password Safe)
  • Plain text
  • XML

For previous versions of Password Safe, just select the desired format and specify the name of the database file you wish to create.

In addition, to 'export' a subset of entries to another Password Safe database, just start Password Safe (assuming you permit multiple instances via "Manage → Options → System" tab) and create a new database, whilst having your normal database open in another instance. Then you can simply drag and drop any entries or groups from your open database to this 'export' database.

Export uses a Wizard interface. You may also select the Advanced field selection in order to restrict which entries you export and which field of these entries you export from your current database. See here for more details.

A report of the actions taken will be available on completion and this may be copied to the clipboard or saved to disk as a text file in the same directory as the database. The "View → Reports" menu item may then be used to view the reports at a later date. The name of the report file is fixed and dependent on the function that created it. If the same function is repeated and its report saved to disk, any existing report for this function will be overwritten. Note: The report may contain sensitive data and care should be taken when selecting the "save to disk" option.

Text Export

Note: The exported text is an unprotected copy of the specified password entries. Deleting this copy after use is not sufficient for making it inaccesible to a determined attacker and in effect bypasses the security of the program. Please DO NOT use this function unless you understand and accept the risks.

Password Safe allows you to export password entries to text files. These files may then be used or modified by other applications.

You will be asked to enter the master password or safe combination to confirm that you may export the database into a clear text unencrypted file before you can export its contents. You will also be required to supply the name of the new file and to confirm overwriting of it if a file of the same name if it already exists in the directory you specified.

Export Text

You can also specify some options:

  • Password entries will be exported with a tab character between fields i.e., between the Group.Title, Username, Password and the Notes fields. The "Group.Title" is considered a single field. Any field containing a blank will be output inside double quotation characters. Only the Notes field can contain multiple line entries. The normal processing is to place each Notes line on a separate line in the exported text field. However, this makes it difficult to sort or to use when comparing two different export files. To overcome this, you may specify a delimiter to separate multiple lines when exporting them. If you are going to import a text file created with such a delimiter, then it must be specified, all the Notes lines will appear as one single line in the resulting database.
    If required, tick that you want to put all separate lines in the Notes field onto one line and enter the character to be used as the delimiter. Since the whole Notes field is enclosed between double quotation marks, this character is prohibited from being selected as the multi-line delimiter.

Advanced Text Export Options

Selecting "Advanced field selection" will display this Wizard page to allow you to export only some of the entries, based on the text in specified fields, and/or specify which fields are to be exported. See here for more details.

Note: Details on the format of the exported text file may be found in the "Plain Text Export & Import Format" section.

XML

XML (eXtensible Markup Language) is a popular format for transferring data between applications. Password Safe can export (and import) the database entries to this format. The structure (or schema) against which the data is exported and validated is defined in the file pwsafe.xsd, which is provided as part of the distribution. This file is used by Password Safe when XML data is imported, and should be provided to applications that wish to use the exported data.

Note: The exported text is an unprotected copy of the specified password entries. Deleting this copy after use is not sufficient for making it inaccesible to a determined attacker and in effect bypasses the security of the program. Please DO NOT use this function unless you understand and accept the risks.

The display of XML files is specified by pwsafe.xsl - an eXtensible Stylesheet Language file. A sample file, which may be modified for your own needs, is supplied as part of the distribution. This file is only an example and you can easily modify it to display whatever fields you want to show. As this only displays the data and will not alter it, you will still be able to import it into Password Safe at some later time.

As in the Text Export option, you can control what entries and field to export to the XML file by selecting the "Advanced field selection". This will display the following Wizard page:

Advanced XML Export Options

Selecting "Advanced field selection" will display this Wizard page to allow you to export only some of the entries, based on the text in specified fields, and/or specify which fields are to be exported. Note: that the XML schema requires the Title and Password fields, hence these cannot be deselected. See here for more details.


Filters

A "filter" is a criteria (or set of criteria) that an entry either matches or doesn't match. Password Safe allows you to define filters, and display only those entries that match a given filter. You can define a filter for a one-time query, or you can define several filters, naming them and store them persistently, for repeated use. Filters may be either stored along with the database, or externally, for sharing the same filter across several databases.

Defining a Filter

To define a new filter, select the "View → Filter → New/Edit Filter" menu entry. The following dialog box will be displayed:

Display Filter dialog box

As you can see, each Filter consists of one or more rows, where each row defines a criteria on a given field. The conditions defined in each row can be either "and" or "or" the condition defined in the previous row. This allows you to define the following kinds of filters:

  1. All entries with a username containing "joe" or "Joe" or "JOE":
    example1
  2. All entries with a username "Joe" (exactly) created after May 1st 2008
    example2
  3. All entries with a username containing "joe" or "mary"
    example3

As you can see, the filters can be arbitrarily complex.

The columns in the Filter table are as follows:

  • '#' - This is the row number. It's displayed for convenience, and cannot be modified.
  • '?' - The checkbox in this column determines if the row is active or not. Only active rows are used when applying the filter. Clicking on the checkbox enables/disables the row.
  • '+' - Click on this to insert a new row below a given row.
  • '-' - Click on this to delete the current row. Note: ince deleting a row is permanent, you might wish to disable it instead.
  • 'And/Or' - This allows you to determine the relation of the rule you're adding to the previous rule.
  • 'Field' - Select the entry field you're interested in, e.g., username, title, group, notes, etc.
  • 'Criteria' - Define the value you're interested in for the selected field. Once you've selected a field, clicking on this will bring up a dialog box allowing you to specify the criteria, which is the displayed in the table.

Applying a Filter

Once you've defined a filter, clicking on 'Apply' will apply the filter on the entries in the database, while leaving the Set Filter dialog box open. This is useful for fixing and refining the filter based on the results. Clicking on 'OK' will also apply the filter, but will close the Set Filter dialog box.

Managing Filters

Set/Edit Filter is a good way to work with filters for a one-time task. If, however, you find that you have several filters that you wish to use repeatedly, then you can store them and manage them effectively via the "View → Filter → Manage..." dialog box

Manage Filters

The Manage Filters dialog box has two tables. The upper table lists the filters, and the lower table displays the contents of the currently selected filter.

  • To add a new filter, click on New. This is equivalent to selecting the "View → Filter → New/Edit Filter" menu entry.
  • To edit an existing filter, select is and then click on Edit.
  • To apply an existing filter, click on the Apply checkbox in the desired filter's row. Note that only one filter can be applied at a given time.

Storing Filters

Filters can be stored either as part of the current database, or externally, as XML files. Storing filters externally is a good way to share filters across databases, whereas storing them as part of the database ensures that potentially sensitive information in the filters' definitions is protected.

  • To store filters in an external file: Set the Export checkbox of the filters you wish to store externally, then click on the Export button.
  • To store filters in the current database: Set the Copy to DB checkbox, and then click on the Copy button.
  • To load an externally stored filter: Click on the Import button.
Note:
Upon Startup, Password Safe searches for a file named autoload_filters.xml in the same directory as the pwsafe.cfg file (by default the directory where Password Safe is installed). If such a file exists, then it is automatically imported and the filters it contains are ready for use. This is useful if you've a set of filters that you wish to share across several databases, without having to explicitly import them each time.


Command Line Arguments

Invoking Password Safe with no arguments will cause the application to prompt you for the combination of the last database that was opened, or for the combination of a new database if none was previously opened on your machine (e.g., the first time you use Password Safe). It is, however, possible to modify this by invoking Password Safe as follows:

  • pwsafe database
    This will open the specified database file, instead of the last one opened. If just a filename is given, without a path, it will be searched for in the directory in which the application was invoked. Note that if the filename and/or path has spaces, it should be enclosed in double quotes.
  • pwsafe -r [database]
    This will open the specified database in read-only mode. If a database is not specified, then the application will prompt the user for a database, which will be opened in read-only mode.
  • pwsafe -v database
    This will validate the database after the correct passphrase is entered, correcting internal inconsistencies as necessary. Mostly useful when working with databases written by other applications.
  • pwsafe -e filename
    This will prompt the user for a passphrase, and encrypt the file with a key derived from the passphrase. Note: The file can be any file. The encrypted file will have the same name as the original file, with ".PSF" appended to it.
  • pwsafe -d filename
    This will prompt the user for a passphrase, and decrypt the file with a key derived from the passphrase. Note: This will work only on files that were encrypted by invoking pwsafe with the '-e' option (see above).
  • pwsafe -c
    This will start the application closed, that is, with no database, and without the initial opening dialog (To access a database, use the File menu).
  • pwsafe -s [database]
    This will start the application "silently", that is, minimized and with no database (unless one is specified). When the application is unminimized, the user is presented with the opening dialog box (This option is meant for starting the application upon login, via a shortcut in the user's Startup folder). Note: This implicitly puts the application in the system tray.
  • pwsafe -m
    This is the same as the '-c' option, with the addition that the application is started as minimized.

In addition, the following options are accepted and may be useful if you wish to share the same preferences across several machines, for example, when running Password Safe from a disk-on-key.

  • -u username
    This will cause the application to read and write preferences under the specified username, instead of under the login name.
  • -h hostname
    This will cause the application to read and write preferences under the specified hostname, instead of under the machine's name.
  • -g config_file
    This will cause the specified file to be used for loading and storing preferences, instead of the default pwsafe.cfg. If just a filename is given, without a path, it will be searched for in the directory in which the application was invoked. Note that if the filename and/or path has spaces, it should be enclosed in double quotes.


File Menu

The File Menu contains options related to managing and creating new Password Safe databases.

New

Create a new blank password safe database.

Open

Open an existing password safe database. When presented with the Open dialog, you may specify to open an existing database in Read/Write of Read-Only mode. After opening, the current status will be shown in the Status Bar at the bottom of the Password Safe window. At any time after this, the user may double-click on that part of the Status Bar to switch between these two modes or use a menu item on the "File" menu. It may not be possible to switch a database to Read-Write mode if another user currently has the database open in Read/Write mode.

Close

Closes the currently open password safe database without exiting the application.

Recent

This section of the file menu may list the recently opened database files. This section will be blank if this is the first time Password Safe has been used.

Notes:

  • The list of recently opened files may be cleared by selecting "Clear Recent Safe List"
  • The number of recent files that Password Safe will keep may be configured via the "Manage → Options → System" tab, where you may also configure if you prefer to see the recent files in the File menu, or as a submenu.

Save

Save any changes to the current safe. If no changes have been made since the previous save, or if the database was opened read-only, this choice will be greyed-out.

Save As

Save a copy of the current safe under a new name or location.

Export To

Export the contents of the current database to an external file in either an old Password Safe database format, XML, or as text. See here for more information on exporting the database to other formats.

Import From

Import the contents of a previously exported or correctly formatted text file, XML, or a KeePass V1 password database into the current database. See here for more information on importing text files.

Merge

Merge a Password Safe database or backup file (.bak) into the current database. Disabled in read-only mode. Merge uses a Wizard interface. You may also select the Advanced field selection in order to restrict which entries you merge into your current database.

Compare

Compare the currently opened database with another. Compare uses a Wizard interface. You may also select the Advanced field selection in order to restrict which entries and which fields of these entries you compare between the two databases.

Synchronize

Synchronize the currently opened database with another.

The main difference between Merge and Synchronize is that during a Merge, all elements of the merging database will be taken to the currently opened database. During synchronizing however, only elements in the currently opened database will be updated. Synchronize uses a Wizard interface. You may also select the Advanced field selection in order to restrict which entries and which fields of these entries you synchronize between the two databases.

Note: The Merge, Compare and Synchronize operations may take a long time, especially for large databases.

Properties

Display information about the currently opened password safe database, such as: format version, number of groups, number of entries, and information about when it was last saved and by whom.

Exit

Closes the Password Safe program. If changes were made to the database since the last save, you will be prompted to save the database.

Reports

Note: Compare, Export, Import, Merge and Synchronize all produce a report that can be viewed in a dialog and then copied to the clipboard or saved to disk as a text file in the same directory as the database. The "View → Reports" menu item may then be used to view the reports at a later date. The name of the report file is fixed and dependent on the function that created it. If the same function is repeated and its report saved to disk, any existing report for this function will be overwritten. Note: The report may contain sensitive data and care should be taken when selecting the "save to disk" option.


Edit Menu

Entry | Alias | Group
Menu Edit Entry | Menu Edit Alias | Menu Edit Group

Through the Edit Menu you can add, edit, use and organize user names and passwords. Note that the contents of this menu change according to what's selected in the main view (e.g., if you've selected an entry or a group). Also, some items may be disabled, as noted below.

Add Entry

Add a new user name and password. This is disabled if the database is opened read-only.
See User Names, Passwords, and Groups for more information.

Edit Entry / Expand/Collapse Group

When an entry is selected, Edit the selected user name and password. When a Group is selected (in Tree view), this will expand or collapse the display of entries under the selected group. Editing an entry is disabled if the database is opened read-only.
See User Names, Passwords, and Groups for more information.

Delete Entry / Delete Group

When an entry is selected, this will delete it. When a Group is selected (in Tree view), this will delete all entries under the selected group. Confirmation is requested if there is more than one entry in the selected group. This is disabled if the database is opened read-only.

Rename Entry / Rename Group

Rename the selected entry (or group, in Tree view). This is disabled if the database is opened read-only.

Find Entry

Find an entry containing a given text. By default, all fields except the Password field are searched.
See Searching for more information.

Duplicate Entry

Duplicates the selected entry. This is disabled if the database is opened read-only.

Add Group

Create a new password group (e.g., Banking Passwords). This is disabled if the database is opened read-only.

Undo

The last action will be reversed. Repeating Undo will undo the actions in reverse order, from last to earliest.

Redo

The last undone action(s) will be executed again.

Clear Clipboard

Clear the clipboard's memory. This clears the clipboard of anything that was pasted there by Password Safe (password, username, notes, etc.). If the current contents of the clipboard did not come from Password Safe, then this will have no effect.

Copy Password to Clipboard

Copy the current selection's password to the clipboard.

Display subset of Password

This action displays a window that allows you to specify which characters of a password to display. This is useful for sites that ask for parts of a password to login. For example, a password might be "qAdm3ddENc", and you might be asked to enter the first, third, fifth and eighth letters. This window allows you to do this in a convenient manner: In the upper field you enter the positions of the password characters you want for the subset of the password. You can use spaces, commas or semi-colons to separate the positions. The corresponding characters of the password are shown in the lower field. To quit, please use the Esc key.

Copy User Name to Clipboard

Copy current selection's user name to the clipboard.

Copy Notes to Clipboard

Copy the contents of current selection's notes field to the clipboard.

Copy URL to Clipboard

Copy the current selection's URL field to the clipboard.

Copy email to Clipboard

Copy the current selection's email field to the clipboard.

Copy Run Command to Clipboard

Copy the current selection's Run Command field to the clipboard.

Browse to URL

When an entry is selected, and the entry has a URL associated with it, then this will invoke the default browser to the URL. If no entry is selected, or the selected entry's URL is blank, this command will be disabled.

Unless changed via the "Manage → Options → Security" tab, the entry's password will automatically be copied into the Clipboard.

Browse to URL + Autotype

When an entry is selected, and the entry has a URL associated with it, then this will invoke the default browser to the URL. If no entry is selected, or the selected entry's URL is blank, this command will be disabled.

Automatically input user name and password into the selected input field.
See Using Auto Type for more information.

Send email

Prepare an email to be sent with the data in the current selection's email field. Please ensure that you have an email client installed on your computer.
See User Names, Passwords, and Groups for more information.

Perform Auto Type

Automatically input user name and password into the selected input field.
See Using Auto Type for more information.

Run Command

This will execute the command in the field Run Cmd of the selected entry.
See Using Run Command for more information.

Create Shortcut

When an entry is selected, this allows you to create a reference to the entry, typically in another group. This is useful if you have an entry that "belongs" under more than one group, but you don't wish to duplicate data. A shortcut has a distinct icon associated with it, shortcut, and by default has the name "shortcut to x", where x is the title of the original entry. Of course, you can edit the name, move or delete the shortcut, just like a regular entry.

Go to Base entry

This item will only appear for a shortcut or alias entry. After clicking Go to Base entry the corresponding base entry will be selected.

Edit Base entry

This item will only appear for a shortcut or alias entry. After clicking Edit Base entry you can edit the corresponding base entry to this shortcut or alias.

Export Entry to Plain Text

The selected entry will be exported as plain text. Before exporting, you will be asked to input the Master Password as confirmation that you intend to export data from the the database into an unencrypted text file.
See also Exporting Entries for more information.

Export Entry in XML format

The selected entry will be exported in XML format. Before exporting, you will be asked to input the Master password as confirmation that you intend to export data from the database into an unencrypted XML file.
See also Exporting Entries for more information.

Protect entry / Protect All Entries

The selected entry or group of entries will be protected. A protected entry cannot be modified until it is unprotected. Protected entries are marked with a '#'.

Right mouse click actions

All functions in the Edit menu can also be reached by clicking the right mouse button on the corresponding entry, alias or group.

Entry | Alias | Group
Right click Edit Entry | Right click Edit Alias | Right click Edit Group

All functionality is described in the previous section.


View Menu

View Menu

The View Menu controls the available display options. You can switch between how your entries' user names and passwords are shown: either as a single list (Flattened List) or organized by category (Nested Tree). You can choose whether or not to display a toolbar, and if so, if to use the 'Classic' or 'New Toolbar' icons. The toolbar itself is also customizable. You can also expand or collapse all the groups displayed in the Nested Tree view, filter the entries displayed to match any criteria, select the font in which the entries are displayed and display reports of merge, compare, import and other advanced operations.

Switching Between Nested Tree and Flattened List Views

  1. Go to the View menu
  2. Select Nested Tree or Flattened List

Controlling the Toolbars

To display or hide the toolbar, check or uncheck the Toolbar Visible menu item.
To use "new" or "classic" toolbar icons, select the "New toolbar" or "Classic toolbar" menu item, respectively.

Dragbar

The "Dragbar" is a special toolbar that allows you to paste parts of the currently selected entry by "dragging" the icon specifying the part you want to paste to where you want it to be pasted to. For example, to paste the "Notes" text of a given entry to another application using the Dragbar, select the entry, and then drag the "N" icon from the Dragbar to the application. When you release the left mouse button, the contents of the Notes field will be pasted to the application. The Dragbar will disable ("grey out") icons for fields that are empty for the selected entry.
The 'Autotype' Dragbar button behaves in a slightly different manner: Dragging it to an input area on another Window (e.g. Browser) will cause Password Safe to begin Autotype from there.

Note:There appears to be an issue using the new Autotype Dragbar image with Internet Explorer (tested with V7, V8 & V9) in that any characters typed before the first tab character are lost. This does NOT occur with Firefox and Chrome browsers. Although we have a solution for this (we send a Tab followed by a Shift+Tab to return to the selected window only when using this Dragbar Autotype image), the side-effect is that you can only use the Dragbar Autotype image to replace any existing string in that window by the expanded Autotype string. If dropped in a window of another application the result will depend on how that application processes the Tab and Shift+Tab characters.

To display or hide the Dragbar, check or uncheck the Dragbar Visible menu item.

Expand All

Expands all groups, making all entries visible (Nested Tree view only).

Collapse All

Collapses all groups (Nested Tree view only).

Refresh F5

Refreshes the display either by pressing the F5 key or clicking on this menu item.

Show unsaved changes

If item Save database immediately after Edit or Add in menu Manage → Options → Backups is unchecked, changed item will not be saved, but they will be shown in a different colour. See the next picture

Data with changes
Overview of all entries.

By checking this item, only changed and unsaved items will be shown.

Data, only changes
Overview of all changed entries.

Note: As long as there are some unsaved items, there will be a "*" in the status area at the bottom of the application's window.

Show entries with Expiry dates

If you select this menu item, only entries with an expiry date will be shown in the list. It does not matter that the expiry date is in the past or future.

If there aren't any entries with expiry date, this menu item will be grayed out.

Filters

A "filter" is a criteria (or set of criteria) that an entry either matches or doesn't match. Password Safe allows you to define filters, and display only those entries that matches a given filter. For more information on defining and using filters, see here.

Change Font

Select a different font for displaying entries in the List or Tree views, and for displaying passwords in the Add and Edit Entry dialog boxes.

Reports

View the results of merge, compare, import and validate operations.


Manage Menu

manage menu

The Manage Menu is where all of Password Safe's options and settings are controlled.

Change Safe Combination

Selecting this option brings up the Change Safe Password dialog.

See Changing Master Passwords for more information.

Make Backup

Create a backup copy of the current password database.

See Backing Up and Restoring Databases for more information.

Restore from Backup

Restore a backed up password database file.

See Backing Up and Restoring Databases for more information.

Options...

Selecting Options... brings up a tabbed dialog where many of Password Safe's settings can be viewed and edited. To learn more about a specific tab select it below:

Backups Tab
Display Tab
Misc Tab
Password History Tab
Password Policy Tab
Security Tab
Shortcuts Tab System Tab

Note:
Many of the setting are stored as preferences, as described here.

Validate

After selecting a database, this database will be checked for being completely compatible to Password Safe.

Note: This menu item will only be enabled if there is no database currently opened.

Customize Main Toolbar

This allows you to select which commands appear on the toolbar, and in which order.

Generate Password

This allows you to generate a password with a specified password policy to be put into the clipboard, by pushing Generate. The password in the clipboard can then be used by some other application.

Change Language

If you have installed all the currently available additional language DLLs when Password Safe was installed (which is the default), you will have the ability to switch between these languages on-the-fly via this menu item.

After changing the language, all menus, dialogs and messages will now be in your chosen language.


Help Menu

The Help Menu provides access to miscellaneous resources on and about Password Safe.

Get Help (F1)

Open this help file.

Visit Password Safe Website...

Open the Password Safe home page in a browser.

About Password Safe

This option opens a dialog box showing the version number and copyright notice, as well as letting you check if there's a newer version of Password Safe available. Note that for security, Password Safe will close your database before connecting to the Internet to check for a newer version.

Password Safe About dialog box


Menu Toolbar

There are two different views available for toolbar icons: new and classic. Each of the icons visible on the toolbar provides pop up tips. Simply hover your mouse pointer over the icon and a small tip will appear. For convenience, this topic provides a quick reference for each of the icons.

Note that (as of version 3.11) you can customize which icons appear in the toolbar and the order in which they appear.

Switching Between Menu Icon Views

  1. Go the the View menu
  2. Select Classic Toolbar or New Toolbar

Icon List

Classic | New | Default | Description
 |  | X | Creates a new safe to input passwords.
 |  | X | Opens a dialog to open and switch to another safe.
 |  | X | Closes the current safe.
 |  | X | Saves any changes made to the current safe.
 |  |  | Saves any changes made to another safe.
 |  | X | Copies the selected entry's password to the Clipboard.
 |  | X | Copies the selected entry's user name to the Clipboard.
 |  | X | Copies the selected entry's notes to the Clipboard.
 |  | X | Erases the Clipboard.
 |  | X | Performs autotype for selected entry.
 |  | X | Browse to entry's URL field.
 |  |  | Browse to entry's URL field and execute Autotype.
 |  | X | Adds a new user ID and password entry to the open safe.
 |  | X | Opens the currently selected password entry for editing.
 |  | X | Deletes the currently selected safe entry.
 |  |  | Toggle between List and Tree views.
 |  | X | Collapse all open groups (Tree view).
 |  | X | Expand all groups (Tree view).
 |  |  | Compare the current safe with another.
 |  |  | Merge the current safe with another.
 |  |  | Export data to a text file.
 |  |  | Export data to an XML file.
 |  |  | Import data to a text file.
 |  |  | Import data to an XML file.
 |  |  | View reports of import and merge operations.
 |  | X | Configure options.
 |  | X | Opens this help file.
 |  |  | Runs the command.
 |  |  | Display a subset of the password.
 |  |  | Manage filter.
 |  |  | Edits filter.
 |  |  | Clear and set filter.
 |  |  | Displays the Find bar.
 |  |  | Send an email.
 |  |  | Synchronizes the current safe with another.
 |  |  | 'Undo' the last action.
 |  |  | 'Redo' the last 'undone' action.
 |  |  | Adds a new group to the open safe.


Display Tab

Functions within the Display Tab control how Password Safe and password items are displayed.

Always keep Password Safe on top

If checked, maximized Password Safe will always be the top most window displayed in the monitor, regardless of what other window may have focus.

Show Username in Tree View

If checked, usernames will be displayed in square brackets following the item's name in the Nested Tree view.

Show Password in Tree View

If checked, passwords will be displayed in curly braces following the user's name in the Nested Tree view. However, this option is strongly discouraged in environments where passers-by can view the monitor.

Show Notes as ToolTips in Tree & List Views

If checked, notes to an hovered item will be shown.

Show password in Add & Edit

If checked, passwords that would be hidden in the Add Entry and Edit/View Entry dialogs will be visible by default. You can display or hide the password for a specific entry by clicking on the "Show/Hide" button in the dialog.

Show Notes in Edit

If checked, notes will be displayed by default in edit dialog. If not, you will need to click on the Notes field in order to view the text there.

Word Wrap Notes in Add & Edit

If checked, the words will automatically be wrapped in the window, without an horizontal scroll bar. If not checked, an horizontal scroll bar will appear, if necesarry.

Show Grid Lines in List View

If checked, a light grid line will be shown in the dispay list, making it look like a spreadsheet.

Put Groups first in Tree View

By default, your entries are displayed in strict alphabetical order in the tree view. When this option is selected, all the groups will be displayed first (in alphabetical order), followed by all top-level entries.

Highlight changed entries

As long as entries are not saved, they will be shown highlighted. If you checked "Save database immediately after Edit or Add" in the Backup tab, entries will never be highlighted, because they get saved immediately.

Warn N days before password expires

If checked, Password Safe will scan all entries when reading a database (typically when starting up), and display a list of the whose expiration date is N days or less from the current date.

Initial tree view

This determines how your entries will be displayed in the tree view when you open the database.

Initial system tray icon

This allows you to change the colour of the system tray icon displayed when Password Safe is initially started and when there's no open database.


Misc Tab

Misc tab

Various miscellaneous program defaults are displayed in the Misc Tab.

Confirm deletion of items

When checked, a user prompt requesting confirmation will be displayed every time you try to delete a password entry.

Record last access times

When checked, Password Safe records the time each entry was accessed (e.g., when the password was copied, or when the entry's details were viewed, etc.). The time is stored with the entry, and may be viewed in the entry's dialog box.

Notes:
  • When this is enabled, the database will be modified even when no entry was edited. This means you may be prompted to save the database upon exit, even though you didn't explicitly change anything.
  • When the database is opened in read-only mode, the access times are not updated.

Escape key closes application

When checked, Esc can be used to close Password Safe when the program is maximized. Note that if the System Tray is enabled (via the Put Icon in System Tray option), then Esc just closes the main window, which can be re-opened by double-clicking on the icon in the System Tray.

Hot Key

When checked, pressing the keys in the sequence to the right will restore Password Safe from the system tray, if minimized, or bring it to the front, if obscured by other applications. The sequence may be changed when the option is checked.

Double click action

This allows you to define what action Password Safe will take when you double-click on an entry. The default is to copy the entry's password to the clipboard. The available actions are:

  • Autotype
  • Browse to URL
  • Browse to URL + Autotype
  • Copy notes to clipboard
  • Copy password to clipboard
  • Copy password to clipboard, minimize
  • Copy username to clipboard
  • Run Command
  • Send email
  • View/Edit selected entry

Note th at last item, copy password and then minimize, won't work as expected if the "Clear clipboard on minimize" option is selected in the Security Options tab.

Autotype

  • Minimize after autotype By default, Password Safe minimizes when autotyping. If this checkbox is cleared, Password Safe will move "behind" all displayed windows instead.
  • Default Autotype String Here you can specify the autotype string to use by default for all entries. Note that you can override this on a per-entry basis. This option is useful, for example, if you wish to change the delays for all entries. See here for more details on autotype.

Default Username

This allows you to set a default user name that will be used automatically every time a new password entry is generated. when checked, the name entered will be inserted into new entries' user name field as the default. Of course, you can edit it if needed.

Alternate Browser

The browser you specify in this field will be used when using the "Browse To" function for a selected entry, when the entry's URL has "[alt]" before the URL, e.g., "[alt]http://www.foo.net". This is useful, for example, if your default browser is Firefox, and you wish to access a website that works best with Internet Explorer, in which case you should specify the Internet Explorer as your alternate browser (typically "C:\Program Files\Internet Explorer\iexplorer.exe).

You can specify command line options to the browser via the Browser command line parameters field.


Setting a Password Policy

Managing the Password History

password history

When you change an entry's password, Password Safe can record the previous passwords associated with the entry. This can be useful, for example, if the change failed to take effect at the site associated with this entry. This option specifies if recent passwords are stored by default for new entries. You can always override this for a given entry in the Add Entry or Edit/View Entry dialog boxes.

Save N previous passwords per entry

Selecting this checkbox and setting the corresponding value defines the default password retention for new entries.

Manage password history of current entries

This section allows you to modify the password history tracking of existing entries, as follows:
  • No change - as is says.
  • Stop saving previous passwords - This is the equivalent of clearing the "Keep N lastpasswords" checkbox in all the entries in the database. Note that no history will be lost, only no further password changes will be tracked until history saving is re-activated.
  • Start saving previous passwords - This is the equivalent of setting the "Keep N last passwords" checkbox in all the entries in the database. Entries with no history will save up to the above number of passwords. Entries with password history will track changes, but the number of entries tracked will not change.
  • Set maximum number of password saved to above value - All entries will save up to the above number of passwords. However, no history will be lost if an entry has more than this number of entries stored.


Security Tab

The Security Tab provides access to user controlled security settings. Ease of use and program security are affected by the options listed here, but the underlying encrypted password database is not.

Clear clipboard upon minimize

When checked, the program clears clipboard contents of any stored data (such as a password) when the application is minimized. This prevents anyone else or any other program from reading the contents of the clipboard. Note that selecting this option with the "Copy password to clipboard, and then immediately minimize" double click action in the Misc Options tab will lead to unexpected results (the password will be copied, but immediately cleared).

Clear clipboard upon exit

When checked, the program clears clipboard contents of any stored data (such as a password) when the interface is minimized or closed. This prevents anyone else or any other program from reading the contents of the clipboard.

Confirm item copy to clipboard

When checked, a prompt is displayed requesting user confirmation every time a password is copied from the database to the clipboard.

Lock password database on minimized

When checked, locks the password database when the program is minimized. When maximized again for use, a password is required to access the program.

Lock password database on workstation lock

Checking this causes the password database to lock when the workstation is locked, preventing unauthorized access by users that may have access to the workstation.

Lock password database after....

Checking this option and setting a time causes Password Safe to lock the password database after the set interval has passed without user actions in the application.

'Browse to URL' copies password to clipboard

By default, Password Safe copies the entry's password to the clipboard when the user selects the 'Browse to URL' action so that it is ready to paste into the required field. However, many web sites now require other information or no information (e.g. a search engine). by deselecting this option, Password Safe will no longer paste anything into the clipboard during this action.


System Tab

The System Tab provides access to settings that are related to Password Safe's interaction with the system on which it is running.

Put icon in System Tray

If checked, Password Safe will minimize to the the System Tray area. If unchecked, the program will minimize to the task bar.

The icon in the system tray indicates whether the password database is locked ( locked) or unlocked ( unlocked). If it is locked, you will be prompted for the master combination when you try to unminimize it.

Remember last N used entries in System Tray menu

If the Put icon in System Tray option is enabled, you can right-click on the system tray icon to get to the most recently used entries directly, without going through the application's main screen. This option allows you to configure how many recent entries you wish to keep in the system tray icon's list.

Hide System Tray icon (Hot Key MUST be active)

If checked, this will cause Password Safe to hide his icon in the system tray. This functionaltity will only be enabled if the Hot Key to start or reopen Password Safe is active.

Start Password Safe at Login

If checked, this will cause Password Safe to start automatically in the System tray when you log on. Note that you will be prompted for the Safe combination the first time you double-click on the System Tray icon, not before.

Recent Password Safe Databases

These controls allow you to configure how many recently opened databases are displayed in the File menu. Note that you need to exit and restart Password Safe for changes in this control to take effect.

Recent Databases on File Menu rather than as a sub-menu

This option determines how the recently opened databases are presented in the File menu - directly on the menu, or as a sub-menu.

Open database read-only by default

Setting this option will cause Password Safe to open databases in read-only mode by default. This may be useful in a multi-user environment, as by default Password Safe allows write access to the first person who opens the database, and restricts others to read-only mode. With this option, you can determine by site policy who will have write-access to a given database.

Allow multiple instances (requires all instances to be restarted)

Remove Password Safe data from Registry

Prior to version 3.05, Password Safe used the Registry to store configuration data, such as non-default options settings, last database opened, etc. As of this release, this information is split into database-specific and user/machine specific settings, with the latter being stored in a separate configuration file. Selecting this option and clicking on the Apply button will cause the registry settings to be cleared. This is useful if you wish to remove traces of Password Safe on your PC. Note, however, that this means that older versions of Password Safe will revert to default value for some of the settings.

Notes:

  • If previous versions of Password Safe have never been installed, or if the data has already been removed, then the checkbox and Apply button will not be displayed.
  • In rare circumstances, where Password Safe is unable to create or write to the configuration file, the registry will be used.

Migrate Password Safe configuration to user directory

Prior to version 3.22, Password Safe kept application preferences (such as some of the user options, last files opened, window size and location, etc.) in a file in the same directory as the Password Safe executable. This has caused problems with recent versions of Windows when users were not given write access to this directory. Therefore, as of version 3.22, the configuration file (pwsafe.cfg) will be created in the standard location for such files (in the user's 'Application Data' directory).

By default, upgrades to existing installations will not change the existing preference file ("if it ain't broke, don't fix it"). However, if a user wishes to switch to the new setting manually, selecting this checkbox and clicking on 'Apply' will do so.

In more detail: The configuration file is designed to support multiple users from multiple machines. The migration function will move the current user's settings (associated with the current PC) from the configuration file to the new location. If there are other user/machine specific configurations in the file, they will be left untouched. If, on the other hand, there are none left after migration, the empty file will be deleted.

If you wish to share a common configuration file between users and/or across different PCs, you can either keep the file in the executable directory, or specify its location explicitly using the '-g config-file' option, as described in command line arguments.


Shortcuts Tab

The Shortcuts Tab allows you to modify the default keyboard shortcuts (also known as accelerators) for the various actions defined in Password Safe. To change a shortcut (or add a new one), select the row with the action you'd like to change, then click on the 'Shortcut Key' field fo that entry. Any key combination that you select will be defined as the shortcut for this action. For example, to get the File Properties dialog box to appear when Control, Alt and 'p' are pressed, select the "File >> Properties" row, click on the 'Shortcut Key' field, and then press the Control Alt and p key. The text 'Ctrl+Alt+P' will appear in the Shortcut Key field, and once you press OK, the change will take effect. For more details on the keys that can (and cannot) be defined as shortcuts, see here.

Note that you can define shortcuts where there currently are none, as well as replacing the defaults with those of your choosing. The shortcuts will be stored in your preference file, and will be available the next time you start Password Safe.

If you decide to remove a shortcut or revert to the default shortcut for a given action, just select the desired 'Shortcut Key' field and right-click. A popup menu will appear, allowing you to do so. To revert all shortcutsto their default values, click on 'Reset All'.


Aliases

Password Aliases

If you're using a "single sign-on" system that allows you to share the same password across different machines/servers/applications, etc. you can setup Password Safe entries accordingly, so that changing one password affects all other related entries. This is called "aliasing" entries. This section describes how to define and use such aliases.

Summary

The basic idea is to allow one entry's password to be referred to by another. The "referred to" entry is called the base, and the "referring" entry (or entries) is (are) called the alias(es). When an entry is set to be the alias of another entry, the alias's password effectively "follows" that entry's password: If you copy the alias' password to the clipboard, the password that gets copied is the base's. If you change the base's password, this is immediately reflected in all the alias entries associated with the base. Although this may sound complicated, in fact it's quite simple and intuitive to use. The hardest part is setting up the aliases, as described below.

Defining an alias

In Password Safe, an entry can refer to another's password by means of a specially formatted password in the referring entry. The format is the "name" of the referred-to entry enclosed in square brackets. Most of the time, you can think of "name" as synonymous with the title field of an entry, so if the base entry's title is "master", for example, then entering "[master]" (without the quotes) in another entry's password field is enough to define the other entry as an alias of "master".

In the general case, a "name" can contain all of the following fields, separated by colons: Group, Title and User name. Note that if the title is unique in the database, then the other fields are optional. Likewise, if the group and title together or title and user together specify a unique entry, then the corresponding user or group doesn't have to be specified.

In Password Safe entries, only the Title field is mandatory. Group and User name fields are optional as long as the resulting combination of "group/title/user name" is unique. As indicated above, the alias' "password" is in the form [g:t:u] but in fact you only have to specify enough information to uniquely identify the base entry. So, if there is only one entry in the database with title 't', then [t] would be sufficient - since title is mandatory and only one item is given, it is assumed to be the title. If there were more than one entry with this title, you would be warned that this is the case, and you would need to be more specific to identify the base entry by adding either its group or its user name or both! As long as there is a unique entry that fits the information provided, any of the following formats are accepted: [g:t:u], [g:t], [t:u] or [t]. Specifying a colon without a value implies an empty field, e.g. [g:t:] says entry with title 't' in group 'g' and with no user name value and [:t:] says entry with title 't' in the root with no user name value etc.

The following examples should make this clear.

Examples

  1. If the base entry's title is "LDAP Server", and there are no other entries with that title, then an alias will be defined by an entry that has "[LDAP Server]" in the password field.
  2. If there are "LDAP Server" entries in two different groups, say "Dept. A" and "Dept. B", then one can specify an alias to the latter by "[Dept. A:LDAP Server]". Note you do not have to specify the user name if the information you have provided uniquely identifies the base entry.
  3. Different user names can also be used to differentiate between similar base entries, e.g., "[LDAP Server:Joe]" and "[LDAP Server:Mary]".
  4. Finally, all three fields may be specified, as in "[Dept. A:LDAP Server:Joe]"

Display

Base entries, that is, entries with at least one alias "pointing" to them, are displayed with a green triangle instead of a green square in the nested tree view.

Alias entries are shown with white triangles.


Plain Text Export & Import Format

Notes on Plain Text Export & Import

Warning: The Export of sensitive information from a Password Safe database to a text file has serious security consequences. This operation will create an unprotected copy of the passwords in the database. Deleting this copy after use is not sufficient and other actions should be taken to properly erase the data (e.g. third party 'shredding' utilities). The export of sensitive data effectively bypasses the security of the Password Safe program.

Note: The Export and Import to/from text files feature has been changed in V3.06. This page describes the current format.

Exported text will:

  • Begin with a Title Row as the first record in the text file
  • Use a delimiter to replace the 'newline' character in a multi-line Notes field and the period ('.') if present in the Title field. The default is '»' [Alt+0187], which may be overridden if needed.

Imported text is assumed to have:

  • A Title Row as the first record in the text file.
  • A delimiter to reinstate the 'newline' character in a multi-line Notes field and the period ('.'), if present, in the Title field. The default is '»' [Alt+0187], which may be overridden if needed.>

The Title Row for full data export currently contains the following fields by default, separated by a tab.

  • Group/Title
  • Username
  • Password
  • URL
  • AutoType
  • Created Time
  • Password Modified Time
  • Last Access Time
  • Password Expiry Date
  • Password Expiry Interval
  • Record Modified Time
  • Password Policy
  • History
  • Run Command
  • DCA
  • e-mail
  • Protected Status
  • Symbol list for password generation
  • Notes

When exporting data, you may use the 'Advanced' feature to exclude any number of these fields from the Title Row and records. The Advanced option also allows you to specify a subset of the entries to export, as shown below.

Advanced Text Export dialog box

During Import, the supplied Title Row must include 'column headings' that match exactly one of the above. If any 'column heading' is repeated, only the data in the last one will be added to the entries during import. If a 'column heading' does not match one of the above, the data in that column will be ignored during import. The fields must be separated with the field separator specified for the data in the Import Text dialog box.

Notes:
  • To import any data into Password Safe, the Title and Password fields must be present and neither blank nor empty, as it would be if adding a new entry to an existing database.
  • There is no restriction on the order of the 'column headings'. Password Safe will use the supplied Title Row to correctly add the specified data to the right field.

Data Formats

Column Heading/Field | Comments
Column Heading/Field | If present, groups are separated by periods ('.'). The Title field cannot be blank, empty or contain the delimiter character.
Username
Password | Cannot be blank or empty.
URL
Autotype
Created Time | See note 1 below
Password Modified Time | See note 1 below
Last Access Time | See note 1 below
Password Expiry Date | See note 1 below
Password Expiry Interval | See note 1 below
Record Modified Time | See note 1 below
Password Policy | See note 3 below
History | See note 2 below
Run command
DCA | = 'Double Click Action'. See note 4 below
e-mail
Protect
Symbols
Notes
  • The Notes field should be enclosed by double quotes ("like this").
  • The Notes field should not contain the delimiter character since on import it will be translated to a newline.

Notes: 1

Time fields can be one of the following 7 formats:

1. | yyyy/mm/dd hh:mm:ss | e.g., 2007/01/26 19:31:25
2. | ddd MMM dd hh:mm:ss yyyy | e.g., Fri Jan 26 19:31:25 2007
3. | yyyy-mm-ddThh:mm:ss | e.g., 2007-01-26T19:31:25
4. | yyyy-mm-ddThh:mm:ssZ (XML only) | e.g., 2007-01-26T19:31:25Z
5. | yyyy-mm-ddThh:mm:ss±hh:mm (XML only) | e.g., 2007-01-26T19:31:25+01:00
6. | 0 | Leave the field unset
7. | now | Use the time of the import operation

where:

yyyy | The year in full. Value is between 1970 and 2038.
mm | The month; e.g. 01 = January, 02 = February etc.
dd | The day of the month
MMM | The short form of the month; e.g. Jan = January, Feb = February etc.
ddd | The short form of the day of the week; e.g. Mon = Monday, Tue = Tuesday, etc.
hh | The hour using a 24-hour clock.
mm | The minutes
ss | The seconds

Note: Format '2' is the output from the ANSI C function 'asctime' and format '3' conforms to the ISO 8601 standard.

Notes: 2

Password history is represented in the exported entry record as a text field comprising a header followed by the required number of entries of old passwords:

Password History Header:

  • 1 hexadecimal digit - status for saving PWH for this entry (0 = no; 1 = yes)
  • 2 hexadecimal digits - maximum number of entries in this entry
  • 2 hexadecimal digits - number of entries currently saved

Each Password History Entry:

  • 8 hexadecimal digits - time oldpassword was set
  • 4 hexadecimal digits - length of old password
  • character string - old password>

Notes: 3

The Password Policy is represented in the exported entry record as a text field 'ffffnnnllluuudddsss' in hexadecimal format, e.g. 'F000010004002005003'. 6 hexadecimal values are contained in this format. The first value has 4 digits, all other 3.

'ffffnnnllluuudddsss' means in detail:

  • ffff : 4 hexadecimal digits representing the following flags
    • 0x8000: use lower case characters
    • 0x4000: use upper case characters
    • 0x2000: use digits
    • 0x1000: use symbols
    • 0x0800: use hex only (0-9,a-f) characters (if set, then no other flags can be set)
    • 0x0400: use EasyVision password characters
    • 0x0200: use pronounceable password characters
    • 0x01FF: not used
  • nnn : 3 hexadecimal digits : total length of password
  • lll : 3 hexadecimal digits : password minimum number of lowercase characters
  • uuu : 3 hexadecimal digits : password minimum number of uppercase characters
  • ddd : 3 hexadecimal digits : password minimum number of digit characters
  • sss : 3 hexadecimal digits : password minimum number of symbol characters

The Password Policy 'F000010004002005003' means

  • F000 : use lowercase, uppercase, digit and symbol characters
  • 010 : use at least 16 (dec) characters
  • 004 : use at least 4 lowercase characters
  • 002 : use at least 2 uppercase characters
  • 005 : use at least 5 digit characters
  • 003 : use at least 3 symbol characters

Notes: 4

The following values for Double Click Action are availble:

  • -1: Use the database default
  • 0: Copy password to clipboard
  • 1: View/Edit selected entry
  • 2: Autotype
  • 3: Browse to URL
  • 4: Copy notes to clipboard
  • 5: Copy username to clipboard
  • 6: Copy password to clipboard, minimize
  • 7: Browse to URL + Autotype
  • 8: Run Command
  • 9: Send email


Preferences

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 is restricted.

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 valies, 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 database. In Windows Vista or Windows 7, the pwsafe.cfg file can be found in the following directory: "C:\Users\<username>\AppData\Local\PasswordSafe" and in Windows XP, it can be found in: "C:\Documents and Settings\<username>\Application Data\PasswordSafe". Note both directories may be hidden and Folder Vew properties may need to be modified in order to be able to view it. Obsolete preferences are not listed.

Note that only non-default preference values are stored in the configuration file or database.

Note: 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.

Boolean (true ('1')/false '(0')) preferences

Preference | Default | Where stored | Comment
AlwaysOnTop | false | pwsafe.cfg | Main window always on top
ShowPWDefault | false | database | Password is displayed by default in Add/Edit
ShowUsernameInTree | true | database | Username is displayed in Tree View
ShowPasswordInTree | false | database | Password is displayed in Tree View (requires Username to be displayed)
ShowNotesDefault | false | database | Show Notes in Add and Edit
ShowNotesAsToolTipsInViews | false | pwsafe.cfg | Show an entry's Notes as a tool tip in both Tree and List views (only the first 250 characters will be displayed)
SortAscending | true | database | The last sort direction in List View (ascending or descending)
UseDefaultUser | false | database | Use the default user text preference when adding a new entry
SaveImmediately | true | database | Save database after every Add or Edit
PWUseLowercase | true | database | Password generation policy - use lower case characters
PWUseUppercase | true | database | Password generation policy - use upper case characters
PWUseDigits | true | database | Password generation policy - use numbers
PWUseSymbols | true | database | Password generation policy - use symbols
PWUseHexDigits | false | database | Password generation policy - generate a password with only hexadecimal characters (always an even number)
PWUseEasyVision | false | database | 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.
PWMakePronounceable | false | database | Password generation policy - convert generated passwords to be more pronounceable
dontaskquestion | false | pwsafe.cfg | Don't ask for confirmation when copying password to clipboard
deletequestion | false | pwsafe.cfg | Don't ask for confirmation when deleting a single entry
DatabaseClear | false | pwsafe.cfg | Lock database on minimize, which implies clear database from memory
QuerySetDef | true | pwsafe.cfg | Ask user each time they add an entry whether to use the Username for all new entries
UseNewToolbar | true | pwsafe.cfg | Use New or Classic toolbar
UseSystemTray | true | pwsafe.cfg | Put Password Safe icon in Windows System Tray
LockOnWindowLock | true | pwsafe.cfg | Lock Password Safe database when the user locks their Windows session
EscExits | true | pwsafe.cfg | The ESC key will close the database and exit Password Safe (if the System Tray is not being used)
HotKeyEnabled | false | pwsafe.cfg | True if the user has defined a Hot Key to get quick access to Pasword Safe
MRUOnFileMenu | true | pwsafe.cfg | Most recently used databases are shown in the File menu or in in their own sub-menu from the File menu
MaintainDateTimeStamps | false | database | Entry last access times are recorded, if the database is in Read/Write mode
SavePasswordHistory | false | database | Save entry's old passwords when a new password is assigned
BackupBeforeEverySave | true | pwsafe.cfg | Rename current database following the Backup settings before saving any changes to it
PreExpiryWarn | false | pwsafe.cfg | Warn user on database open if there are any entries with expired or soon to expire passwords
ExplorerTypeTree | false | pwsafe.cfg | Show groups first in tree view
ListViewGridLines | false | pwsafe.cfg | Show grid lines in list view
MinimizeOnAutotype | true | pwsafe.cfg | Minimize Password Safe during Autotype. Database may also be locked depending on the setting to lock it on minimize
ShowToolbar | true | pwsafe.cfg | Show Toolbar
ShowDragbar | true | pwsafe.cfg | Show Dragbar
ShowFindToolBarOnOpen | true | pwsafe.cfg | Show the Find toolbar when Password Safe starts. This is determined by the state of this toolbar when Password Safe was last ended
DefaultOpenRO | false | pwsafe.cfg | By default, set the Read-Only checkbox during the open of databases
MultipleInstances | true | pwsafe.cfg | Allow multiple instances of password Safe to be started. Chnage this value will require Password Safe to be restarted to take effect.
ClearClipboardOnMinimize | true | pwsafe.cfg | Clear the clipboard of Password Safe information on minimize
ClearClipboardOnExit | true | pwsafe.cfg | Clear the clipboard of Password Safe information when Password Safe ends
NotesWordWrap | true | pwsafe.cfg | Note will be wrapped in its display area during Add/Edit
LockDBOnIdleTimeout | true | database | 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
HighlightChanges | true | pwsafe.cfg | Highligt changed junsaved entries in blue
HideSystemTray | false | pwsafe.cfg | Hide the Password Safe System tray icon. Only able to be set if the user has already set a Hot Key
UsePrimarySelectionForClipboard | false | pwsafe.cfg | Determine which clipboard to use (Linux only)
CopyPasswordWhenBrowseToURL | true | database | Copy the entry's password to the clipboard when invoking the entry's "Browse to URL"

Numerical preferences

Preference | Default | Where stored | Min | Max | Comment
column1width | n/a | pwsafe.cfg | n/a | n/a | The width of the first column in the List View when Password Safe was last exited
column2width | n/a | pwsafe.cfg | n/a | n/a | The width of the second column in the List View when Password Safe was last exited
column3width | n/a | pwsafe.cfg | n/a | n/a | The width of the third column in the List View when Password Safe was last exited
column4width | n/a | pwsafe.cfg | n/a | n/a | The width of the fourth column in the List View when Password Safe was last exited
sortedcolumn | 0 | pwsafe.cfg | 0 | 15 | Previous column used to sort the List View
PWDefaultLength | 12 | database | 4 | 1024 | Default password length
maxmruitems | 4 | pwsafe.cfg | 0 | 20 | Number of most recently used databases saved in the File menu
IdleTimeout | 5 | database | 1 | 120 | Threshold in minutes to determine whether to lock Password Safe due to inactivity
DoubleClickAction | Copy Password | pwsafe.cfg | n/a | n/a | See Help entry DCA Values export
HotKey | none | pwsafe.cfg | n/a | n/a | The Hot Key value
MaxREItems | 25 | pwsafe.cfg | 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
TreeDisplayStatusAtOpen | AllCollapsed | database | n/a | n/a | Values are: AllColpased, AllExpanded or AsPerLastSave
NumPWHistoryDefault | 3 | database | 0 | 255 | How many passwords to keep in an entry's password history field
BackupSuffix | 0 | pwsafe.cfg | n/a | n/a | Values are: None, datetime or an incremental number
BackupMaxIncremented | 1 | pwsafe.cfg | 1 | 999 | Only valid if an incremental number is used for the BackupSuffix
PreExpiryWarnDays | 1 | pwsafe.cfg | 1 | 30 | When to warn on about-to-expire passwords
ClosedTrayIconColour | 0 | pwsafe.cfg | 0 | 0 | Change the colour of the closed database Password Safe icon in the System Tray. 0 = Black, 1 - Blue, 2 = White and 3 = Yellow
PWDigitMinLength | 0 | database | 0 | 1024 | Default minimum number of digits in a generated password
PWLowercaseMinLength | 0 | database | 0 | 1024 | Default minimum number of lower case characters in a generated password
PWUppercaseMinLength | 0 | database | 0 | 1024 | Default minimum number of upper case characters in a generated password
PWSymbolMinLength | 0 | database | 0 | 1024 | Default minimum number of symbols in a generated password
OptShortcutColumnWidth | 92 | pwsafe.cfg | 10 | 512 | Size of the columns in the Manage → Options → Shortcuts tab

Textual Preferences

Preference | Default | Where stored | Comment
currentbackup | <none> | pwsafe.cfg | Path and name of last backup file
currentfile | <none> | pwsafe.cfg | Currently (i.e., last) opened file
lastview | tree | pwsafe.cfg | Last view selected: Tree or List view ("tree" or "list")
DefaultUsername | <none> | database | Default value for the Username field when creating new entries
treefont | <none> | pwsafe.cfg | Information about the font used in the Tree View
PasswordFont | <none> | pwsafe.cfg | Information about the font used to display the password
BackupPrefixValue | <none> | pwsafe.cfg | Usually the current database name is used to prefix any backup file names. This can be overriden using this preference
BackupDir | <none> | pwsafe.cfg | Usually the database backup is stored in the same directory as the database. This can be overriden using this preference
AltBrowser | <none> | pwsafe.cfg | Full path to an alternate browser
ListColumns | <none> | pwsafe.cfg | 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
ColumnWidths | <none> | pwsafe.cfg | Non-default column widths inList View
DefaultAutotypeString | \u\t\p\t\n | database | The database's default AutoType string. Note that each entry may override this value
AltBrowserCmdLineParms | <none> | pwsafe.cfg | Special command line parameters for the alternate browser, if specified
MainToolBarButtons | <none> | pwsafe.cfg | A list of the Toolbar buttons and their order as customised by the user. A separator is shown as a ~
TreeListSampleText | "AaBbYyZz 0O1IlL" | pwsafe.cfg | Sample text to use when deciding what font to be used in the Tree View
PswdSampleText | "AaBbYyZz 0O1IlL" | pwsafe.cfg | Sample text to use when deciding what font to be used to display passwords
VKSampleText | "AaBbYyZz 0O1IlL" | pwsafe.cfg | Sample text to use when deciding what font to be used in the Virtual Keyboard
VKeyboardFontName | <none> | pwsafe.cfg | Name of the Unicode font to be used to display all characters used in the Virtual Keyboad. This includes bot Latin and non-Latin characters
LastUsedKeyboard | <none> | pwsafe.cfg | Save the code of the last Virtual Keyboard used
AltNotesEditor | <none> | pwsafe.cfg | Full path to a text editor to be used to edit an entry's Notes field rather than the Windows default application.
LanguageFile | <none> | pwsafe.cfg | 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
DefaultSymbols | <none> | database | The default list of symbols to be used when generating a password with symbols. Note: each entry may override this value.


Run Command

An entry's 'Run Command' field can contain a command that will be run when the Run Command action is selected. The command can be anything that can be executed by typing it in the "Start → Run" box of your computer.

In addition, Password Safe is able to pass arguments to the command such as the entry's username, password, etc., as described below. This allows you to 'program' fairly complex actions, such as invoking a remote access program (PuTTY, for example) and passing it the username and password associated with the entry.

In general, 'variables' are replaced with values associated with them before being passed to the computer for execution. The dollar ('$') sign is used to indicate a variable.

  • Variables are specified as '$name' and are case sensitive. Variable names always start with an alphabetic character and the remaining characters are alphanumeric. The variable name is terminated either by encountering a non-alphanumeric character (such as a space) or the end of the Run Command.
    • To use a variable immediately followed by an alphanumeric character in the Run Command, enclose the variable's name in curly brackets e.g., '${varname}string'.
    • To use a '$' in the string as normal text (not indicating that the following text is a variable name), escape it using a back-slash ('\') e.g. '\$text' becomes '$text' and is not treated as a variable called 'text'.
    • To use a back-slash before a '$' as a back-slash, escape it with a back-slash e.g. '\\$name' becomes '\$name' in the resulting text and '$name' is treated as a variable. A back-slash does not have to be escaped unless it precedes a '$' indicating a following variable.
    • A variable may be followed by a numerical value within square brackets is called an 'Index value'. The index value 'n' can be preceded by '+' or '-' e.g. [-2] or [2] or [+2]. Password Safe treats an index that equates to zero as meaning the entire field.
  • The following variables are currently recognised:
    • Application related:
      • appdir Directory containing the Password Safe application. See notes 1 & 2 below.
    • Current database related:
      • dbdir | Directory of current open database. See notes 1 & 2 below.
fulldb | Full path, filename and extension of current open database. See note 2 below.
dbname | Current open database filename.
dbextn | Current open database extension.
    • Current entry related:
      • g or group | Group (full tree structure back to root with groups separated by periods).
G or GROUP | The group containing this entry only.
t or title | Title
u or user | Username
p or password | Password
a or autotype | AutoType. See Note 5 below.
url | URL
n or n[0] | The complete Notes field (also: notes or notes[0]). See note 3 below.
n[i] or notes[i] | ith line of the Notes field counting from the start, i.e. i=1 is the first line, i=2 means the second line etc. See note 4 below.
n[-i] or notes[-i] | ith line of the Notes field counting from the end, i.e. i=1 is the last line, i=2 means the penultimate line etc. See note 4 below.
      Notes
      1 | Directory values (appdir or dbdir) do not have an ending '\'. Remember to add this if you need it in your Run Command.
      2 | The contents of variables (including directory and full path values) may contain blanks. You may need to enclose the result in quotes in your Run Command for correct execution.
      3 | If the Notes field contains more than one line, it will include any embedded carraige return (CR) or line feed (LF). This may cause issues when executed as CR and/or LF will be taken as 'enter'.
      4 | Any trailing CR and/or LF are removed from single lines selected from the Notes field.
      5 If the AutoType variable is present in the Run Command, AutoType will be performed once the target window is active. The variable and its value, if present, will be removed from the string that is executed. This variable can appear anywhere in the Run Command as it only specifies what Password Safe will do after the command string has been executed. Unlike other variables, this one will be able to take a value to override the entry's current value. The format is as follows ('$autotype' can replace '$a' in the following examples):
      $a | Use current entry value.
${a} | Use current entry value (used if text immediately follows the '$a' variable).
$a(value) | Use autotype string specified between the round brackets.
${a}(value) | Use autotype string specified between the round brackets.

      Note: Be sure to add quotes around your string if required e.g., if your database directory contains spaces, to access a text file in it based on your open database name, you would need the following (with quotes):

      '$dbdir\\$dbname.txt'

      Notice that the backslash is escaped so that the '$dbname' is recognised as a variable.

      On Windows, the normal substitution of environmental variables (specified as %variable_name%) is performed. For example: '%windir%\notepad.exe' could become (depending on your installation) 'C:\Windows\notepad.exe'. Current values set in your environment can be determined by running 'cmd.exe' and issuing the 'set' command without any parameters. Any unknown environmental variable is left unchanged in the Run Command e.g., %xyz%\notepad.exe remains as %xyz%\notepad.exe if variable 'xyz' is not set. Note: Windows environmental variables are not case sensitive.

Example

The following Run Command will cause the Putty program to connect to myHost giving the entry's username and password:
"C:\Program Files\PuTTY\putty.exe" -ssh ${u}@myHost 22 -pw $p


Shortcut Keys

Keyboard Shortcut/Accelerator keys

Following are the details and limitations regarding the ability to define customized keyboard shortcuts for Password Safe.

These key combinations have been tested on a 102-key extended UK keyboard. The standard characters should work on any other keyboard with Latin characters. Some key combinations may be different on these keyboards - for example on a UK keyboard the the # symbol has its own key (with the tilde ~) but on a US keyboard it is above the 3 key (i.e. Shift+3). Please read this table and translate to your specific keyboard as appropriate - you can always experiment to see if a particular key combination works for you.

Depending on your translation, certain keys with the Alt key are reserved. These correspond to the letters used to invoke the main menu. Pressing the Alt key in the main display will show the these characters as underlined. For English, these would be Alt+F (File), Alt+E (Edit), Alt+V (View), Alt+M (Manage) and Alt+H (Help). For non-English translations, please refer to those letters underlined on the main menu to determine what will be reserved for you. For example, in the German translation "File" menu becomes "Datei" and so Alt+D would be reserved instead of Alt+F etc.

The Enter key is also reserved as it is used to set the value of a shortcut in the "Manage → Options → Shortcuts" tab. Therefore, it is not possible to assign this key to a function. Note that "Expand/Collapse Group" function in Tree View mode is achieved by selecting the group and pressing the Enter key. Although, this could have been changed to be any other valid shortcut, the use of the Enter key for this function would still be active as it is a function of the Tree View. For this reason, this function cannot be changed via the Shortcuts Property Page.

The Escape key is reserved as it can be used to close the Find Toolbar or to minimise Password Safe to the System Tray. It is also the equivalent to the Cancel button on any dialog.

By design, the shortcut value for Viewing an entry in read-only mode is the same as for Editing the entry in read-write mode. They can not be set independently. Similarly, 'Delete Entry' is the same as 'Delete Group' and 'Rename Entry' is the same as 'Rename Group'. These are shown in the Shortcut Property Page as just 'Delete' and 'Rename' respectively.

Some keys are reserved by Windows - for example Ctrl+Alt+Delete; Tab; Shift+Tab; Alt+Tab; Alt+Shift+Tab etc.

Non-standard keys are not supported (e.g., those only on a Kanji keyboard).

Password Safe shortcut setting does not recognise the difference between the Alt, Ctrl and Shift keys on the left side of the keyboard from those on the right. This may make some key combinations unavailable on some keyboards. For example, the Euro symbol on a UK 102 extended keyboard is the right Alt key (Alt Gr)and the 4 key. However, pressing this combination results in a shortcut of Ctrl+Alt+4. This is the way Microsoft's HotKey processing works and is not a Password Safe restriction.

Note: Setting non-standard keys may make these particular shortcuts unavailable if you then use another computer with a keyboard that does not have these keys. It is recommended that you only select combinations from those listed here.

In the table below, the column headings mean:

Heading | Means pressing
K | Only the key
A+K | The key with the Alt key
C+K | The key with the Ctrl key
S+K | The key with the Shift key
A+S+K | The key with the Alt and Shift keys
C+S+K | The key with the Ctrl and Shift keys
A+C+K | The key with the Alt and Ctrl keys
A+C+S+K | The key with the Alt, Ctrl and Shift keys

Key Name | K | A+K | C+K | S+K | A+S+K | C+S+K | A+C+K | A+C+S+K
Backspace | Y | N | Y | Y | N | Y | Y | Y
Tab | N | N | Y | N | N | Y | Y | Y
Enter | R (1) | N | Y | N | N | Y | Y | Y
Escape | N | N | N | N | N | N | N | N
Space | Y | N | Y | Y | N | Y | Y | Y
Page Up | Y | Y | N | Y | Y | N | N | N
Page Down | Y | Y | N | Y | Y | N | N | N
End | Y | Y | Y | Y | Y | Y | Y | Y
Home | Y | Y | Y | Y | Y | Y | Y | Y
Left Arrow | Y | Y | Y | Y | Y | Y | Y | Y
Up Arrow | Y | Y | Y | Y | Y | Y | Y | Y
Right Arrow | Y | Y | Y | Y | Y | Y | Y | Y
Down Arrow | Y | Y | Y | Y | Y | Y | Y | Y
Print Screen | N | N | N | N | N | N | N | N
Insert | Y | Y | Y | Y | Y | Y | Y | Y
Delete | Y | N | Y | Y | N | Y | N | Y
0-9 | Y | Y | Y | Y | Y | Y | Y | Y
A-Z | Y | Y | R (2) | Y | Y | Y | Y | Y
Num pad 0-9 | Y | Y | Y | N | Y | N | Y | N
Num pad * | Y | Y | Y | Y | Y | Y | Y | Y
Num pad + | Y | Y | Y | Y | Y | Y | Y | Y
Num pad - | Y | Y | Y | Y | Y | Y | Y | Y
Num pad . | Y | Y | Y | N | N | N | N | N
Num pad / | Y | Y | Y | Y | Y | Y | Y | Y
F1 | R (3) | Y | Y | Y | Y | Y | Y | Y
F2 | Y | Y | Y | Y | Y | Y | Y | Y
F3 | Y | Y | Y | Y | Y | Y | Y | Y
F4 | Y | R (2) | Y | Y | Y | Y | Y | Y
F5 | Y | Y | Y | Y | Y | Y | Y | Y
F6 | Y | Y | Y | Y | Y | Y | Y | Y
F7 | Y | Y | Y | Y | Y | Y | Y | Y
F8 | Y | Y | Y | Y | Y | Y | Y | Y
F9 | Y | Y | Y | Y | Y | Y | Y | Y
F10 | Y | Y | Y | Y | Y | Y | Y | Y
F11 | Y | Y | Y | Y | Y | Y | Y | Y
F12 | Y | Y | Y | Y | Y | Y | Y | Y
Num Lock | Y | Y | N | Y | N | Y | Y | Y
Scroll Lock | Y | Y | Y | Y | Y | Y | Y | Y
; : (4) | Y | Y | Y | Y | Y | Y | Y | Y
+ = | Y | Y | Y | Y | Y | Y | Y | Y
, < | Y | Y | Y | Y | Y | Y | Y | Y
- _ | Y | Y | Y | Y | Y | Y | Y | Y
. > | Y | Y | Y | Y | Y | Y | Y | Y
/ ? (4) | Y | Y | Y | Y | Y | Y | Y | Y
# ~ (4) | Y | Y | Y | Y | Y | Y | Y | Y
[ { (4) | Y | Y | Y | Y | Y | Y | Y | Y
\ | (4) | Y | Y | Y | Y | Y | Y | Y | Y
] } (4) | Y | Y | Y | Y | Y | Y | Y | Y
' @ (4) | Y | Y | Y | Y | Y | Y | Y | Y
` ¬ (4) | Y | Y | Y | Y | Y | Y | Y | Y

Notes:

  1. Since the Enter key is used to set the shortcut value, it cannot be assigned to any function.
  2. Ctrl+Q and Alt+F4 are reserved for exiting the Password Safe application.
  3. F1 is reserved for Help.
  4. This may be keyboard dependent.


Entry Icons

The following images are used to show the type of entry in the Tree and List views. Note: these images are always displayed in the Tree view. In the List view, the Icon column can be added or removed using the Column Picker but can only be in column 1.

Node or Group [Tree View only]

Normal entry

Normal entry with aliases

Normal entry with shortcuts

Alias

Shortcut

In addition, a Normal entry can have an expiry date placed on its password. If the user specifies a warning interval e.g. 5 days before a password expires, the image shown changes to be half purple.

Normal entry - the password will expire within the user's specified interval

Normal entry with aliases - the password will expire within the user's specified interval

Normal entry with shortcuts - the password will expire within the user's specified interval

Once expired, it will be completely purple.

Normal entry - the password has expired

Normal entry with aliases - the password has expired

Normal entry with shortcuts - the password has expired


Credits

Program Credits

Grateful thanks to Bruce Schneier for creating the Twofish algorithm and for releasing Password Safe to the public; and to SourceForge.net for hosting the project and supporting the Open Source community.
Password Safe version 3.06 and later uses TinyXML for parsing the application's configuration file. The code for TinyXML is provided under the zlib license.
Password Safe version 3.12 and later uses an algorithm created by Tom Van Vleck, Morrie Gasser, and Dan Edwards to generate pronounceable passwords.

The links that follow lead to various pages on the SourceForge web site related to the Password Safe project:

  • Password Safe Home Page: Information and news about Password Safe as well as announcements about project status and new releases. The home page is maintained by Brad Chance - Thanks Brad!
  • Development Team: Just some of the folks that have helped develop and keep Password Safe going.
  • Password Safe Forum: A forum for questions, support, and problems.
  • Password Safe News: RSS feeds available for this project.
  • Password Safe's low volume (roughly one message every month or so) spam free announcement and user mailing list page.


Advanced field selection criteria

Via the Wizard during Compare, Merge, Synchronize and Export to Text/XML

When selected via the "Wizard Select Database or File" page, you will be given the option to restrict the Compare, Merge, Synchronize or Export based on your selected criteria. You will also be able to restrict which fields are Compared, Synchronized or Exported.

The criteria specified here for a particular function are remembered for this Password session and are independent of each other. If you close and exit Password Safe and then restart it, they will be reset to 'no restrictions' and the corresponding default fields for these functions.

Should you specify any restrictions or field selection but do not want to use them this time, then press the Back button and uncheck the "Advanced field selection criteria" on the "Wizard Select Database or File" page. The values you have specified for the "Advanced field selection criteria" will still remain but will not be used.

If you wish to reset these values to the default for the function, press the Reset button. Resetting the values for, say, Compare will not reset the values for the other functions supported e.g. Merge, Synchronize or Export.

Via the Find Toolbar Button

When selected via the Advanced button on the Find Toolbar, you will be given the option to restrict the search based on your selected criteria. You will also be able to restrict which fields are examined.

The criteria specified here for a search are remembered for this Password session and are independent of those mentioned above. If you close and exit Password Safe and then restart it, they will be reset to 'no restrictions' and the corresponding default fields for a search.

Should you specify any restrictions or field selection but do not want to use them this time, then either press the Cancel button or press the OK button and uncheck the Advanced button on the Find Toolbar. The values you have specified for the "Advanced field selection criteria" will still remain but will not be used.

If you wish to reset these values to the default for search, press the Reset button. Resetting the search values will not reset the values for the other functions mentioned above.

Synchronizing entries when reviewing the Compare Databases results

After comparing two databases, if they are not identical, a Compare Results dialog is displayed. By right clicking on the 'Y' is the relevant column, a context menu is displayed. For entries in the current database, the only allowed option is to directly Edit (View if the database was opened in read-only mode) this entry. For entries in the comparison database, the options are View, Copy to the original database and Synchronize.

If Synchronize is chosen, then a small Advanced dialog is display allowing the user to select which fields to synchronize.

The criteria specified here for a particular function are remembered for this Password session and are independent of each other. If you close and exit Password Safe and then restart it, they will be reset to the corresponding default fields for these functions.


Wizard Finish

Whilst the selected function (Compare, Merge, Synchronize or Export) is in progress, this page will show either the database being used (Compare, Merge and Synchronize) or the file being written to (Export to Text or XML). It will also display the progress by showing the entry being currently processed (in the form «Group» «Title» «User»). During this process, neither the "View Report" nor "Finish" buttons will be enabled.

Once complete, you may view the report and/or exit the Wizard. From the View dialog, you may save it to disk (it will be saved in the same directory as the current database) and/or copy the contents to the clipboard. If saved to disk, you can view it again via the "View → Reports" menu. Note that when saved to disk, it will overwrite any previous report file found in this directory for this function. Note: The report may contain sensitive data and care should be taken when selecting the "save to disk" option.


Wizard Select Database or File

Compare, Merge or Synchronize

When performing the database Compare, Merge or Synchronize function, you must provide the name of the database that you wish to Compare with the currently open database, Merge into the currently open database or Synchronize with the currently open database.

The password requested is that of this new database and not the currently open database.

Export to Text or XML

When performing an Export of the current database to a clear Text or XML file, you must provide the name of the file to create or overwrite (you will be asked to confirm if you wish to replace an existing file).

The password requested is that of the currently open database.

You should also provide the character to be used to denote a line break in the Notes field so that it can be correctly processed when imported. When exporting to a plain text file, this character is also used to replace a period (.) in a Title field so that the correct Tree structure is rebuilt on Import (Note: a period is used to separate groups).

Advanced field selection criteria

In all cases, you have the option to select the "Advanced field selection criteria", which will show an extra Advanced page allowing you to restrict what these functions do based on the contents of the Group, Title, User Name, URL or Notes fields and/or which fields to Compare, Merge, Synchronize or Export.

Selecting 'Back' will return to the first Wizard tab where you may unselect the "Advanced field selection" if you wish to export all entries and all their fields.

Note 1: When exporting a single entry via the Edit Menu or Context Menu (by right clicking on the entry), the option to restrict the export based on the contents of the Group, Title, User Name, URL or Notes fields is obviously not available.

Note 2: When Merging a database into the currently open database, you will not be able to restrict which fields of the entries being merged are copied. If an entry passes your selection criteria, then the complete entry will be merged into the current database.