Permissions Matrix: Roles, Scopes, and Access Control
Complete reference for every permission in Agatabo — format, SELF/ANY scopes, five built-in role configurations, and inheritance rules.
Understanding Agatabo’s permission system lets you configure each staff member’s access precisely — giving them everything they need to do their job and nothing more. This page documents every permission, the scope rules that govern them, and the five standard role configurations most organizations use.
Agatabo ships with two protected roles — admin and member — that cannot be deleted. The Administrator and Member configurations below reflect these built-in roles. The Treasurer, Loan Officer, and Accountant configurations are recommended custom roles that you create and name according to your organization’s structure.
The Administrator role has full access to all resources. Assign it only to staff who need complete organizational control — typically the group president and lead technical manager.
The Treasurer role covers day-to-day financial operations — recording contributions and expenses, viewing member balances, and generating reports. Treasurers cannot issue loans or change settings.
Permission
Scope
organization_users:read
ANY
savings:read
ANY
savings:write
ANY
expenses:read
ANY
expenses:write
ANY
ledger:read
ANY
Can do: Record deposits and withdrawals, record expenses, view all member savings, run financial reports.Cannot do: Create or modify loans, assign roles to users, change organization settings, post manual journal entries, close periods.
The Loan Officer role covers the full loan lifecycle — from eligibility assessment through disbursement, payment recording, and penalty application. Loan Officers can view savings balances to assess eligibility but cannot modify savings records.
Permission
Scope
organization_users:read
ANY
savings:read
ANY
loans:read
ANY
loans:write
ANY
Can do: Create and disburse loans, record loan payments, apply penalties, view member savings for eligibility assessment, view full loan portfolio.Cannot do: Record deposits or expenses, post manual journal entries, assign roles, change settings.
The Accountant role is read-heavy — full visibility into all financial data for reporting and audit purposes — with the ability to post manual adjusting entries. Accountants do not perform operational transactions.
Permission
Scope
organization_users:read
ANY
savings:read
ANY
loans:read
ANY
expenses:read
ANY
assets:read
ANY
reserves:read
ANY
dividends:read
ANY
ledger:read
ANY
ledger:write
ANY
audit_logs:read
ANY
periods:close
ANY
Can do: View all financial data, run every report, post manual journal entries for corrections, view the full audit trail, close periods.Cannot do: Record operational transactions (deposits, loans, expenses), assign roles, change organization settings.
The Member role is the basic self-service configuration. Members can see their own financial information but have no visibility into other members’ data and cannot initiate any transactions.
Permission
Scope
organization_users:read
SELF
savings:read
SELF
loans:read
SELF
ledger:read
SELF
dividends:read
SELF
Can do: View own savings balance, own loan details and installment schedule, own account statement, own dividend history.Cannot do: View other members’ data, record any transactions, access settings, run organization-level reports.
If a user holds multiple roles, their effective permissions are the union of all permissions across every role they hold.Example: A user with both the Treasurer and Loan Officer roles effectively has:
savings:read (ANY) ← from Treasurersavings:write (ANY) ← from Treasurerexpenses:read (ANY) ← from Treasurerexpenses:write (ANY) ← from Treasurerloans:read (ANY) ← from Loan Officerloans:write (ANY) ← from Loan Officer
This user can record deposits and disburse loans — combining both role sets.
Agatabo does not support “deny” rules. You cannot grant a broad permission and then exclude a specific resource. To restrict access, simply do not include the permission in the role.