Organisations & Sites¶
Consystence uses a hierarchical model to organise people, places, and equipment. Every entity in the platform lives somewhere in this tree.
graph TD
A[Account] -->|belongs to| O[Organisation]
O -->|contains| S[Site]
S -->|runs| P[Process]
S -->|runs| App[Application]
P -->|contains| DI[Device Instances]
P -->|renders| SG[Scene Graph]
P -->|defines| AL[Alarms & Trends] Account¶
An account represents a single individual. One person, one account.
- Identity is the account's email address.
- An account can belong to multiple organisations, each with a different role.
- Platform admin status is determined by an approved
@consystence.comemail — there is no manual flag to set.
Organisation¶
An organisation is the top-level commercial entity. It is equivalent to a GitHub organisation: it owns everything beneath it.
| Field | Format | Example |
|---|---|---|
| ID | GUID (internal) | a3f1c9e0-7b2d-4e8a-b5f6-1d2e3f4a5b6c |
| Slug | URL-safe, globally unique | bhp |
| Subdomain | {slug}.consystence.cloud | bhp.consystence.cloud |
Organisation roles¶
Every org member has exactly one role:
| Role | Description |
|---|---|
| Owner | Full control including billing, org deletion, and ownership transfer |
| Admin | Manage users, sites, licences, and integrator access |
| Engineer | Create and configure processes, device types, and templates |
| Operator | Interact with processes — acknowledge alarms, send commands |
| Viewer | Read-only access to dashboards and trends |
Organisation domains¶
Organisations can optionally associate email domains (e.g. @bhp.com). When a user with a matching email signs up or logs in, they are automatically offered membership in that organisation.
Note
Domain association is a convenience feature for onboarding, not a security boundary. Membership must still be accepted by the user, and role assignment is controlled by org admins.
Site¶
A site is a physical location where industrial equipment operates.
| Field | Format | Example |
|---|---|---|
| ID | GUID (internal) | d4e5f6a7-8b9c-0d1e-2f3a-4b5c6d7e8f9a |
| Slug | URL-safe, unique within org | mt-arthur |
| URL | {slug}.consystence.site | mt-arthur.consystence.site |
Each site:
- Hosts one or more site server installations on the plant network.
- Manages edge devices (Nvidia Orin units) connected to PLCs.
- Has an auto-reserved
*.consystence.siteURL for operator access. - Belongs to exactly one organisation.
Process¶
A process is a running industrial system at a site — a coal handling plant, a water management facility, or a conveyor network.
Processes follow a template/instance model:
- An integrator authors a process template containing device instances, scene graphs, alarm rules, and operator screens.
- The template is deployed (stamped out) to a site, creating a running process instance.
- Template default groups are mapped to real users at deployment time (see Roles & Permissions).
A process contains:
- Device instances — real equipment mapped to PLC addresses
- Scene graphs — SVG visualisations of the physical plant
- Alarms — threshold and state-change rules
- Trends — historical tag data for analysis
Application¶
An application is a digital workflow — forms, checklists, inspection routines — deployed to a site. Applications complement processes by capturing structured data from operators and field workers.
Process access control¶
Each process defines its own access groups with role levels. This allows fine-grained control — an operator might have full control of the water plant but read-only access to the coal handling plant at the same site.
Template authors define default groups (e.g. "Plant Operator", "Maintenance Engineer"). When the template is deployed, the site admin maps these groups to real users or org roles.
Domain structure¶
Consystence uses four domain families:
| Domain | Purpose | Example |
|---|---|---|
*.consystence.cloud | Organisation fleet dashboards | bhp.consystence.cloud |
*.consystence.site | Site operator interfaces | mt-arthur.consystence.site |
*.consystence.app | Type marketplace and public apps | marketplace.consystence.app |
*.consystence.dev | Development and staging | staging.consystence.dev |