PRD

V1 Feature Access Control

Product Requirements Document (PRD): Feature Access Control

Objective

Enable Superadmins in Agency Handy to control which features are visible to different user roles, including Admins, Project Managers (PMs), Assignees, and Clients. This will provide agencies with greater flexibility, security, and a more streamlined user experience by allowing them to disable or enable specific features for each role.

Problem Statement

Currently, all user roles in Agency Handy have fixed permissions, meaning Superadmins cannot control which features are available to Admins, PMs, Assignees, and Clients beyond their default role-based permissions. This results in:
Excessive Access for Some Roles – Users may have access to features they don’t need, leading to a cluttered and complex experience.
Limited Customization – Agencies cannot tailor the platform based on their operational needs.
Security Concerns – Some users can access sensitive actions (e.g., deleting services, invoices, or leads) even if they don’t need them.

Examples of Current Limitations

Admins, PMs, and Assignees can see and perform all actions permitted to their role, but Superadmins cannot disable specific features they don’t want them using.
Clients have access to invoices, orders, tickets, and approvals, but Superadmins cannot fine-tune which features they should see.
Certain actions (e.g., deleting an order, ticket, or invoice) are hardcoded by role, preventing agencies from restricting them if needed.

Solution: Feature Access Control

To solve this, Superadmins should be able to enable/disable specific features per role in Workspace Settings. This will allow agencies to:
Customize feature visibility for each role.
Restrict access to sensitive features to prevent accidental data loss.
Reduce UI clutter for Clients and Assignees by hiding irrelevant features.
This update will enhance security, flexibility, and user experience, ensuring that every team member sees only the features they need to perform their tasks efficiently.

Goals & Objectives

Business Goals

Improve user experience by displaying only relevant features.
Enhance security by hiding sensitive features from non-essential roles.
Provide agencies with more control over how their teams and clients interact with Agency Handy.

User Goals

Superadmins can enable/disable specific features per role.
Admins, PMs, Assignees, and Clients only see features relevant to them.
Ensure feature visibility settings are easy to manage and apply dynamically.

Non-Goals

This will not override user role permissions (e.g., a PM cannot access Superadmin-only settings).
This will not introduce custom roles (only predefined roles can be controlled).

User Stories

Superadmin Feature Control
As a Superadmin, I want to enable or disable specific features for Admins, PMs, Assignees, and Clients so that I can control their access to the platform.
Role-Specific Visibility
As an Admin/PM/Assignee/Client, I only want to see the features relevant to my role so that my interface is less cluttered and easier to use.
Dynamic Updates
As a Superadmin, I want changes in feature access to take effect immediately so that my team sees updates without needing to log out.
Reset to Default
As a Superadmin, I want the option to reset feature visibility settings to default so that I can quickly undo changes if needed.

Functional Requirements

1. Feature Access Control Panel

Add a Feature Access Control section under Workspace Settings → Permissions.
Allow Superadmins to:
Enable/Disable specific features per role.
View a list of features grouped by module.
Apply settings per role (Admin, PM, Assignee, Client).

2. Feature List (Toggle Options per Role)

Superadmins can toggle each feature ON/OFF for each role.
If a feature is disabled, it will be hidden from that role’s UI.
Table 15
Feature
Superadmin
Admin
PM
Assignee
Client
Dashboard
Service
Add-on
Portfolio
Coupon
Client
Lead
Order
Subscriptions
Forms
Proposal
Ticket
Invoice
Integration
Files
There are no rows in this table

3. Role-Based UI Updates

If a feature is disabled for a role, it should be hidden from their UI.
Ensure real-time updates without requiring a page refresh.

4. Reset & Default Settings

Provide a “Reset to Default” button to restore predefined feature settings.

User Experience (UX) Flow

Superadmin navigates to Workspace Settings → Feature Access Control
Toggles features on/off for each role
Changes apply dynamically across all users
Users only see enabled features in their UI

Acceptance Criteria

Superadmins can enable/disable features per role.
Hidden features do not appear in the UI for disabled roles.
Changes take effect immediately without requiring a logout.
A Reset to Default option allows quick reversion.

Future Scope

Custom Role Creation – Allow agencies to define custom roles with tailored feature sets.
Role-Based Pricing Plans – Adjust pricing based on feature access.
Per-User Customization – Let agencies customize access at an individual user level.

Conclusion

The Feature Access Control system will provide greater flexibility and security, ensuring users only see what's relevant to them. This update enhances the Agency Handy experience by making it cleaner, more controlled, and more efficient for all roles.
Next Steps:
Design the Feature Access UI and implement role-based visibility toggles.
Ensure dynamic updates and test real-time role changes.
Would you like additional restrictions on specific financial or reporting features? 🚀
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.