Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • E Excitor KB
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Satyam Raj
  • Excitor KB
  • Merge requests
  • !59

Merged
Created Oct 21, 2026 by Satyam Raj@satyamraj🌸Maintainer

Named permissions on every route, approval by a second person, Core role mapping in the UI

  • Overview 0
  • Commits 2
  • Pipelines 1
  • Changes 54
  • Every API route now checks a named permission instead of a rank tier. New permissions: brd.view, frd.view, frd.generate, plan.view, plan.generate, knowledge.manage, and brd/frd/plan.approve.
  • Approving a BRD, FRD or implementation plan needs the matching approve permission and someone other than the author (admins excepted). A new built-in Reviewer role holds the approvals; Functional no longer does.
  • Functional no longer has settings.manage.
  • Developers can read implementation plans (plan.view) without changing them.
  • Excitor Core Role Profiles are mapped per role in Accounts & Access -> Roles, stored in the database and logged; .env stays as a fallback.
  • ACCOUNTS_REQUIRED defaults to true; the admin key keeps its identity.
  • Custom roles made before this get the BRD/FRD/plan permissions their tier gave them, once, without approval.
  • Sidebar, dashboard and screens follow permissions; approve buttons show why approval is unavailable.
Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: rbac-permissions