Skip to main content

Architecture Overview

SeptemCore Platform-Kernel is a universal, industry-agnostic modular platform designed for a 10-year lifespan with thousands of third-party modules. It provides seven primitives (Auth, Data, Events, Notify, Files, Money, Audit) and the infrastructure to compose any business application from them.

This page presents the C4 Level 1 System Context view: who uses the platform and how.

Depth: For container-level detail (individual services and data stores) see Service Map. For runtime data flows see Data Flow.


C4 Level 1 — System Context

Note: C4Context diagrams use the PlantUML C4 notation. Docusaurus renders Mermaid — the diagram above uses the C4Context type introduced in Mermaid 10.x.


Key Actors

ActorRolePrimary Interface
Tenant AdminInstalls modules, manages users and RBAC, configures billingUI Shell + REST API
End UserUses the business application assembled from modulesMFE Modules in browser
Module DeveloperBuilds third-party modules with the @platform/sdkSDK + CLI + gRPC
Platform OwnerOperates infrastructure, manages all tenantskernel-cli + SSH + Admin UI

The Seven Primitives

Everything in Platform-Kernel is composed from seven core primitives. Modules never implement these themselves — they call the primitives through the SDK.

PrimitiveServiceWhat it provides
AuthIAMIdentity, RBAC, MFA, JWT, SSO, AuthProvider plugins
DataData LayerTenant-scoped CRUD, relations, schema migrations, CDC
EventsEvent BusPub/sub over Kafka, typed schemas, DLQ, replay
NotifyNotify ServiceEmail, WebSocket push, SMS, Browser Push channels
FilesFiles ServiceS3-backed storage, image processing, thumbnails
MoneyMoney ServiceWallets, hold/confirm, ledger, double-entry accounting
AuditAudit ServiceSOX-grade immutable audit trail, dual-write

Three-Layer Polyglot Stack

Platform-Kernel uses three languages, each chosen for its strengths in the specific role it plays.

LayerLanguageComponentsRationale
DX & OrchestrationTypeScript 5.5+UI Shell, SDK, CLIDeveloper velocity, shared types front↔back
Core ServicesGo 1.24+12 services + Gateway + kernel-cliGoroutines, gRPC performance, memory safety
Module SandboxRust → WasmThird-party module isolationHardware-level isolation, deterministic <5ms budget

Architecture Principles

PrincipleImplementation
Everything is a PrimitiveAll module capabilities come from the 7 primitives via SDK — no direct DB/infra access
Single Entry PointAPI Gateway (Envoy + Go Gateway Service) is the only point of external ingress
Single Exit PointIntegration Hub is the only path for outbound external API calls — circuit breaker mandatory
Protocol TranslationREST↔gRPC at the Gateway: clients see REST, core services speak gRPC
Tenant IsolationEvery request carries tenantId from JWT; PostgreSQL RLS enforces data boundaries
Event-DrivenAll state mutations publish Kafka events (outbox pattern) for integration and audit
Zero TrustmTLS between all services, JWT ES256 with 15-minute TTL, RBAC on every request
Dev = ProdDocker Compose locally = Kubernetes in production — identical stack, different orchestrators
Schema-FirstProtobuf → buf generate → typed Go + TypeScript clients. OpenAPI → request validation

Boundaries of the Kernel

The kernel is industry-agnostic. It does not contain business logic.

✅ Kernel provides❌ Kernel does NOT provide
7 primitives (Auth, Data, Events, Notify, Files, Money, Audit)Business logic for any module
UI Shell (thin host for MFE modules)Domain-specific engines (Commission, TDS, SmartLink)
Module Registry + Module Federation 2.0Integrations with specific external services
API Gateway + rate limiting + authUI builders (landing pages, PWA builders)
@platform/sdk-* package suiteiGaming / e-commerce domain knowledge
Encryption, security, immutable auditAnything outside this specification

Note: iGaming is the first target market, but the kernel is not restricted to it. Any vertical can build on the same primitives.