Per-organization environment and separation
In EnaResearch, organization, customer and deployment are the same boundary. A separate environment is set up for each organization: the API, background worker, web application, time-series database (ClickHouse), queue and file storage are part of that environment. The relational database server may be shared, but each organization has its own database and its own database user. Your data is never processed in the same application or database as another organization’s data.
Each environment runs with a single organization code and rejects requests for unexpected host names. The organization code is only used for routing; knowing an address or a code grants no access to any data.
- Separate application stack, database and database user per organization
- The organization code is never authorization
- All traffic encrypted with TLS
- MQTT over TLS for the hub bridge (in development)