Who can see what?
A role names a set of permissions. Role and direct grants are evaluated together; company, branch, case assignment and plan conditions determine access. The matrix below is an illustrative design.
| Role | Cases | Clients | Documents | Finance | AI | Webhooks | Roles |
|---|---|---|---|---|---|---|---|
| Company ownerExample permission selection | Permission granted | Permission granted | Permission granted | Permission granted | Permission granted | Permission granted | Permission granted |
| AdministratorExample permission selection | Permission granted | Permission granted | Permission granted | Permission granted | Permission granted | No permission | Permission granted |
| LawyerExample permission selection | Permission granted | Permission granted | Permission granted | No permission | Permission granted | No permission | No permission |
| AssistantExample permission selection | Permission granted | Permission granted | Permission granted | No permission | No permission | No permission | No permission |
| AccountingExample permission selection | No permission | Permission granted | No permission | Permission granted | No permission | No permission | No permission |
Sample permissions of the selected role
Company owner
- Manage roles
- Create invoices
- View cases
- Manage integrations
Administrator
- Manage roles
- Create invoices
- Edit cases
- Use AI
Lawyer
- View cases
- Edit cases
- View clients
- Upload documents
Assistant
- View cases
- View clients
- View documents
Accounting
- Create invoices
- View invoices
- View clients
Company owner
01/05Same screen, two roles
Same screen, two roles.
This illustration compares two sample menus; actual menus and operations, including the owner’s, depend on permissions, company access and plan scope. Hiding a control alone is not authorization; the server also checks the request.
Search applies its permission and source scope. Webhook and API also have plan and operation conditions: the external API is read-only; webhook management has its own permission, and automatic delivery additionally needs permission to read all cases and the relevant resource plus write access to the selected branch.

Company owner · Case list
- Cases
- Clients
- Documents
- Finance
- AI
- Webhooks
- Roles
Assistant · Case list
- Cases
- Clients
- Documents
- 4 menu items stay hidden
Design roles around actual operations and data scope.
- 01/03
Permission groups
Permissions describe actions, not screens. Reading a case, updating it and deleting it are separate permissions, and so are creating an invoice and viewing one. Permissions are named by group and action, so what a role can do is written in plain terms.
These groups are examples; the current permission catalog contains more specific operations. Assigned-case reading is selected separately and does not automatically grant writes or all-branch access.
- Cases
- View casesCreate casesEdit casesDelete cases
- Clients
- View clientsAdd clientsEdit clients
- Documents
- View documentsUpload documentsDelete documents
- Finance
- View invoicesCreate invoicesView paymentsExport invoices to accounting
- AI
- Use AICreate drafts
- Webhooks
- View integrationsManage integrations
- Roles
- View rolesManage rolesInvite users
- 02/03
Roles and invitations
Catalog roles and custom roles within your authority can be used. Creating roles, assigning permissions and inviting members require separate permissions and current plan limits; a role name alone does not determine access.
The server enforces owner protection and limits on delegated permissions. When selecting assigned-case-only reading, check other roles and direct grants too: full case reading from another source broadens the scope. This selection alone does not narrow other modules. The role and permission guide provides design examples.
An invitation adds membership and a role in the selected company. A new-account invitation leads to account setup; an existing account holder signs in with the invited, confirmed email account and accepts the link. Acceptance does not change the existing profile, password or primary company, and does not switch the active company automatically. Delivery depends on the provider and a valid invitation. Added role permissions may appear on the next token refresh; permission removal and role/membership changes may require signing in again. The illustration sends or accepts no real invitation.
Illustrative role and invitation flow; creates no record or invitation
New role: Intern
- Cases
- Clients
- Documents
- Finance
- AI
- Webhooks
- Roles
Example: invitationInvitation
The intern's menu
- Cases
- Clients
- Documents
- Finance
- AI
- Webhooks
- Roles
Create the role
- 1/5
Create the role
Choose a sample role name; actual creation requires role-management permission.
- 2/5
Tick the permissions
Select example permissions; actual assignment is checked against current authority and delegation limits.
- 3/5
Invite the user
Illustrative invitation step. An existing account holder signs in with the matching confirmed account and accepts; the animation sends or accepts no real invitation.
- 4/5
The invitation is accepted
A new-account invitation leads to account setup; an existing account signs in with the matching confirmed email and accepts. The animation performs no real acceptance.
- 5/5
The menu follows the access
The illustrative menu narrows to the sample grants; it does not replace real server authorization.
- 03/03
Branches, teams and multiple companies
Branch and team operations require the relevant permissions and plan scope. Teams organize members; team membership alone does not partition case data. Branch membership, cross-branch access and case assignment have their own scopes; do not assume a case is visible only to a particular team.
The company switcher moves between memberships already held by the account; it creates no membership. An existing account gains a membership after its holder signs in with the invited, confirmed email and accepts; acceptance does not switch the active company automatically. The active company and current permissions are re-evaluated when switching. The company legal department solution illustrates an organizational structure.
Example Law Firm
- Istanbul branch
- Commercial team · Employment law team
- Ankara branch
- Criminal team
Company selector
- Example Law Firm
- Example Holding Legal Department
Access only means something if the person logging in is the right one.
- MFA
An account can enroll MFA with an authenticator app. A user authorized to manage company policy can require MFA after enrolling their own account; unenrolled members are directed to setup before business screens.
- Session
List your own sessions and revoke one or all. Removing membership rotates account security state; another company membership may remain, but its session may require a new sign-in. Instant termination on every device is not guaranteed.
- Password
Password rules, password reset and email verification flows exist. Email delivery and end-to-end acceptance depend on the active provider and setup conditions.
- Firm separation
The server checks active company membership, permissions and applicable branch/case scope; separation is not left only to UI filters. This description does not attest to completed independent production security acceptance.
- Activity log
Supported changes record actor, record, time and action metadata; complete auditing of every read or external operation is not guaranteed. See security and privacy for scope and retention conditions.
What do people ask about roles and permissions?
- 01/06
Are there ready-made roles?
Catalog roles exist; authorized users can also define custom roles and permission sets. The five rows here are not an exact dump of default grants. Owner protection and delegation limits are enforced in real operations.
- 02/06
Can a user work at more than one firm?
If an account already has multiple memberships, the switcher moves between them. To add a membership, the invited existing account holder signs in with the matching confirmed email and accepts; this does not switch the active company automatically. The active company and permissions are re-evaluated on switching.
- 03/06
What does a departing employee see?
Access through the removed company membership ends and account security state rotates. Another company membership may remain, but the rotation may require signing in again there too. Own-session individual/bulk revocation is also available.
- 04/06
Can MFA be made mandatory?
Yes; company security-policy management permission is required. The user enabling the requirement must enroll their own MFA first. Unenrolled members are directed to setup before business screens; this is not an SMS-code flow.
- 05/06
Is branch data kept separate?
Access follows company and branch membership, cross-branch permissions and applicable record scope. Team membership alone does not partition files. Assigned-case scope is selected separately; full case reading from another role or direct grant broadens it.
- 06/06
How do teams relate to branches?
Every team is created under a branch; a team gets a name and description, and members are added to and removed from it. Viewing teams, managing them and looking up members are separate permissions. Team membership alone does not separate file access.
