Product Requirements Document
Feature Name: Custom Roles & Tab-Based Access Control
Owner: Anirudha Bhalshankar
Date: 28/05/25
Status: Draft
1. Objective
Enable the Super Admin to define custom roles with precise control over access to different
features (tabs) in the RealX platform. This ensures that users only see and interact with the
sections relevant to their responsibilities.
2. Problem Statement
As more teams use the RealX platform, a one-size-fits-all access model creates clutter and
security risks. Users should only see the tabs and features they are responsible for. There is
a need to implement a flexible, role-based access control system that is easy to configure
and scale.
3. Scope
In Scope Out of Scope
Super Admin creates roles Roles created by Admin or other users
Assign access to individual Field-level access inside modules
tabs/features
Assign email(s) to a role Bulk import of users
4. User Stories
1. Super Admin: As a Super Admin, I want to create a role and assign specific tabs to it so
I can control what parts of the app each user sees.
2. Team Member: As a team member, I should only see the tabs relevant to my
responsibilities when I log in.
3. Compliance Officer: As a compliance officer, I need an audit trail of who accessed
which tabs for accountability.
5. Functional Requirements
# Requirement
FR-1 Add new "Roles" tab in sidebar (visible only to Super Admin).
FR-2 Allow Super Admin to create a new role: Name the role and select from list of
tabs/features.
FR-3 Display a checklist of tabs/features (e.g., Distributor KYC, Payments,
Projects, Entity KYC, etc.) during role creation.
FR-4 Allow Super Admin to assign one or more email addresses to a role.
FR-5 On login, users should only see the tabs assigned to their role. All others
should be hidden from UI and inaccessible via route-level protection.
FR-6 Super Admin can edit/delete roles, update tab access or reassign users.
FR-7 Log all role changes and assignments in the audit log.
6. Tabs to be Configurable
● Distributor KYC
● Projects (Approve, Hide/Live)
● Payments
● Investors (KYC, DLT Request, Assign Distributor)
● Entity KYC
● Principal Token Custodian
7. Non-Functional Requirements
● Security: Roles should be enforced at the frontend and backend API level.
● Scalability: The System should support the creation of at least 50 unique roles
dynamically.
● Usability: The role creation interface must be intuitive and fast (<3 minutes to create
and assign).
8. Future Enhancements
● Assign tab access based on conditions (e.g., region, property type)
● Bulk import/export of roles
● Time-based access expiration
● Field-level access control inside each tab
End of Document