Architecture Overview
Haltless is a multi-tenant platform built for industrial predictive maintenance. This page explains how the major components fit together.
System architecture
┌─────────────────────────────────────────┐
│ Haltless Cloud │
│ │
Edge Agents ─────▶│ POST /ingest ──▶ TimescaleDB │
(HTTP push) │ │ (time-series) │
│ ▼ │
OPC-UA / Modbus ─▶│ Direct Ingestion ──▶ PostgreSQL │
(server polling) │ Background Task (relational) │
│ │ │
│ ▼ │
│ Anomaly Detection ──▶ Alert Engine │
│ EWMA + Rate-of-Change │ │
│ │ ▼ │
│ │ Escalation Policies │
│ │ ──▶ Webhooks / Email │
│ ▼ │
│ RUL Prediction (AI) ──▶ Dashboard │
│ │
│ REST API (FastAPI) ◀── Client Portal │
│ WebSocket /ws/dashboard │
└─────────────────────────────────────────┘
Components
Edge agent
A lightweight agent that runs on-premises (or on an edge gateway). It collects sensor data from your machines and pushes it to the Haltless cloud via HTTP. See Edge Agent Overview.
Authentication: X-API-Key header.
Direct ingestion
For OPC-UA and Modbus TCP devices, Haltless can poll them directly from the cloud , no local agent required. You configure an Ingest Source with the device address, and a background task handles polling. See Direct Ingestion Guide.
REST API
The core interface for all operations. 120+ endpoints organized into resource groups:
| Group | Purpose |
|---|---|
| Machines | Register, update, query machine fleet |
| Sensor Data | Time-series ingestion and retrieval |
| Alerts | Threshold alerts, acknowledgment, snooze |
| Predictions | AI-powered RUL and anomaly detection |
| Maintenance | Events, work orders, compliance sign-offs |
| Fleet | Cross-machine status and KPIs |
| Reports | PDF/CSV export |
| Settings | API keys, permissions, AI config |
WebSocket
Real-time streaming via wss://api.haltless.io/api/v1/ws/dashboard. After connecting, the client sends its JWT as the first text message to authenticate. The server then streams live updates for the tenant's machines.
Database layer
- PostgreSQL , relational data (machines, users, tenants, work orders, etc.)
- TimescaleDB , time-series hypertables for sensor readings with automatic chunk management
- Redis , token blocklist, login throttle, session management
Anomaly detection pipeline
Haltless uses a multi-layered detection approach:
- Static baselines , per-metric mean/stddev computed over a 7-day window (min 30 samples)
- EWMA (Exponentially Weighted Moving Average) , adaptive baselines that track gradual drift
- Rate-of-change , velocity analysis to detect sudden spikes in sensor values
- Composite rules , AND/OR logic combining multiple metric conditions
When anomalies are detected, alerts are generated and routed through escalation policies to notification channels (email, Slack webhooks, Microsoft Teams, push notifications).
Multi-tenancy
Every resource is scoped to a tenant (organization). Tenants are isolated at the database level , all queries include a tenant_id filter. Users belong to exactly one tenant and have one of three roles:
| Role | Description |
|---|---|
admin | Full access. Manages users, settings, billing, API keys. |
operator | Can manage machines, maintenance, work orders. Cannot modify settings or users. |
viewer | Read-only access to dashboards, machines, and alerts. |
Subscription tiers
Rate limits, machine counts, and data retention are enforced per-tenant based on their subscription tier:
| Free | Pro | Enterprise | |
|---|---|---|---|
| Max machines | 2 | 50 | 10,000 |
| Data retention | 7 days | 365 days | 3,650 days |
| API writes/min | 60 | 300 | 1,200 |
| API reads/min | 300 | 1,500 | 6,000 |