Duo Security, now part of Cisco, offers multi-factor authentication, boosting digital security by verifying identities and preventing unauthorized access.

Duo Mobile provides several authentication options to prove it's really you when you log in. Passcodes are among these methods and continue to be widely used across thousands of organizations.

Duo defaults to using HOTP (HMAC-based One-Time Password) codes for passcode authentication. These codes are vulnerable to phishing because they remain valid until the user enters them.
.png)
Switch Duo's default from HOTP to TOTP (Time-based One-Time Password) and move existing customers to TOTP.
We start by piecing together the internal processes, user personas, and the product layout. This initial phase involves understanding both user and project needs to set a solid foundation for the design process.
Duo Security follows a clear step-by-step plan when introducing a new product or making changes to an existing one. This process involves multiple teams across the organization—product management, engineering, design, documentation, and marketing—working collaboratively through each phase to ensure everything is ready and functions smoothly before reaching customers.
Out of 29 different personas, we focus on 3 key personas for this project and analyze which parts of the product each one uses.
.png)
We focus on the primary personas of "IT Administrator" and "User/Employee" to create a user flow map that outlines how each persona interacts with the product at a high level.
IT Administrator -
.png)
User / Employee -
.png)
This project was divided into three main phases to align with Duo’s product release process. In Phase 1, we concentrated on a small-scale solution to test the TOTP functionality; Phase 2 covered the main design and development work, and Phase 3 involved refining the product.
The initial phase focused on a small-scale test of the backend TOTP functionality to identify any major issues before moving on to the larger development phase. This is also the first time creating passcode settings, as it was previously defaulted to HOTP, and now we need to add the capability for passcode configuration.
.png)

In the second phase, we expand the scope by incorporating additional requirements and collecting early feedback to refine the design, guiding us toward a near-final state.
(1) Separating HOTP and TOTP configuration
HOTP will be the default, with TOTP initially disabled. Using toggles with opposite actions can be confusing, and having two separate sections might incorrectly suggest that these are independent features, even though both are types of passcodes.
(2) Keeping HOTP fixed while adjusting TOTP settings
Following existing patterns, we centralized major configurations within TOTP. However, exclusion groups for HOTP are only accessible if the organization switches the default to TOTP. This approach might obscure functionality and potentially confuse IT administrators about what's happening with their users.
After several design iterations, we found that simplifying the experience requires limiting customizability for IT administrators. As we aim to phase out HOTP, seek customer feedback to assess if exclusion groups are absolutely necessary.
We spoke with 4 customers, mainly universities with IT leads or consultants, to understand how they roll out TOTP to their users. Our goal was to assess if our design solution is flexible enough for their needs and to identify any crucial product requirements we might be missing.
.png)
.png)
.png)
In this final phase, we focus on refining the design and preparing for the official general availability release, working closely with our cross-functional partners.

New customers will now default to TOTP-only settings. Although they can't configure HOTP, TOTP will be displayed as their passcode setting, which aligns with the final state when existing users permanently discontinue HOTP.

To enhance feature discoverability, we display a banner when the user first enters the settings. This banner includes a CTA that takes them directly to the passcode configuration, saving them from having to scroll to the bottom of the section.

We launched passcode settings configuration on X for our existing customers, marking the day our product no longer offers HOTP as an option for new customers. While the product release is complete, we believe there will always be opportunities for improvement as more users adopt this feature.
Following our official launch, we received UI feedback through our community page noting that it was unclear whether the "discontinue HOTP" option also applied to hard tokens.
.png)
To avoid adding more text to an already text-heavy setting, our documentation team suggested that simply adding "Duo Mobile app" to the label option would be sufficient, along with providing clear public-facing documentation.
No project is ever perfect or completely smooth, regardless of the processes in place. Throughout this project, we faced new team members, constant changes, and unforeseen challenges. At each phase, our team took time to reflect on our successes and learn from our mistakes.
