MATIH Platform is in active MVP development. Documentation reflects current implementation status.
8. Platform Services
Architecture

Audit Service Architecture

The Audit Service provides a comprehensive audit trail for all operations across the MATIH platform. Running on port 8086, it captures, indexes, and stores audit events with full-text search capabilities via Elasticsearch, real-time streaming via WebSocket, SIEM integration, compliance reporting, GDPR support, configurable retention policies, and alerting on suspicious activity patterns.


Service Overview

PropertyValue
Service Nameaudit-service
Port8086
TechnologySpring Boot 3.2, Java 21
DatabasePostgreSQL (JPA/Hibernate)
SearchElasticsearch (full-text indexing)
StreamingKafka (async event ingestion), WebSocket (real-time)
ResilienceResilience4j (circuit breakers)
SchedulingLeader election for retention jobs
API DocumentationOpenAPI 3.0 (Swagger)

Controllers

ControllerBase PathPurpose
AuditController/api/v1/auditAudit event CRUD, search, time-range queries
AuditAnalyticsController/api/v1/audit/analyticsDashboard metrics, time series, anomaly detection
AuditDashboardController/api/v1/audit/dashboardDashboard views
ComplianceReportController/api/v1/audit/reportsSOC 2, GDPR, security summary reports
DataAccessReportController/api/v1/audit/data-accessData access reports and anomaly detection
GdprController/api/v1/gdprGDPR data subject requests
SiemController/api/v1/audit/siemSIEM integration management
RetentionPolicyController/api/v1/audit/retentionRetention policy CRUD and execution
AuditStreamingController--WebSocket real-time audit stream
AuditExportController--Audit data export operations
ArchivalController--Audit data archival management
HealthController/healthHealth and readiness probes

Event Types

CategoryEvent Types
AuthenticationLOGIN, LOGOUT, LOGIN_FAILED, PASSWORD_CHANGE, PASSWORD_RESET, TOKEN_REFRESH
CRUDCREATE, READ, UPDATE, DELETE
AdministrativePERMISSION_GRANT, PERMISSION_REVOKE, ROLE_ASSIGN, ROLE_UNASSIGN, CONFIG_CHANGE
SystemSYSTEM_START, SYSTEM_STOP, SCHEDULED_TASK
DataDATA_EXPORT, DATA_IMPORT, DATA_ACCESS
SecuritySECURITY_ALERT, ACCESS_DENIED, RATE_LIMIT_EXCEEDED
APIAPI_CALL, WEBHOOK_SENT
TenantTENANT_PROVISIONED, TENANT_SUSPENDED, TENANT_ACTIVATED

Security

All endpoints require JWT authentication. The service uses Spring Security with JwtAuthenticationFilter for token validation.


Next Steps