Custom field conventions

Android · Linux · macOS · Windows
View Markdown

Keyguard reads these custom-field names as extra item data. Other clients show them as plain custom fields.

Environments

On a Bitwarden server, an Environment item is stored as a secure note with these hidden fields.

FieldValue
keyguard.environment.v1.part.1, keyguard.environment.v1.part.2, …The environment’s variables, split into parts of at most 3,500 bytes
keyguard.environment.v1.sha256Checksum of the joined parts

GPG keys

On a Bitwarden server, a GPG key item is stored as a secure note with these fields.

FieldTypeValue
keyguard.gpg.private_key.armoredHiddenArmored private key, if the item has one
keyguard.gpg.public_key.armoredTextArmored public key
keyguard.gpg.fingerprintTextFingerprint of the primary key

A key longer than 3,500 bytes is split into numbered fields, such as keyguard.gpg.public_key.armored.v1.part.1, plus a keyguard.gpg.public_key.armored.v1.sha256 checksum field.

Keyguard stores each of an item’s Linked items as a text custom field. KeePass databases store them as entry string fields with the same names.

FieldValue
keyguard.link.1, keyguard.link.2, …keyguard://cipher/<ITEM_ID>, the ID of the linked item in the same account

Numbers start at 1, without gaps. Keyguard hides these fields from the item’s custom fields. A field with an invalid value stays a regular custom field.

SSH bookmarks

A text field of an SSH Key item is a bookmark when its value starts with ssh://. Its name doesn’t matter. Keyguard shows bookmarks under SSH bookmarks instead of the custom fields, and saves a new one in a field named SSH bookmark. A value without ssh:// gets it on save. Pin hosts to keys uses bookmarks to offer each host only its own keys.

ValueExample
ssh://<HOST>ssh://my-alias
ssh://<USER>@<HOST>:<PORT>ssh://deploy@build.example.com:2222

The host is a host name, an alias from ~/.ssh/config or an IP address, with IPv6 in brackets. The user and the port are optional; the port isn’t used for pinning. Keyguard skips values with a path or a pattern, such as *.

SSH certificates

On a Bitwarden server, the certificate of an SSH Key item is stored in a text field.

FieldValue
keyguard.ssh.certificateThe OpenSSH certificate line

A certificate longer than 3,500 bytes is split into numbered fields, such as keyguard.ssh.certificate.v1.part.1, plus a keyguard.ssh.certificate.v1.sha256 checksum field.

Tags

In a Bitwarden account, Keyguard stores each tag as a custom field. KeePass databases use KeePass tags instead.

FieldValue
TagThe tag’s name, in a text field

Keyguard writes tags back in the same format.

Wi-Fi credentials

An item shows a Wi-Fi QR code when it has a network name and at least one of the other two fields. A login’s username then shows as SSID.

FieldValue
WiFi SSID or SSIDNetwork name. A login’s username, if set, takes its place.
WiFi Authentication TypeWPA, WEP, or nopass for an open network
WiFi Hiddentrue or false