Design: Security Attributes
Problem to solve
See Security Attributes/Context Filtering (&18010)
Proposal
Resources:
🎨 Design File-
🕹️ Prototype- Note: The link destinations between group and project levels do not accurately reflect the actual behavior (actual landing page will differ).
Requirements (WIP)
Here's the text with all occurrences of "label" and "labels" replaced with "attribute" and "attributes":
Requirements (WIP)
-
Management & Permissions
- Scope & Hierarchy
- Security attribute categories and attributes can be managed at any group or subgroup level
- All categories and attributes are automatically synced and shared across all groups and subgroups
- Projects can only apply or remove existing attributes—they cannot create or edit categories or attributes
- User Permissions
- Attribute management actions are only visible to users with appropriate permissions
- Permission levels align with the category types (read-only, partial-edit, full-edit)
- Scope & Hierarchy
-
Attribute Category Behavior
- Category Types — Security attributes are organized into three category types with different permission levels:
- Read-only: Created by GitLab system. Categories and attributes cannot be edited or deleted by users
- Partial-edit: Created by GitLab system. Categories cannot be deleted, but individual attributes within the category can be edited
- Full-edit: Created by users. Both categories and attributes can be edited and deleted (requires appropriate permissions)
- Selection Behavior
- Each category must specify whether it allows single selection or multiple selection of attributes
- Selection type is set during category creation and cannot be changed afterward to avoid data migration complexity
-
Creation & Editing Workflow
- Category Creation
- At least one attribute must be added when creating a new category
- Empty categories (categories without attributes) are not permitted
- Save Behavior
- All changes to categories and attributes require manual saving (no auto-save functionality)
- Display a confirmation toast message when changes are successfully saved
- If a user navigates away from a category form with unsaved changes, prompt them to either continue editing or discard changes
- Category Creation
-
Attribute Application
- Where Attributes Can Be Applied
Security attributes can be applied to and removed from projects in these locations:
- Security Inventory (page)
- Project → Security Configuration (page)
- Where Attributes Can Be Applied
Security attributes can be applied to and removed from projects in these locations:
-
User Experience
- Navigation & Context
- Attribute counts should only display for projects within the user's current group/subgroup context
- Users should not see counts for projects outside their current scope
- Design Consistency
- Attribute selection UI must align with existing GitLab patterns for regular labels
- Use icons and tooltips to clarify selection behavior and restrictions
- Navigation & Context
Edited by Michael Fangman