Skip to content

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.com email — 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.site URL 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:

  1. An integrator authors a process template containing device instances, scene graphs, alarm rules, and operator screens.
  2. The template is deployed (stamped out) to a site, creating a running process instance.
  3. 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