Skip to main content

ISO Compliance

Overview

Centralize Management System mengimplementasikan 3 standar ISO untuk kepatuhan perbankan.

Standards

StandardDescriptionStatus
ISO 27001Information Security Management✅ Implemented
ISO 20022Financial Messaging✅ Implemented
ISO 22301Business Continuity Management✅ Implemented

ISO 27001

Controls Implemented

ControlCategoryImplementation
A.9.1Access controlJWT + RBAC
A.9.2User access managementRole-based permissions
A.9.4System access controlAPI authentication
A.12.4Logging and monitoringAudit trail + alerts
A.12.6Vulnerability managementSecurity updates
A.18.1ComplianceAudit logging

Dashboard

{
"iso27001": {
"status": "COMPLIANT",
"controls": {
"accessControl": "IMPLEMENTED",
"auditLogging": "IMPLEMENTED",
"encryption": "IMPLEMENTED"
},
"lastAudit": "2026-06-15T00:00:00Z",
"findings": 0
}
}

ISO 20022

Message Types

CodeDescriptionStatus
pacs.008Customer Credit Transfer
pacs.002Payment Status Report
pacs.009FI Credit Transfer
pain.008Customer Direct Debit

Implementation

@Service
public class Iso20022Service {

public Pacs008 createCreditTransfer(Transaction txn) {
Pacs008 pacs = new Pacs008();

pacs.setCreDtTm(LocalDateTime.now());
pacs.setMsgId(generateMessageId());
pacs.setNbOfTxs(1);

// Payment Information
PaymentInformation pi = new PaymentInformation();
pi.setPmtInfId(generatePaymentInfoId());
pi.setPmtMtd("TRF");

pacs.setPaymentInformation(pi);
return pacs;
}
}

Dashboard

{
"iso20022": {
"status": "COMPLIANT",
"messageFormats": {
"pacs.008": "IMPLEMENTED",
"pacs.002": "IMPLEMENTED"
},
"lastValidation": "2026-07-06T00:00:00Z"
}
}

ISO 22301

Requirements

RequirementTargetStatus
RTO4 hours✅ Met
RPO1 hour✅ Met
Health ChecksEvery 30s✅ Active
Circuit BreakersAutomatic✅ Active

Implementation

@Configuration
public class BusinessContinuityConfig {

@Bean
public CircuitBreaker circuitBreaker() {
return CircuitBreaker.ofDefaults("coreBanking");
}

@Bean
public Retry retry() {
return Retry.of("coreBanking", RetryConfig.custom()
.maxAttempts(3)
.waitDuration(Duration.ofSeconds(1))
.build());
}
}

Dashboard

{
"iso22301": {
"status": "COMPLIANT",
"targets": {
"rto": "4 hours",
"rpo": "1 hour"
},
"lastTest": "2026-06-01T00:00:00Z",
"circuitBreakers": "ACTIVE"
}
}

Compliance Dashboard API

GET /iso/compliance/status

curl -H "Authorization: Bearer <token>" \
http://localhost:8080/iso/compliance/status

Response

{
"iso27001": {
"status": "COMPLIANT",
"lastAudit": "2026-06-15T00:00:00Z",
"findings": 0
},
"iso20022": {
"status": "COMPLIANT",
"messageFormat": "pacs.008",
"lastValidation": "2026-07-06T00:00:00Z"
},
"iso22301": {
"status": "COMPLIANT",
"rto": "4 hours",
"rpo": "1 hour",
"lastTest": "2026-06-01T00:00:00Z"
}
}

Next Steps