Context

What is a secret?

A secret is any sensitive data that must be protected and only accessible by authorized systems or individuals. They are used to manually configure systems, troubleshoot, or perform privileged actions.

User goal

Users want a secure, centralized way to manage secrets while ensuring that only the right people have access to them.

Research

Accommodating our tool for two types of personas

Since many internal Okta employees had prior experience with secrets management, I partnered with my PM to set up exploratory interviews. Our goal was to better understand their workflows, pain points, and how needs varied across different personas.

Developer

Problem

  • Secrets are stored all over the place (code repositories, spreadsheets, multiple password managers)

  • Wants a unified solution to store and generate strong random secrets

  • “We’re storing secrets in GitHub, Confluence, even Slack sometimes. It’s all over the place.”

Security admin

Problem

  • Too many people had too much access

  • No visibility or audit trail

  • “It’s hard to prove to auditors that we’re compliant when we don’t have a clear record of who accessed what secret and when. We need better visibility and traceability to meet security requirements.”

Design challenge

How might we help developers and security teams securely create, manage, and access secrets?

After aligning on the core user problems and opportunity areas, we translated them into a design challenge that would guide the team’s direction.

This question grounded our exploration across these principles:

  • Security by default – Avoid risky behaviors like plaintext storage or weak secrets.

  • Least privilege access – Ensure users only see secrets they are entitled to.

MVP scoping

We chose to support generic key-value pairs as the foundation for the MVP.

Instead, I designed the system to be extensible, so additional secret types could be layered in later without requiring major changes to the core experience.

Success metrics

We came up with metrics to improve usability and increase adoption.

To align the team and measure impact, we defined a set of product and UX success metrics:

Goal Metric

Reduce security risk → % of secrets with audit log enabled

Improve usability → Task completion rate for creating and retrieving a secret

Increase adoption → # of secrets creating in the first 30 days after launch

Reusing existing patterns

To ensure consistency, I leveraged existing policy creation flows from Okta’s ecosystem.

While exploring design options for policy creation, I prioritized consistency across Okta’s ecosystem to reduce cognitive load and improve usability. I conducted a comparative analysis of existing policy flows across products like Access Policies and App Sign-On Policies. Users wanted our policies to have a similar experience to existing policies within Okta.

User testing & validation

Users appreciated that secret values were hidden by default but were caught off guard when certain actions were restricted.

We ran moderated usability tests with 10 participants, focused on validating secret creation, access control, and auditing workflows.

Final solutions

Behind the Vault: Designing a Secure Secrets Experience

Generate and store secrets in one place

Users can create a generic secret by specifying key value pairs or generate a strong secret value.

Customer benefit:

This allows users to securely generate and store secrets in a unified tool reducing reliance on insecure storage methods.

Reveal secret value with approval workflow & MFA

When a user tries to view a secret’s value, they may need to satisfy multi-factor authentication (MFA) and approval requirements based on policy. 

Customer benefit:

This ensures that certain actions are guarded behind extra authentication, reducing risk of unauthorized access.

Define permissions and access controls via policy

Admins can define fine-grained access policies controlling who, what and for how long users take actions on secrets.

Customer benefit:

This enforces least privilege which limits access rights to only what’s necessary for specific tasks.

Audit who accesses what secret and when

Admins can view an audit log that displays access events that includes user, specific action performed, guardrails, and timestamp.

Customer benefit:

This gives users full visibility into secret creation and usage, enabling them to detect unauthorized access and meet compliance requirements.

Outcome

Users onboarded quickly and felt more confident using our secrets manager.

We launched the first version of Okta Secret Management as part of our beta release with select customers. Our goals were to validate the core value, reduce security risk, and gauge adoption across developer and security teams.

Outcomes: