Skip to content
Michael Starke edited this page Mar 21, 2022 · 11 revisions

Placeholders

KeePass allows the use of special commands as placeholders. There is a huge number of placeholders available but not all of them are supported by MacPass.

The most obvious place, where placeholders are used it the Autotype sequence {USERNAME}{TAB}{PASSWORD}{ENTER}. In this case {TAB} and {ENTER} are Autotype Commands and {USERNAME} and {PASSWORD} are entry field placeholders.

Placeholder will always get replaced before the value is used. Before you copy them to the clipboard or use the Autotype feature. Even recursive use is possible. For example, you can use {USERNAME} in the title field and User@{URL} in the username field and www.url.com for the url field. This will result in the title: User@www.url.com.

Placeholders allow only to use values of the current entry. If you want to reference values of other entries you have to use Field References

Supported Placeholders

Entry Field Placeholders

Entry field placeholders allow for using the content of another field. MacPass supports the following set of entry field placeholders:

{TITLE}		Title of the entry
{USERNAME}	Username of the entry
{URL}		URL of the entry
{PASSWORD}	Password of the entry
{NOTES}		Notes of the entry
{UUID}		UUID String of the entry (e.g. 90E4DA50-87F6-41C2-9A7D-20F5DFE0159F)
{S:FieldName}

The {S:FieldName} placeholder is special, as it allows to use custom fields. FiledName is the name of the field. If you want to use a placeholder for the custom field named Question 1 you can reference it with {S:Question 1}

Group Placeholder

{GROUP}			Name of the entry's parent group
{GROUP_PATH}		Full group path of the entry
{GROUP_NOTES}		Notes of the entry's parent group
{GROUP_SEL}		Name of the currently selected group
{GROUP_SEL_PATH}	Full path of the currently selected group
{GROUP_SEL_NOTES}	Notes of the currently selected group

Url Placeholder

{URL:RMVSCM}	Entry URL without scheme name.
{URL:SCM}	Scheme name of the entry URL.
{URL:HOST}	Host component of the entry URL.
{URL:PORT}	Port number of the entry URL.
{URL:PATH}	Path component of the entry URL.
{URL:QUERY}	Query information of the entry URL.
{URL:USERINFO}	User information of the entry URL.
{URL:USERNAME}	User name of the entry URL.
{URL:PASSWORD}	Password of the entry URL.

Environment Placeholder

{ENV_DIRSEP}		Platform directory separator /. Note this is not : used in classic Mac OS
{ENV_PROGRAMFILES_X86	Maps to /Applications

Database Placeholder

{DB_PATH}	Path to the database file
{DB_DIR}	Folder the database is located in
{DB_NAME}	Name of the Database
{DB_EXT}	Extension of the database file (.kdbx or .kdb most of the time)

Character Picker

Some login systems require the user to select certain characters in a longer passphrase to generate custom passwords for each logins. Those systems are highly insecure as they will store a cleartext of the password to allow this setup. It's highly suggested you keep away from those system. However, if you need to use them and are aware of the risks, the {PICKCHARS} placeholder supports this feature. The placeholder allows for custom options to be able to fill login forms with drop-down boxes.

Field Picker

If you need to insert another field but want the user to specify which one to use every time the field is used, the {PICKFIELD} Placeholder should be used. Inserting this placeholder will pop up the following dialog when the field is used:

In this dialog, the user can pick a field to use. After the choice has been made, the value is used to complete the field value.

One Time Passwords

Below is just a quick overview. To get more details, please see One Time Passwords

HMAC One Time Passwords

You can setup an entry to support HMAC base one time password. To do so, you need to have the special attributes set for the entry. If those are present, you can use {HMACOTP} to insert a HMAC-One-Time-Password. When this placeholder is used in Autotype, it will increment the counter. So please be aware of side effects!

Time One Time Password

If you have set the appropriate attributes for an entry, you can use {TIMEOTP} or {TOTP} to insert the current Time-One-Time-Password. Using this has no side effects, since the value is calculated based on the current system clock!