Skip to content
Zeyu Zhao edited this page May 24, 2026 · 10 revisions

Advanced Features

Password-Manager supports customized fields, tags, entry-level MFA/TOTP storage, PIN login, files, and plugins.

Customized fields

Customized fields let you store additional encrypted information for each entry.

Examples:

  • login URL
  • username
  • notes
  • tags
  • security questions
  • recovery notes

The default fields are configured in:

src/backend/function/config.php

Default field configuration:

$DEFAULT_FIELDS = json_encode([
    'url' => [
        'colname' => 'URL',
        'hint' => '',
        'cls' => 'hidden',
    ],
    'user' => [
        'colname' => 'Username',
        'hint' => '',
        'cls' => 'hidden-xs',
        'position' => 1,
    ],
    'comment' => [
        'colname' => 'Comment',
        'hint' => '',
        'cls' => 'hidden',
        'type' => 'textarea',
    ],
    'tags' => [
        'colname' => 'Tags',
        'hint' => 'Comma separated values',
        'cls' => 'hidden-xs',
    ],
]);

Do not start custom field keys with _. Keys beginning with _ are reserved for system fields.

Allow users to customize fields

In:

src/backend/function/config.php

set:

$CUSTOMIZE_FIELDS = true;

When enabled, users can go to:

Settings -> Customize Fields

and edit the fields JSON.

Field JSON format

Each field should look like this:

{
  "label": {
    "colname": "Screen Name",
    "hint": "Input hint",
    "cls": "hidden-xs",
    "position": 1,
    "type": "text"
  }
}

Meaning:

  • label: internal unique key. It is not shown directly to users.
  • colname: display name.
  • hint: input placeholder or help text.
  • cls: display class.
  • position: display order. Smaller numbers appear earlier.
  • type: input type.

Allowed cls values:

  • empty string: always show in the main table
  • hidden: hide from the main table; show only in details/edit
  • hidden-xs: hide from the main table on small screens

Common type values:

  • text
  • textarea
  • password
  • any suitable HTML5 input type

Example:

{
  "url": {
    "colname": "URL",
    "hint": "https://example.com",
    "cls": "hidden",
    "type": "text"
  },
  "user": {
    "colname": "Username",
    "hint": "Login username",
    "cls": "hidden-xs",
    "position": 1,
    "type": "text"
  },
  "comment": {
    "colname": "Comment",
    "hint": "Extra notes",
    "cls": "hidden",
    "type": "textarea"
  },
  "tags": {
    "colname": "Tags",
    "hint": "Comma separated values",
    "cls": "hidden-xs",
    "type": "text"
  }
}

Tags

The default configuration includes a tags field.

Use comma-separated tags:

personal,banking,work

Tags can help search and group many entries.

Entry-level MFA/TOTP

When adding or editing an entry, Password-Manager can store an MFA/TOTP setup for that entry.

Supported inputs include:

  • otpauth:// URI
  • Base32 setup key
  • QR code image from a compatible authenticator app

This is useful for storing a saved account's virtual MFA/TOTP secret together with its password.

Open the entry details to view and copy the current TOTP code.

This entry-level MFA/TOTP data is different from the Password-Manager master account 2FA.

Master account TOTP 2FA

To protect the Password-Manager login itself, use:

Settings -> Turn on 2FA

Scan the QR code with an authenticator app and store the shown secret in a safe place.

Files

See Files.

PIN

See PIN.

Plugins

See Plugins.

Clone this wiki locally