Design: Entry points for Secrets Manager
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Problem to solve
Currently, users are using variables to store sensitive information for use in pipelines. This practice introduces security risks, as variables could potentially be exposed in job logs. While masked variables reduce some risks, they do not guarantee complete protection against intentional or accidental misuse.
The introduction of the Secrets Manager aims to provide a dedicated, secure space for managing sensitive data within GitLab. For users to successfully adopt the Secrets Manager, it needs to be:
- Discoverable: Users can easily find the feature where they intuitively expect it.
- Accessible: Multiple entry points allow users to quickly and securely access secrets within their workflows.
The location of the Secrets Manager and its entry points are key to solving these challenges. Placing the feature in the wrong section or restricting access through a single path could lead to poor adoption, user confusion, and workflow friction.
Proposal
This proposal seeks to address the problems above by identifying the most suitable feature locations and entry points to ensure Secrets Manager is easy to adopt and access in user workflows, and positioned for scalability and expandability in the future.
The proposal is divided into two key parts:
-
Feature Location
🚪 - The entry door to the Secrets Manager. Where the Secrets Manager could be housed within GitLab, with considerations around user expectations, permissions models, and future scalability. -
Entry Points
🪟 - The windows to the Secrets Manager. Identifying multiple ways users can access Secrets Manager, both within their workflows and for quick access to more complex management or configuration.
These solutions are informed by https://gitlab.com/gitlab-org/ux-research/-/issues/3143+ and industry practices, balancing ease of access with security needs and user expectations. The proposed solutions will be validated in a follow-up https://gitlab.com/gitlab-org/ux-research/-/issues/3144+ to ensure they meet user needs and expectations.
🚪
1. Feature Location The location of the Secrets Manager is a key factor that impacts user experience, security practices, and future scalability. This proposal presents two potential locations, each evaluated based on its alignment with user expectations, workflows, ease of access, permissions model, and long-term usability.
Dedicated Page for Secrets Manager ( |
Co-locate with Variables ( |
|
---|---|---|
Why |
Why a separate page?
|
Why integrate with variables?
|
Where |
|
|
Design |
Suggested temp placement for ~"Tanukey::Experiment" and ~"Secrets Manager:: Closed Experiment" (#470373 (closed)+). |
|
Impact vs. Effort |
|
|
Recommendation
Based on the above, the preferred location is to house the Secrets Manager as a dedicated page under the Secure section. This placement aligns with user expectations, security needs, and future scalability potential.
While co-locating Secrets Manager with Variables under CI/CD settings may offer contextual convenience, the drawbacks - including UX challenges, permissions conflicts, and potential user confusion outweigh the benefits. These drawbacks could be reconsidered if the CI/CD Settings page UX is improved (UX proposal such as #498476) or if an alternative location is identified that works for both Secrets and Variables.
🪟
2. Entry Points The entry points to the Secrets Manager are crucial in ensuring the feature is discoverable and accessible across user workflows. Findings from problem validation research indicate that users prefer accessing secrets and variables through multiple entry points, with workflow-specific pages and dashboards being favoured, and navigation as a secondary method.
To align with users' preferences, this proposal outlines three key entry points: shortcuts, navigation entry, and in-app search. Each plays a unique role in integrating Secrets Manager into the GitLab user workflow.
Shortcuts | Navigation | In-app Search | Code-completion support | |
---|---|---|---|---|
Why |
|
|
|
|
What |
|
|
Users can search for Secrets Manager and get redirected to the feature |
|
Design |
Link shortcut Reference shortcut |
Secure > Secrets Manager (directly under Secure) See feature location section above. |
||
Impact vs. Effort |
Link shortcut
Reference shortcut
|
|
|
|
Epic/Issue |
[FE] Add Secrets Manager sub-menu option under ... (#516128 - closed) |
Code-completion support for secrets in pipeline... (#516151) |
Where do we start?
Based on the above proposed ideas and balancing their effort vs. reward, here are the recommendations for prioritising the solution implementation. These recommendations will be validated through https://gitlab.com/gitlab-org/ux-research/-/issues/3144.
Phase 1
- Add Secrets Manager as a dedicated page under the Secure section - Aligns with user expectations from problem validation research and follows security best practices. Placing it here provides future scalability without the need for relocation.
- Add a new navigation entry based on the above.
- Enabling in-app search in the Super Sidebar, ensuring users can easily find the Secrets Manager from the start.
- Adding link shortcuts in key areas, such as the Pipeline Editor and Variables, to provide quick access within relevant workflows
Phase 2
- Implement reference shortcuts for usage to further streamline secrets usage in user workflow.
Future Iterations
- Code-completion support in WebIDE could be considered as a future enhancement to improve the developer experience.