Tenelix
Documentation

Permissions

Role-based access and three-layer authorization.

Tenelix uses role-based access control with three-layer authorization. Every action is checked at three layers before it touches data.

Roles

RoleDescription
super_adminPlatform administrator
clinic_adminClinic owner / manager
doctorPhysician / specialist
nurseNursing staff
receptionistFront desk staff
billing_clerkBilling department
read_onlyView-only access

Custom roles can be created with bespoke permission matrices via the Roles & Permissions UI.

Three-layer authorization

Sensitive operations are checked at three layers:

  1. Route ability — the route is gated at the framework level
  2. FormRequest::authorize() — the request validates the operation is allowed
  3. AuthorizationService::authorize() — controllers / actions re-check at the data layer

This means a successful authorization requires all three layers to agree. A bypassed route does not grant data access; a forged form request does not grant data access. The data layer is the final word.

Permission modules

There are 14 permission modules, each containing fine-grained abilities. Examples: patients.view, patients.create, appointments.checkin, billing.invoice.issue, inventory.movement.create. Roles map to abilities via a permission matrix configurable per tenant.