Skip to main content
Access in KayanOS is part of the service design. A title such as “manager,” “inspector,” or “administrator” is not enough on its own; the system evaluates which resource a member may act on, which verb is assigned, and whether the record lies in an allowed scope. A safe role lets someone complete their responsibility without exposing unrelated citizen data or configuration. This guide uses a Citizen Services Directorate scenario. The team manages request CSR-2026-00042, its related inspection, scheduled event, evidence files, and decision. Use the example to model responsibility; do not copy access grants without checking your organization’s policies and hierarchy.

Goal

Create a role model that answers four questions for every person: what can they see, what can they do, where can they do it, and how will you prove that the boundary works?

The access model

Think about each grant as a three-part statement:
Resource + verb + scope
For example, “update inspections in the North Service Center” is more precise than “make this person an inspector.” The resource is inspections; the action is update; the scope is the approved service-center or hierarchy token that covers the inspection. KayanOS checks these separately. A member may be allowed to list a queue but not open every record; open a file but not edit it; edit a record but not share it; or see an event but not delete it. Do not tell staff that a sidebar item guarantees a save, share, or delete action.

When to use roles, assignments, and scopes

Use a role when several people need the same reusable responsibility. Use a scoped assignment when that responsibility must be limited to a location, organizational branch, form, or other approved boundary. Use a direct exception only when the policy truly requires it, and document why it exists. Where the chosen hierarchy supports it, KayanOS can express an assignment at the exact target, its ancestors, or its descendants. Select the narrowest interpretation that matches the policy: Do not use hierarchy expansion as a shortcut for a missing business rule. First confirm the service boundary, then select the scope behavior that implements it.

A practical Citizen Services role map

Start with a small set of operational responsibilities. Your exact entity names and scopes will differ, but the accountability pattern should remain clear. The role table is a design starting point, not a default permission set. Every “minimum useful access” entry must be mapped to real resources, verbs, and scopes in your organization.

Configure a role deliberately

  1. Map the handoff before opening settings. Write the service status, responsible role, next action, and evidence required for each stage of the request.
  2. Choose the role scope. Decide whether the role applies across the organization, to a selected hierarchy target, or to an eligible form/resource scope. Do not choose organization-wide scope only because it is quicker.
  3. Select resources and verbs. Add only the records and forms needed for the role’s own work. Keep list/open/create/update/delete/share decisions separate.
  4. Assign the role to the right recipients. Use the approved member, position, group, or assignment approach. Check that an inactive or transferred staff member does not retain access through an obsolete assignment.
  5. Save one controlled change at a time. Record the reason, policy owner, resource, verbs, scope, and review date for meaningful access changes.
  6. Test with a non-owner member. A role designer’s own broad access can hide a mistake. Test with a member who has only the role under review.
  7. Review after organizational changes. Re-test when a service center moves, a position changes, a form is published, or a new related entity becomes part of the workflow.
Opening, creating, and updating role definitions are separate role-management capabilities. If a person can inspect an assignment but cannot save a change, that can be an intentional boundary rather than a system error.

Run an access test matrix

Use an approved non-production request and record both positive and negative results. The goal is not only to prove that the intended action works, but also that unrelated data remains unavailable. Test navigation as well as actions. A member might not see a dynamic application entry if they lack list/create/initiate access, or might reach a link but receive a permission denial when opening the target record. Both results matter.

Expected result

Every service participant has a short, explainable role. A service owner can point to a request and say why a member can list it, why another member can update it, and why a third member cannot download or delete its evidence. The organization does not rely on shared administrator accounts or broad temporary grants to keep work moving.

Safe testing

Use controlled data and test members. Do not remove a real staff member’s production access solely to see a denial. Instead, create a temporary test assignment in the approved non-production context, run the matrix, save the results, and remove the temporary assignment. Never put real citizen data in a role-testing record.

Troubleshooting

KayanOS role assignment for a public-service organization service manager.