Roles & Access Control (RBAC)
NOTE
LumiotLoRaWAN implements a strict-isolation Multi-Tenant architecture. The platform uses asymmetric JSON Web Tokens (JWT) to validate authentication and authorization (RBAC). The system guarantees, by design, that one client can never see the sensors or data of another.
1. Profile Hierarchy
The system operates under 4 fundamental roles. Each user account is framed within one of these levels, which dictates its interaction capabilities across the different platform views.
🛡️ SuperAdmin (Infrastructure Level)
- Actor: The owner or administrator of the entire cloud platform.
- Scope: Global. Full visibility across all tenants.
- Responsibility: Manages the Licensing Authority (GLA), creates corporate entities or wholesalers (Tenants), defines maximum device/gateway quotas, and administers cross-tenant network profiles.
🏢 Integrator (Tenant Level)
- Actor: Corporates, Wholesalers, or Distributors who purchase the service from the SuperAdmin.
- Scope: Tenant Isolation. They only see data under their account.
- Responsibility: Create end clients (Subsidiaries), configure local company branding, and perform bulk uploads (Whitelist / Pre-registration) of purchased antennas and sensors.
👤 Client (Subsidiary Level)
- Actor: The end client or administrator of a specific operational site (e.g., North Plant Administrator).
- Scope: Subsidiary Isolation. They only see devices assigned to their branch.
- Responsibility: Activate physical sensors by entering their Serial Number (SN), configure location metadata, send radio frequency commands (Downlinks) to their own devices, and configure alarms.
👁️ Operator (Read-Only / Tactical)
- Actor: Monitoring personnel, security guards, or field technicians.
- Scope: Strict Subsidiary read access.
- Responsibility: They have visual access to geographic maps, telemetry dashboards, and last-connection reports. Any button that would alter the database or send commands to physical hardware is denied (Zero Mutations).
2. Exact Permission Matrix by View
The following table breaks down which options and buttons are available for each role within the main menu.
| Module / View | 🛡️ SuperAdmin | 🏢 Integrator | 👤 Client | 👁️ Operator |
|---|---|---|---|---|
| Dashboard | ||||
| Main Dashboard | ✅ | ✅ | ✅ | ✅ |
| Infrastructure (Management) | ||||
| Tenant Management (Distributors) | ✅ | ❌ | ❌ | ❌ |
| Subsidiary Management | ✅ | ✅ | ❌ | ❌ |
| User Management | ✅ | ✅ | ✅ | ❌ |
| Devices | ||||
| Base Inventory (Pre-Registration / CSV) | ✅ | ✅ | ❌ | ❌ |
| Device Profiles (LoRa Configuration) | ✅ | ✅ | ❌ | ❌ |
| Active Devices (List) | ✅ | ✅ | ✅ | ✅ |
| Action: Link New Sensor (SN Claim) | ✅ | ✅ | ✅ | ❌ |
| Action: Send Downlink Command | ✅ | ✅ | ✅ | ❌ |
| Action: Edit / Delete Active Device | ✅ | ✅ | ✅ | ❌ |
| Live Monitor (LoRaWAN Console / Frames) | ✅ | ✅ | ✅ | ✅ |
| Device Map | ✅ | ✅ | ✅ | ✅ |
| Gateways (Antennas) | ||||
| Base Inventory (Pre-Registration / CSV) | ✅ | ✅ | ❌ | ❌ |
| Active Gateways (List) | ✅ | ✅ | ✅ | ✅ |
| Action: Link New Gateway | ✅ | ✅ | ✅ | ❌ |
| Live Monitor (Statistics & Link) | ✅ | ✅ | ✅ | ✅ |
| Gateway Map | ✅ | ✅ | ✅ | ✅ |
3. Physical Isolation with LoRaWAN Network Server
The Lumiot platform roles are automatically mapped to the Network Server through background gRPC integrations. Not even an Integrator has access to modify the master keys of the LNS system, ensuring that the radio frequency network remains shielded and impervious to human errors in the lower layers.
The injection of these privileges is enforced and ignores any manual configuration, established under the following industrial scheme:
| Lumiot Role | isTenantAdmin | isGatewayAdmin | isDeviceAdmin | Sovereignty Level |
|---|---|---|---|---|
| 🛡️ SuperAdmin | ✅ | ✅ | ✅ | Global Infrastructure |
| 🏢 Integrator | ✅ | ✅ | ✅ | Tenant Administration |
| 👤 Client | ❌ | ✅ | ✅ | Subsidiary Operation |
| 👁️ Operator | ❌ | ❌ | ❌ | Subsidiary Read-Only |