Skip to content

Components ​

Every component of the target architecture, what it is responsible for and what it is not. This page is the register; a component that needs more than a row gets its own page.

The baseline is the client's own register: §06 Technology register of the target architecture draft (UC-ARCH-002 v3, exported 2026-10-09). Where a later ruling changes a row, the row says so. ADR-0006 is the only ruling so far. Status is the draft's: Carried forward means an earlier client document already named it, Decided means the draft closed it, and Validate V-nn means it still has to pass that check before implementation. Nothing here has been validated by Konrad.

This register replaces the responsibility model in our review brief. That model had a separate relationship registry, an MDM resolution service and an identity-and-ownership projection. MDM now covers the first two, and D3 covers the third.

Enterprise systems of record ​

ComponentTechnologyResponsible forNot responsible forStatusPage
Identity and relationship masteringInformatica MDMIt is the sole issuer of rel_id, and it handles match, merge, survivorship and lineage. It is the enterprise relationship registry for accepted customer-to-product links. It is the core system of record for the mastered customer profile, and it dual-publishes every mastered outcome to both regionsServing channel reads; originating product facts; authorization decisionsValidate V-03, V-11. Role decided by ADR-0006MDM
BU systems of recordGB, Affinity, GWAM (the draft names three)The legal record of policies, accounts and plans. They tell MDM about customers and ownership through a MuleSoft Process API. They authorize each record against bu_subjectEnterprise identity matching; deciding enterprise visibilityNot in the register; the BU list is open question 49—
ECR / crosswalkForgeRock IDMAn event-fed replica of MDM's crosswalk, updated by ecr-syncMatching or minting identifiersCarried forward—
ConsentOneTrustThe consent system of record. It supplies the projected consent facet used for visibility and a live check on every actionIdentity resolution or authorization policyCarried forward—

Experience and access ​

ComponentTechnologyResponsible forNot responsible forStatusPage
Portal shell and micro-frontendsNext.js shell and six MFEs, Node 22The customer experienceCalling the serving layer or BU networks directlyCarried forward—
BFF / enterprise PEPNode 22 serviceHolding sessions in Redis, validating tokens and requesting exchanges. It enforces PingAuthorize's decisionsExposing the CIAM token to the browser, or passing Token A to a BUCarried forward—
AuthenticationForgeRock CIAM (AM)OIDC, MFA and sessions, plus a signed JWT carrying rel_id. It is the only token issuerMatching customers or issuing rel_id, which ciam-sync writes from MDM eventsCarried forward—
Customer context propagationRFC 8693 token exchange at ForgeRock CIAM, mTLS-boundA customer-bound token on every hop to a BU (D-15)Querying MDM or the ECR at request timeValidate V-12, V-13—
Authorization (PDP)PingAuthorize, self-hosted per regionVisibility and action decisionsIssuing rel_id or mastering ownershipValidate V-06—

Serving and eventing ​

ComponentTechnologyResponsible forNot responsible forStatusPage
D3 operational profileCosmos DB for NoSQL, multi-region writesAn event-fed projection of MDM that serves every channel read, so login never calls MDMBeing "a second MDM"Validate V-10—
Profile API and projection workersNode 22 or Java on AKS, KEDAA governed read API, and seq-guarded writes into D3MasteringDecidedProfile API
CacheAzure Managed Redis, active geo-replicationCache-aside profile reads and BFF sessionsCorrectness: invalidation is per regionDecided—
MessagingAzure Service Bus Premium, one namespace per regionRegistration and mastered-customer topics, with per-customer sessions and a dead-letter queueBeing the audit logValidate V-03, V-04—
Audit and replay (D4)Event Hubs Premium with Capture to ADLS Gen2The immutable journal that D3 is rebuilt from, with crypto-shredding for erasure—Validate V-07—

Mediation ​

ComponentTechnologyResponsible forNot responsible forStatusPage
API mediationMuleSoft Anypoint on Runtime Fabric (AKS)Experience, Process and System APIs, and translation to each BU. From v2 it also orchestrates cross-BU journeys—Validate V-05. Orchestration is contested in R6.3—

Intelligence and next best action (§12) ​

ComponentTechnologyResponsible forNot responsible forStatusPage
Intelligence LayerContract-first API with a guardrail runtime, on AKSAnswering questions in business language, with citations, over data productsWriting, mastering or copying data (D-17)Validate V-16—
Semantic layerNot chosenShared business definitions, versioned with ontology_v—Validate V-17—
Decisioning engineNot chosenSubscribing to events and writing next-best-action candidates, off the request pathExecuting any actionEnterprise decision V-18—
NBA storeKeyed on rel_idCandidates with rationale codes, evidence, versions and expiry—Validate V-19—
Model endpointsHosted in Canada, to be confirmedTwo named calls per request: interpret and composeAuthorizing or executing a changeValidate V-20—

Platform, security and delivery ​

ComponentTechnologyResponsible forNot responsible forStatusPage
EdgeAkamai: Edge DNS and GTM, App & API Protector, Bot Manager, IonGlobal 50/50 routing and region drain, WAF, bot defence, and static MFE cachingCaching authenticated HTML or /api/*Decided—
Regional ingressApplication Gateway for ContainersGateway API, canary routes and origin lock-down—Decided—
ComputeAKS, one private cluster per regionAll custom services—Decided—
Infrastructure as codeTerraform with Cloud-Catalog modulesOne stack per regional stamp, plus a shared stack—Decided—
CI/CDGitHub Actions on private-network runners, HelmDeploying the same signed digest to both regions—Validate V-01—
ObservabilityOpenTelemetry to Azure Monitor and Managed GrafanaTraces, metrics and logs, with one workspace per region—Validate V-08—
Security operationsDefender for Cloud, Microsoft SentinelRuntime protection and detection—Decided—
AnalyticsDatabricks (optional)Reading ADLSSitting on the request pathCarried forward—

Conventions ​

  • A component page explains why the component holds its role, not how it is built. SOW Schedule "A" §3.0 puts implementation design out of scope.
  • Every row cites its source. The default source is the draft's register. A row that departs from the register names the ruling or open question that changed it.
  • Filename kebab-case-component.md. Add the page to the sidebar's Components group, and link it from the row's Page column.

Internal working knowledge base — not for external distribution.