Enterprise Financial Economic Crime (FEC) Platform Engineering Specification¶
1. Purpose¶
This document defines the engineering requirements, architecture, design principles, technology recommendations, and implementation guidance for building a configurable enterprise Financial Economic Crime (FEC) operating platform.
Audience:
-
software architects
-
backend engineers
-
frontend engineers
-
DevOps engineers
-
data engineers
-
QA engineers
-
technical product owners
This document assumes the engineering team has strong software expertise but limited Financial Economic Crime domain knowledge.
2. Product Vision¶
Build a configurable enterprise FEC operating platform that enables financial institutions to design, execute, monitor, and govern financial crime workflows without hard-coded business logic.
The platform is not a point AML tool.
It is a composable operating system for financial crime operations.
Core design principle:
Processes orchestrate work. Decision modules provide intelligence. Governance ensures control.
Initial MVP focus:
-
customer onboarding
-
KYC workflow orchestration
-
name screening
-
customer risk rating
-
basic network analysis
-
analyst case management
-
escalation workflow
-
auditability
-
configuration-driven process design
Excluded from MVP:
-
transaction monitoring
-
transaction screening
-
fraud
-
SAR filing automation
-
advanced ML pipelines
-
multi-jurisdiction regulatory engines
3. Architectural Principles¶
3.1 Configuration over Code¶
Business policy changes must not require software deployment.
Configurable:
-
workflows
-
routing rules
-
approval matrices
-
thresholds
-
document requirements
-
module invocation rules
-
business-line templates
Not configurable:
-
core platform security model
-
infrastructure primitives
-
event contracts
3.2 Modular Intelligence Architecture¶
Each analytical capability must be implemented as a pluggable module.
Examples:
-
Name Screening
-
Customer Risk Rating
-
Network Analysis
-
Entity Resolution
-
Adverse Media
-
Transaction Monitoring (future)
All modules must conform to standard contracts.
3.3 Human-in-the-Loop¶
No autonomous irreversible decisions in MVP.
System assists analysts. System does not replace accountable decision makers.
3.4 Auditability by Design¶
Every decision must be reconstructable.
Track:
-
who
-
what
-
when
-
why
-
source inputs
-
configuration version
-
module outputs
3.5 API-First¶
All platform capabilities must be service-accessible.
UI must consume APIs.
No hidden business logic inside frontend.
3.6 Domain-Driven Design¶
Use explicit bounded contexts.
Avoid giant shared schema chaos.
4. Recommended Technology Stack¶
Backend¶
Primary Language: Kotlin¶
Recommended.
Reasons:
-
JVM maturity
-
excellent concurrency
-
strong typing
-
enterprise maintainability
-
Spring Boot ecosystem
-
better safety than Java
-
suitable for regulated systems
Alternative: Java 21
Not recommended as primary orchestration language: Python
Reason: excellent for analytics, weaker for enterprise transactional orchestration.
Use Python only for analytical modules.
Frontend¶
TypeScript + React
Reasons:
-
mature ecosystem
-
strong typing
-
excellent enterprise support
-
complex workflow UI suitability
UI framework:
-
React
-
Material UI or enterprise design system
Database¶
Primary OLTP: PostgreSQL
Reasons:
-
ACID
-
mature
-
JSON support
-
indexing flexibility
-
enterprise-ready
Graph Layer¶
Neo4j (optional in MVP)
Used for:
-
ownership graph
-
relationship visualization
-
linked entity discovery
Alternative: PostgreSQL recursive modeling initially.
MVP recommendation: start with PostgreSQL only. Add graph engine later.
Workflow Engine¶
Recommended: Temporal
Alternative: Camunda 8
Recommendation: Temporal for developer-driven orchestration. Camunda if business BPMN modeling is dominant.
For this platform: Temporal is preferable.
Messaging/Event Bus¶
Kafka
Reasons:
-
scalability
-
event-driven architecture
-
decoupling
-
audit event streaming
Search¶
OpenSearch / Elasticsearch
Used for:
-
case search
-
customer lookup
-
screening lookup
-
investigation exploration
Identity Management¶
Keycloak initially
Enterprise SSO later.
Containers¶
Docker + Kubernetes
Cloud¶
Cloud-agnostic architecture.
Support:
-
Azure
-
AWS
-
private cloud
-
on-prem
5. System Architecture¶
Bounded contexts:
-
Identity & Access
-
Workflow Orchestration
-
Configuration Management
-
Case Management
-
Customer Domain
-
Screening Domain
-
Risk Rating Domain
-
Network Intelligence
-
Document Management
-
Audit/Event Logging
-
Integration Gateway
Architecture style:
Modular monolith for MVP.
NOT microservices initially.
Reason: Microservices too early create distributed complexity without business value.
Migration path: modular monolith → extracted services.
6. Core Domain Model¶
Canonical entities:
Customer¶
Attributes:
-
customer_id
-
customer_type
-
legal_name
-
aliases
-
country_of_incorporation
-
residency_country
-
risk_status
-
created_at
-
updated_at
Individual¶
-
individual_id
-
first_name
-
last_name
-
date_of_birth
-
nationality
-
pep_flag
LegalEntity¶
-
entity_id
-
registration_number
-
entity_type
-
incorporation_country
OwnershipRelationship¶
-
parent_entity_id
-
child_entity_id
-
ownership_percentage
-
control_type
ScreeningResult¶
-
result_id
-
module_type
-
match_status
-
score
-
rationale
-
source_list
RiskAssessment¶
-
assessment_id
-
customer_id
-
score
-
risk_level
-
rule_version
-
rationale
Case¶
-
case_id
-
case_type
-
state
-
priority
-
assigned_to
-
created_at
Task¶
-
task_id
-
workflow_instance_id
-
owner
-
due_date
-
state
WorkflowInstance¶
-
workflow_instance_id
-
workflow_definition_id
-
current_state
-
config_version
Decision¶
-
decision_id
-
actor_type
-
actor_id
-
decision_type
-
rationale
Document¶
-
document_id
-
type
-
storage_reference
-
classification
7. Workflow Engine Requirements¶
Must support:
Process definition¶
Configurable workflows.
Examples:
-
onboarding
-
periodic review
-
screening escalation
State transitions¶
Explicit finite-state transitions.
Conditional routing¶
Examples: IF high risk THEN EDD.
Parallel execution¶
Run screening + risk rating simultaneously.
Human tasks¶
Manual approvals.
SLA timers¶
Deadline management.
Retry policies¶
For failed module execution.
Compensation logic¶
Rollback handling.
8. Decision Module Standard Contract¶
Input:
-
request_id
-
module_type
-
entity_reference
-
payload
-
context
-
config_version
Output:
-
status
-
decision
-
score
-
rationale
-
evidence
-
execution_metadata
Requirements:
-
idempotent
-
versioned
-
auditable
-
timeout-aware
9. Name Screening Module¶
Capabilities:
-
exact match
-
fuzzy match
-
alias matching
-
transliteration support
Inputs:
-
names
-
aliases
-
country
-
date of birth (optional)
Outputs:
-
hit/no-hit
-
confidence
-
matched entry
-
explanation
Implementation guidance: Start simple. Do not overbuild fuzzy NLP initially.
10. Customer Risk Rating Module¶
Initial implementation: rules engine.
Risk factors:
-
geography
-
customer type
-
ownership complexity
-
PEP exposure
-
product exposure
Output:
-
Low / Medium / High
-
rationale trace
Implementation: configuration-driven rules.
No ML initially.
11. Network Analysis Module¶
MVP capabilities:
-
ownership graph visualization
-
linked entities
-
shared identifiers
Implementation: simple relationship traversal.
Do not build advanced graph intelligence initially.
12. Case Management Requirements¶
Capabilities:
-
case creation
-
queue management
-
assignment
-
reassignment
-
escalation
-
notes
-
attachments
-
decision logging
-
closure
UI requirements: Single analyst workspace.
13. Configuration Engine¶
Must manage:
-
workflow definitions
-
thresholds
-
approval rules
-
document requirements
-
routing rules
Governance:
-
versioning
-
approvals
-
rollback
-
audit
14. Security Model¶
Requirements:
-
RBAC
-
least privilege
-
SSO readiness
-
MFA readiness
-
audit access logging
Roles:
-
analyst
-
compliance reviewer
-
approver
-
admin
-
auditor
15. Audit Architecture¶
Immutable append-only event model.
Track:
-
login
-
data access
-
config change
-
decision action
-
workflow transition
-
module execution
16. API Standards¶
REST JSON APIs.
Rules:
-
versioned endpoints
-
idempotency keys
-
correlation IDs
-
pagination
-
structured error schema
17. Testing Strategy¶
Required:
-
unit tests
-
integration tests
-
contract tests
-
workflow tests
-
security tests
-
performance tests
Coverage target: minimum 80% business logic.
18. Development Process¶
Method: vertical slices.
Order: 1. auth + RBAC 2. canonical domain model 3. workflow engine 4. case management 5. configuration engine 6. name screening 7. risk rating 8. network analysis 9. analyst UI 10. audit hardening
19. Anti-Patterns to Avoid¶
Do NOT:
-
start with microservices
-
hardcode workflows
-
embed business logic in UI
-
mix audit and transactional concerns poorly
-
introduce ML too early
-
overengineer graph analytics
-
skip configuration governance
20. MVP Acceptance Criteria¶
Platform is acceptable when:
-
onboarding workflow configurable
-
analyst can process case end-to-end
-
name screening works
-
risk scoring works
-
audit reconstruction works
-
approvals function
-
new workflow can be configured without code