One DB for all — TenantID column
- Every query has to include
WHERE TenantID = ?. - A bug in code or an admin export turns instantly into a leak.
- Backup-restore affects every tenant at once.
Architecture & Security
What lives in the database determines who can access it — and who cannot. Temporalis EMS separates tenants physically, not logically. Expensive to operate, cheap to defend.
Tenant isolation
Every tenant gets its own database on our multi-model database. A forgotten WHERE filter in code cannot leak foreign data, because the connection does not even point to it.
WHERE TenantID = ?. Implemented via EMS.Modules.Tenant.Abstraction and TenantClaimsTransformation. The tenant binding happens at the edge (JWT claim → DB connection) before the first query builder is touched.
Hosting
All core components run at Hetzner Online in Falkenstein (Vogtland) and Nuremberg — two ISO-27001-certified data centres in Germany. No CloudFront edges, no shadow telemetry, no fallback to US infrastructure.
Authentication
No proprietary login system. Keycloak in the backend, standards-compliant protocols — so you keep your existing identity-provider setup instead of maintaining a parallel world.
Login via OpenID Connect. Authorization-code flow with PKCE, refresh-token rotation, session claims with tenant binding.
Enterprise connectors for Azure AD/Entra, Okta, Keycloak, Google Workspace. Attribute mapping for group-based roles.
TOTP (authenticator app) and WebAuthn/passkeys (YubiKey, Windows Hello, Touch ID) out of the box. Phishing-resistant.
17-stage project permission stack plus role- and user-based monetary-field visibility. Every change traceable in the audit log.
Technology stack
Every layer of the stack is a documented, open-source standard. Export paths in both directions. No invented data formats that bind you to us.
Server-side rendering, lazy-loaded modules, standalone components.
Minimal APIs, OpenAPI 3, structured logs (Serilog).
Graph + document + key-value in one engine — for the 49-property project graph.
OIDC, SAML, LDAP federation. Self-hosted in the EU data centre.
Visual report designer inside the product. Export as Excel, PDF, CSV.
GitOps deployments, automatic rollbacks, infrastructure-as-code.
Observability & audit
Entity-level audit log with before/after snapshot, actor and timestamp. Structured logs via Serilog with correlation IDs — you see a request chain from the edge all the way to the query. Exportable into your own SIEM pipeline.
For IT and security teams
We walk you through the request flow, give you a look at the audit log, and discuss your IdP integration. No marketing slides — just real answers.