[//]: # "File generated from a template. Do not edit this file directly." # node-param-type-options-password-missing In a sensitive string-type parameter, `typeOptions.password` must be set to `true` to obscure the input. A node parameter name is sensitive if it contains the strings: `secret`,`password`,`token`,`apiKey`. See exceptions in source. 📋 This rule is part of the `plugin:n8n-nodes-base/nodes` config. 🔧 Run ESLint with `--fix` option to autofix the issue flagged by this rule. ## Examples ❌ Example of **incorrect** code: ```js const test = { displayName: "Some Display Name", name: "secret", type: "string", default: "", }; const test = { displayName: "Some Display Name", name: "password", type: "string", default: "", }; const test = { displayName: "Some Display Name", name: "token", type: "string", default: "", }; const test = { displayName: "Some Display Name", name: "apiKey", type: "string", default: "", }; const test = { displayName: "Some Display Name", name: "appPassword", type: "string", default: "", }; const test = { displayName: "Some Display Name", name: "clientSecret", type: "string", default: "", }; const test = { displayName: "Some Display Name", name: "accessToken", type: "string", default: "", }; const test = { displayName: "Some Display Name", name: "secret", type: "string", typeOptions: { someOption: true }, default: "", }; const test = { displayName: "Some Display Name", name: "password", type: "string", typeOptions: { someOption: true }, default: "", }; const test = { displayName: "Some Display Name", name: "token", type: "string", typeOptions: { someOption: true }, default: "", }; const test = { displayName: "Some Display Name", name: "apiKey", type: "string", typeOptions: { someOption: true }, default: "", }; ``` ✅ Example of **correct** code: ```js const test = { displayName: "Some Display Name", name: "secret", type: "string", typeOptions: { password: true }, default: "", }; const test = { displayName: "Some Display Name", name: "password", type: "string", typeOptions: { password: true }, default: "", }; const test = { displayName: "Some Display Name", name: "token", type: "string", typeOptions: { password: true }, default: "", }; const test = { displayName: "Some Display Name", name: "apiKey", type: "string", typeOptions: { password: true }, default: "", }; const test = { displayName: "Some Display Name", name: "appPassword", type: "string", typeOptions: { password: true }, default: "", }; const test = { displayName: "Some Display Name", name: "clientSecret", type: "string", typeOptions: { password: true }, default: "", }; const test = { displayName: "Some Display Name", name: "accessToken", type: "string", typeOptions: { password: true }, default: "", }; const test = { displayName: "Some Display Name", name: "maxTokens", type: "string", typeOptions: { password: true }, default: "", }; const test = { displayName: "Some Display Name", name: "password_needs_reset", type: "string", typeOptions: { password: true }, default: "", }; const test = { displayName: "Some Display Name", name: "accessToken", type: "hidden", default: "", }; const test = { displayName: "Is Password Protected", name: "isPasswordProtected", type: "boolean", default: "", }; ``` ## Links - [Rule source](../../lib/rules/node-param-type-options-password-missing.ts) - [Test source](../../tests/node-param-type-options-password-missing.test.ts)