Start with responsibilities
Write down what each group needs to do before editing permissions. Separate viewing records, creating transactions, approving work and maintaining setup data. Avoid giving a broad role to solve one missing permission without understanding the other access it grants.
Distinguish actions from record scope
Frappe roles define permissions on document types. User Permissions can limit access to particular linked records. These are different decisions: someone might be allowed to read orders but only within an assigned part of the business. Document both the permitted actions and the intended record scope.
Test with representative users
Create or choose test accounts that have the same roles and restrictions as the people who will use the system. Administrator access is unsuitable for proving that a business role is configured correctly. Test an allowed record and a restricted record, rather than checking only that a menu entry appears.
Include the ways information leaves the screen
Review reports, exports, attachments and any custom API alongside the form. A permission check should consider whether sensitive information can be obtained through another route. Record expected results for both allowed and denied actions, then investigate differences instead of hiding the link alone.
Repeat the review when responsibilities change
Keep an access matrix with the agreed owners and test examples. Review it when a new integration, custom application or approval process is introduced. Staff moves and departures also need an access review. A clear record of intended access makes future troubleshooting more precise than guessing which extra role will remove an error.
Join the conversation. Share your thoughts or questions about this article below.
No comments yet. Be the first to share your thoughts!