System Architecture
CorrData uses a modern, event-driven architecture designed for reliability, scalability, and real-time analytics.Core Components
Client Layer
Web Dashboard
React-based SPA for operators and managers. Real-time dashboards, compliance tracking, and reporting.
Mobile PWA
Progressive Web App for field technicians. Offline-first design with GPS integration.
AI Assistants
MCP server enables Claude and other AI assistants to interact with pipeline data.
API Layer
CorrData exposes a unified GraphQL API for all client applications:- Queries - Read operations for assets, measurements, compliance status
- Mutations - Write operations for creating readings, updating assets
- Subscriptions - Real-time updates for dashboards and alerts
Service Layer
| Service | Responsibility |
|---|---|
| Asset Service | CRUD operations for pipelines, segments, test stations, rectifiers |
| Analytics Service | Risk scoring, trend analysis, anomaly detection |
| Compliance Service | Regulation tracking, deadline management, reporting |
| Import Service | GIS data import from ArcGIS and Shapefiles |
| Notification Service | Alerts, emails, SMS for critical events |
Data Layer
PostgreSQL + PostGIS
PostgreSQL + PostGIS
Primary relational database for asset data:
- Asset metadata and attributes
- Tenant isolation via row-level security
- Geospatial queries with PostGIS extension
TimescaleDB
TimescaleDB
Time-series database for measurements:
- Optimized for time-series queries
- Automatic data compression
- Continuous aggregates for dashboards
Neo4j
Neo4j
Graph database for relationships:
- Asset topology (what protects what)
- Impact analysis (cascade effects)
- Visualization data for relationship graphs
Deployment Architecture
CorrData is deployed on AWS using containerized services:Security Architecture
Multi-Tenant Isolation
CorrData uses PostgreSQL Row-Level Security (RLS) for tenant isolation:- Every table has a
tenant_idcolumn - RLS policies enforce tenant boundaries at the database level
- API tokens include tenant claims for automatic filtering
Authentication Flow
Data Encryption
| Layer | Encryption |
|---|---|
| In Transit | TLS 1.3 for all connections |
| At Rest | AES-256 for RDS and S3 |
| Application | Field-level encryption for sensitive data |
Scalability
CorrData scales horizontally to handle growing data volumes:- ECS Auto-Scaling - Add containers based on CPU/memory
- Read Replicas - Scale database reads independently
- TimescaleDB Partitioning - Automatic time-based partitioning
- CDN Caching - Edge caching for static assets