System overview
Atlas is best understood as four cooperating planes: a frontend plane, an API plane, a worker plane for durable work, and a data plane. External services (auth, LLMs, tools, data providers) sit around the edges.
C4 — Level 1: System context
C4 — Level 2: Containers
The four planes
Frontend plane
A React 18 + TypeScript SPA built with Vite and the Palantir Blueprint design system. It talks to
the API over /api (proxied to the backend) and authenticates against per-tenant Keycloak realms.
See Frontend architecture.
API plane
A FastAPI application (src/api/main.py) exposing 26 domain routers. Every request passes through
authentication and tenant-context middleware that sets PostgreSQL Row-Level Security before any
query runs. See Backend architecture and API → Request lifecycle.
Worker plane
Temporal workers execute durable, long-running work — primarily the investigation workflow and its activities (entity persistence, graph sync, risk scoring, report generation). A separate workflow-engine worker runs the experimental low-code workflow engine.
Data plane
- PostgreSQL holds the canonical ontology (entities, relationships, attributes, claims) and all operational data (investigations, reports, risk, mutations, settings).
- Neo4j holds a synced property graph optimised for relationship traversal.
- Redis backs caching and rate limiting.
- MinIO stores generated report documents.
See Data model and Graph sync.
Cross-cutting concerns
| Concern | Where it lives |
|---|---|
| Multi-tenancy & RLS | Security & multi-tenancy |
| Ontology versioning | Ontology |
| Provider integration | Plugins |
| Entity resolution | Entity resolution |
| Provenance & audit | Mutation queue |
| Observability | Operations → Observability |
Reading order for engineers
- Backend and Frontend — the two halves of the app.
- Data model and Ontology — the shape of the data.
- Ingestion pipelines and Plugins — how data gets in.
- Entity resolution and Claims & survivorship — how data is unified.
- Temporal workflows — how it is all orchestrated.
- Risk scoring and Reporting — the outputs.