Skip to main content

How the platform is built

Applies to: SimpleTwo 0.9.x · Checked: 08.10.2026

The platform is installed entirely inside your own perimeter. Below is what it is made of and what talks to what; the role-by-role installation is in the deployment manual. Which roles belong to the base and to which product is in Products.

SimpleTwo architecture

The planes, and why the split is load-bearing​

The split is not organisational, it is about availability requirements: communications, the directory, the intranet and management have different ones, and mixing them means holding everything to the strictest.

PlaneServicesHow it is reachedAvailability requirement
Communicationsmessaging, sfu, turn, recorder, mcu, pstn, mail, mx, drivedirectly over TLS; the tunnel is not requiredthe highest — it has to work while the tunnel is down, or "the VPN is down and there is no way to say so"
Directory and sign-indirectorydirectly over TLS on 443, with its own certificatehigh for new sign-ins: without it nobody signs in afresh, while whoever is signed in keeps working — sessions are issued and renewed by coordinator
Intranetgateways, internal systems, the DMZthrough the tunnel onlyfollows the tunnel; a gateway failure is a routing incident, not a communications one
Managementcoordinator, the console, the node API, agent, monitoringtunnel or SSHthe lowest, with the highest privileges: the platform is designed so that conversations outlive its own unavailability

Services​

ServiceResponsible forNote
coordinatorsessions and permissions, policy, the node registry, meetings, the admin console, the product options; who runs the browser sign-in — it or directory — and whose token the services accept are switches in the console, see Sign-in: the coordinator and identityone instance by design; what scales is not it, but the ability to work without it
directorythe directory with the calendar: accounts, groups and the organisation's contacts, SCIM; calendars, invitations, ICS and CalDAV, personal and team address books (CardDAV) — the calendar answers under /cal on the same name; sign-in of local accounts and guests with a second factor and sign-in approval on the phone, the broker to the organisation's identity providerpart of the core: the organisation's groups and contacts live only here. More in sign-in and participants
messagingconversations and messages, call signalling, presence, bots, attachmentsscales horizontally behind an event bus
sfuconference mediaa pool of nodes behind a TLS edge; adding a node is adding capacity
turnrelaying media where the direct path is closedneeded on networks with strict NAT
recordermeeting recordingfiles go to your storage, never outside it
mcuthe media server for your meeting-room SIP terminals (Poly, Cisco) in meetings, with voice, video and presentation. Not the PSTN gateway: it has no trunks and no telephone numbersMessaging Plus; one node, or several behind DNS SRV
pstnthe PSTN gateway: a carrier's SIP trunks, dialling into a meeting and calling telephone numbersMessaging Plus; a host of its own, never shared with mcu. More in telephony
mailmailboxes and search, JMAP and push for the clients, Sieve rules and the vacation response, shared mailboxesits own database and its own storage; mail from the internet is received by mx, not by it
mxthe mail edge in the DMZ: receiving from the internet and sending out with a DKIM signature, SPF, DKIM and DMARC checks, content filters; submission for devices and integrationsno database and no mailboxes — only a queue on its own disk; two nodes by design. More in mail
postgresthe database: every role has its own database on one instancethe base's infrastructure; your own Postgres cluster can stand in for the role
redisthe event bus: coordination of the sfu and mcu nodes, recording jobsneeded from the second sfu or mcu node and for recording; an external one can be used
s3object storage: attachments, avatars, recordings, mail, filesinfrastructure; an object is an ordinary file, so backup and migration are filesystem work. Instead of the role you can point the platform at storage you already run
gatewaya VPN nodea "dumb" tunnel: it holds no rules of its own
agentinstalls and updates roles on hostscertificates and configuration arrive the same way
monitoringmetrics, logs and traces from every host; its interface opens from the consolean option for any installation, one per installation; holds no product data — without it only the history is lost
supportthe support bot: requests, the knowledge base, AI-assisted answersMessaging Plus
drivethe files a person keeps: a personal space for everyone who has signed in and a space per group in their token; its catalogue in its own database, the files in object storage; iOS, macOS and Android clientsthe Drive product; obtains its own certificate for its public name, which is announced to clients as drive_url once it answers (files)

Data​

Postgres is the source of truth for conversations, calendars, the directory and mail, each service in its own database; the event bus (redis) carries events between messaging instances; files and recordings live in object storage inside your perimeter. None of the three faces the internet.

Storage comes one of two ways, like the database: the s3 role inside the platform, or external S3-compatible storage you already run (MinIO, AWS S3, Ceph, anything speaking the same protocol). The console shows which one is in effect. File bytes always travel through messaging, which checks the right to every file; the platform never hands out links straight into the store. The role keeps an object as an ordinary file, so on ZFS a filesystem snapshot is a consistent backup of the attachments and zfs send is a copy at a second site. The disk for objects is requested when the host is added: the platform builds the pool and the dataset with the properties it needs and refuses a disk with anything already on it.

Boundaries with external systems​

SystemDirectionWhat crosses the boundary
AD / ADFSread-only: people into coordinator, groups into directorywho exists, groups, attributes; the platform never writes back. ADFS is also a sign-in provider for directory
SimpleOneboth ways, through messaginga conversation linked to a ticket, presence, and a call from inside the ticket form
Another SimpleTwo installationboth ways, through messagingmessages addressed user@domain — federation, off by default
Meeting-room SIP terminalsinbound, through mcujoining a meeting by the room's number
Telephone network (PSTN)through pstn, the PSTN gatewaydialling into a meeting and calling telephone numbers
Mail from the internetthrough mxthe outer ring of the same federation: receiving and sending, DKIM, SPF, DMARC and MTA-STS. Mail from the internet comes in once you publish an MX record pointing at an mx node
What the diagram claims, and what it does not

It shows roles and boundaries, not sizes. How many sfu nodes and how large is a sizing question, and it is answered by the number of simultaneous conferences rather than by headcount.