What
@otplib/preset-default and qrcode are installed. Implement TOTP-based 2FA for admin login to protect privileged accounts.
Why
Admin accounts have elevated privileges (payroll execution, employee management, org settings). 2FA is essential.
Scope
In scope: Generate TOTP secret, QR code, verify on login, recovery codes
Out of scope: SMS 2FA, hardware keys
Acceptance Criteria
Technical Context
backend/src/services/authService.ts — auth service
@otplib/preset-default — TOTP library
qrcode — QR generation
What
@otplib/preset-defaultandqrcodeare installed. Implement TOTP-based 2FA for admin login to protect privileged accounts.Why
Admin accounts have elevated privileges (payroll execution, employee management, org settings). 2FA is essential.
Scope
In scope: Generate TOTP secret, QR code, verify on login, recovery codes
Out of scope: SMS 2FA, hardware keys
Acceptance Criteria
Technical Context
backend/src/services/authService.ts— auth service@otplib/preset-default— TOTP libraryqrcode— QR generation