About two-factor authentication | npm Docs
Table of contents

Two-factor authentication (2FA) protects against unauthorized access to your account by confirming your identity using:

  • Something you know (e.g., a password).
  • Something you have (e.g., an ID badge or a cryptographic key).
  • Something you are (e.g., a fingerprint or other biometric data).

When you enable 2FA, you will be prompted for a second form of authentication before performing certain actions on your account or packages to which you have write access. You will be prompted to authenticate with a security-key.

Note: Two-factor authentication provides the best possible security for your account against attackers. We strongly recommend enabling 2FA on your account as soon as possible after you sign up.

Important: Publishing to npm requires either:

  • Two-factor authentication (2FA) enabled on your account, OR
  • A granular access token with bypass 2FA enabled

For more information, see the npm documentation on requiring 2FA for package publishing.

Two-factor authentication on npm

Two-factor authentication on npm can be enabled for authorization and writes, or authorization only.

Authorization and writes

By default, 2FA is enabled for authorization and writes. We will request a second form of authentication for certain authorized actions, as well as write actions.

Authorization only

If you enable 2FA for authorization only. We will request a second form of authentication only for certain authorized actions.

Table of contents