DORA-Art12-P1

Article
12 (1)
Pillar
ICT Risk Management
Regulation Ref
Regulation (EU) 2022/2554, Article 12(1)
Last Reviewed
2026-01-15

Financial entities shall put in place, maintain and periodically test appropriate ICT business continuity plans, notably with regard to critical or important functions outsourced or contracted through arrangements with ICT third-party service providers.

Evidence Profiles

ICT Business Continuity Plan COMMON

Comprehensive business continuity plan covering ICT systems, including scenario-based recovery procedures, resource requirements, and testing schedules as required by DORA Article 12.

Formats
PDF
Evidence Class
ict-bcp
Availability
COMMON
Update Frequency
annual
Typical Author
Business Continuity Manager
Approval Chain
Business Continuity Manager → COO → Board

Content Sections

Expected Fields

Common Quality Issues

View Example

Generated example artifact using the default institution profile (COMMON availability, synthetic data only).

PLAIN_TEXT — Inline Preview
ICT BUSINESS CONTINUITY PLAN
Nordvik Bank AG
Plan Reference: BCP-ICT-2025-001
Version 4.1 | Approved: 12 January 2025 | Next Review: 12 January 2026
Plan Owner: Business Continuity Manager
Classification: Confidential

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

BUSINESS IMPACT ANALYSIS

1.1 BIA Summary

The Business Impact Analysis ("BIA") was last conducted on 5 December 2024 and
covers all business functions supported by ICT systems. The BIA identifies 8
critical business functions and 6 important business functions requiring ICT
continuity arrangements.

1.2 Critical Business Functions

  Function                    Max Tolerable    RTO      RPO      ICT Dependencies
                              Downtime
  ─────────────────────────────────────────────────────────────────────────────
  Payment Processing          2 hours          2h       30min    T24, SWIFT, Oracle DB
  Core Banking Operations     4 hours          4h       1h       T24, Oracle DB
  Digital Banking Channels    4 hours          4h       1h       AWS, T24 API
  AML/CFT Screening           4 hours          4h       1h       Actimize, Oracle DB
  Security Monitoring         1 hour           1h       0        Splunk, Network
  Treasury Operations         4 hours          4h       1h       T24, Bloomberg
  Customer Onboarding         8 hours          8h       4h       T24, Document Mgmt
  Interbank Settlement        4 hours          4h       1h       T24, SWIFT

1.3 Financial Impact Assessment

  Downtime Duration    Estimated Financial Impact (CHF)
  ─────────────────────────────────────────────────────────────────────────────
  0–2 hours            50,000 – 200,000 (operational costs, SLA penalties)
  2–4 hours            200,000 – 1,000,000 (revenue loss, customer impact)
  4–8 hours            1,000,000 – 5,000,000 (significant revenue loss,
                       regulatory attention)
  8–24 hours           5,000,000 – 20,000,000 (major financial impact,
                       reputational damage, regulatory action)
  >24 hours            >20,000,000 (severe financial and reputational damage,
                       potential systemic impact)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

RECOVERY STRATEGY

2.1 Primary Strategy: Active-Passive Data Centre Failover

The Bank operates two data centres:
  — Primary: Zurich DC-1 (production workloads)
  — Secondary: Geneva DC-2 (disaster recovery, warm standby)

Database replication via Oracle Data Guard provides near-zero RPO for critical
databases. Application servers at Geneva DC-2 are maintained in warm standby
with automated failover scripts tested quarterly.

2.2 Cloud Recovery Strategy

Digital banking services hosted on AWS eu-central-1 leverage:
  — Multi-AZ deployment for high availability
  — Cross-region replication to eu-west-1 for disaster recovery
  — Automated scaling and self-healing infrastructure

2.3 Alternative Processing Arrangements

  — Manual payment processing procedures documented for SWIFT outages
  — Branch-based customer service procedures for digital channel outages
  — Paper-based transaction recording for core banking system outages

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

SCENARIO-BASED PROCEDURES

3.1 Scenario: Complete Data Centre Loss (Zurich DC-1)

  Phase 1 — Assessment (0–30 minutes)
    — Confirm DC-1 unavailability via monitoring and physical assessment
    — Activate Crisis Management Team
    — Notify all stakeholders per communication plan

  Phase 2 — Failover (30 minutes – 4 hours)
    — Initiate Oracle Data Guard failover to Geneva DC-2
    — Start application servers from warm standby
    — Redirect network traffic (DNS, BGP)
    — Verify core banking and payment processing

  Phase 3 — Stabilisation (4–8 hours)
    — Restore remaining important functions
    — Verify data integrity across all recovered systems
    — Establish ongoing monitoring at DR site

  Phase 4 — Recovery (days/weeks)
    — Plan and execute return to primary site when available
    — Conduct post-incident review

3.2 Scenario: Cyber Attack (Ransomware)

  Phase 1 — Containment (0–2 hours)
    — Isolate affected systems
    — Preserve forensic evidence
    — Assess scope of compromise

  Phase 2 — Eradication (2–24 hours)
    — Remove malware from all affected systems
    — Reset compromised credentials
    — Patch exploited vulnerabilities

  Phase 3 — Recovery (24–72 hours)
    — Restore from clean backups (immutable/air-gapped)
    — Rebuild systems from known-good images
    — Verify system integrity before reconnection

3.3 Scenario: Third-Party Provider Failure

  — Activate contractual recovery provisions
  — Implement manual workarounds per documented procedures
  — Engage alternative providers if available
  — Monitor provider recovery progress

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

RESOURCE REQUIREMENTS

4.1 Personnel

  Role                          Required During Crisis    Backup Available
  ─────────────────────────────────────────────────────────────────────────────
  Crisis Manager                1                         Yes
  Business Continuity Manager   1                         Yes
  Database Administrator        2                         Yes (1 on-call)
  System Administrator          3                         Yes (2 on-call)
  Network Engineer              2                         Yes (1 on-call)
  Security Analyst              2                         Yes (SOC 24/7)
  Communications Officer        1                         Yes

4.2 Technical Resources

  — Geneva DC-2: Sufficient capacity for all critical workloads
  — Network bandwidth: Dedicated 10Gbps link between DC-1 and DC-2
  — Backup media: Air-gapped backup tapes stored at third-party vault
  — Emergency hardware: Pre-positioned replacement equipment at DC-2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

COMMUNICATION PLAN

  Stakeholder              Notification Method         Timeline
  ─────────────────────────────────────────────────────────────────────────────
  Crisis Management Team   Phone tree + Teams          Immediate
  Executive Management     Phone + email               Within 1 hour
  Board of Directors       Email + phone (Chair)       Within 4 hours
  Competent Authority      Regulatory portal           Per DORA Art. 19
  Customers                Portal + app + social       Within 2 hours
  Staff                    Email + intranet            Within 1 hour
  Media                    Press statement             As needed

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

TESTING AND MAINTENANCE SCHEDULE

  Test Type              Frequency     Last Conducted    Next Scheduled
  ─────────────────────────────────────────────────────────────────────────────
  Tabletop Exercise      Semi-annual   15 Nov 2024       15 May 2025
  Walkthrough Test       Annual        20 Jun 2024       20 Jun 2025
  Live Failover (DR)     Annual        18 Oct 2024       18 Oct 2025
  Communication Test     Semi-annual   15 Nov 2024       15 May 2025
  Backup Restoration     Quarterly     10 Dec 2024       10 Mar 2025

Test Frequency: Semi-annual (combining tabletop and live exercises)
All Critical Functions Tested: Yes (last full cycle completed October 2024)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Document History:
  v4.1  12 Jan 2025  Updated for DORA compliance; added third-party scenarios
  v4.0  15 Jan 2024  Annual review; updated BIA and recovery strategies
  v3.5  01 Jul 2023  Interim update; added cloud recovery procedures
  v3.0  12 Jan 2023  Major revision; restructured scenario procedures

Approved by: Board of Directors
Signature:   [COO]
Date:        12 January 2025

Expected Structured Facts

Example structured facts that Detrixa would extract from this evidence (synthetic data, deterministic seed).

ict_bcp_status — fs-ict-bcp-status
{
  "factId": "c1d2e3f4-a5b6-7890-cdef-100000000013",
  "evidenceId": "a0b1c2d3-e4f5-6789-abcd-100000000013",
  "evidenceClassId": "ict-bcp",
  "factType": "ict_bcp_status",
  "data": {
    "bcp_version": "4.1",
    "approval_date": "2025-01-12",
    "bia_date": "2024-12-05",
    "critical_functions_count": 8,
    "functions_with_recovery_plan": 8,
    "last_test_date": "2024-11-15",
    "test_frequency": "semi-annual",
    "all_critical_functions_tested": true
  },
  "provenance": "deterministic",
  "extractorVersion": "dora-test-generator/0.1.0",
  "extractedAt": "2025-01-15T09:00:00Z",
  "supersededBy": null
}
bcp_test_results — fs-bcp-test-results
{
  "factId": "c1d2e3f4-a5b6-7890-cdef-100000000014",
  "evidenceId": "a0b1c2d3-e4f5-6789-abcd-100000000014",
  "evidenceClassId": "bcp-test-results",
  "factType": "bcp_test_results",
  "data": {
    "test_date": "2024-11-15",
    "scenario_type": "tabletop",
    "systems_tested_count": 8,
    "test_passed": true,
    "rto_achieved": true,
    "rpo_achieved": true,
    "gaps_identified_count": 4,
    "remediation_actions_count": 6
  },
  "provenance": "deterministic",
  "extractorVersion": "dora-test-generator/0.1.0",
  "extractedAt": "2025-01-15T09:00:00Z",
  "supersededBy": null
}

BCP Test Results Register PARTIAL

CSV register of business continuity plan test executions, including test scenarios, outcomes, identified gaps, and remediation actions.

Formats
CSV
Evidence Class
bcp-test-results
Availability
PARTIAL
Update Frequency
annual
Typical Author
Business Continuity Manager
Approval Chain
Business Continuity Manager → CIO

Content Sections

Expected Fields

Common Quality Issues

View Example

Generated example artifact using the default institution profile (COMMON availability, synthetic data only).

CSV — Inline Preview
test_id,test_date,scenario,scenario_type,systems_tested,systems_tested_count,outcome,rto_target_hours,rto_achieved_hours,rto_achieved,rpo_target_hours,rpo_achieved_hours,rpo_achieved,gaps_identified,gap_description,remediation_actions,remediation_deadline,remediation_status
BCP-TEST-2024-001,2024-10-18,Data Centre Failover (Zurich DC-1 to Geneva DC-2),live_failover,"T24 Core Banking, Oracle DB, SWIFT Gateway",3,Pass,4,3.2,Yes,1,0.25,Yes,1,DR site network throughput 15% below expected during peak load,Upgrade Geneva DC-2 network links from 10Gbps to 25Gbps,2025-03-31,In Progress
BCP-TEST-2024-002,2024-10-18,Payment Processing Recovery,live_failover,"SWIFT Alliance Gateway, T24 Payment Module",2,Pass,2,1.8,Yes,0.5,0.25,Yes,0,,,,
BCP-TEST-2024-003,2024-11-15,Ransomware Attack — Core Banking,tabletop,"T24 Core Banking, Oracle DB, Backup Systems",3,Pass,4,N/A,N/A,1,N/A,N/A,2,"Immutable backup restore procedure not documented for Oracle 19c; Air-gapped backup tape retrieval time estimated at 6 hours exceeding RTO","Document Oracle 19c immutable backup restore procedure; Negotiate faster tape retrieval SLA with vault provider",2025-02-28,In Progress
BCP-TEST-2024-004,2024-11-15,Digital Channel Outage (AWS Region Failure),tabletop,"Internet Banking, Mobile Banking, AWS Infrastructure",3,Partial Pass,4,N/A,N/A,1,N/A,N/A,1,No automated multi-region failover for AWS-hosted services; manual DNS switch estimated at 45 minutes,Implement automated Route 53 health-check failover for digital channels,2025-06-30,Not Started
BCP-TEST-2024-005,2024-11-15,Third-Party Provider Failure (Temenos),tabletop,"T24 Core Banking, Temenos Support",1,Pass,8,N/A,N/A,4,N/A,N/A,1,Manual workaround procedures for core banking not tested with current staff,Schedule hands-on training for manual payment processing procedures,2025-03-31,Not Started
BCP-TEST-2024-006,2024-06-20,Full BCP Walkthrough — All Critical Functions,walkthrough,"All 8 critical business functions",8,Pass,4,N/A,N/A,1,N/A,N/A,3,"Communication plan contact list outdated; AML system recovery procedure missing step for sanctions list reload; Branch fallback procedures not communicated to new branch staff","Update contact list quarterly; Update AML recovery procedure; Include BCP briefing in branch staff onboarding",2024-12-31,Completed
BCP-TEST-2024-007,2024-12-10,Backup Restoration — Core Banking Database,simulation,"Oracle DB 19c, T24 Core Banking",2,Pass,4,2.5,Yes,1,0.75,Yes,0,,,,

Expected Structured Facts

Example structured facts that Detrixa would extract from this evidence (synthetic data, deterministic seed).

ict_bcp_status — fs-ict-bcp-status
{
  "factId": "c1d2e3f4-a5b6-7890-cdef-100000000013",
  "evidenceId": "a0b1c2d3-e4f5-6789-abcd-100000000013",
  "evidenceClassId": "ict-bcp",
  "factType": "ict_bcp_status",
  "data": {
    "bcp_version": "4.1",
    "approval_date": "2025-01-12",
    "bia_date": "2024-12-05",
    "critical_functions_count": 8,
    "functions_with_recovery_plan": 8,
    "last_test_date": "2024-11-15",
    "test_frequency": "semi-annual",
    "all_critical_functions_tested": true
  },
  "provenance": "deterministic",
  "extractorVersion": "dora-test-generator/0.1.0",
  "extractedAt": "2025-01-15T09:00:00Z",
  "supersededBy": null
}
bcp_test_results — fs-bcp-test-results
{
  "factId": "c1d2e3f4-a5b6-7890-cdef-100000000014",
  "evidenceId": "a0b1c2d3-e4f5-6789-abcd-100000000014",
  "evidenceClassId": "bcp-test-results",
  "factType": "bcp_test_results",
  "data": {
    "test_date": "2024-11-15",
    "scenario_type": "tabletop",
    "systems_tested_count": 8,
    "test_passed": true,
    "rto_achieved": true,
    "rpo_achieved": true,
    "gaps_identified_count": 4,
    "remediation_actions_count": 6
  },
  "provenance": "deterministic",
  "extractorVersion": "dora-test-generator/0.1.0",
  "extractedAt": "2025-01-15T09:00:00Z",
  "supersededBy": null
}

Fact Schemas

ict_bcp_status

Schema ID
fs-ict-bcp-status
Control
DORA-Art12-P1

Valid Ranges

approval_date
within last 18 months
bia_date
within last 12 months
last_test_date
within last 12 months

Related Schemas

JSON Schema

{
  "properties": {
    "all_critical_functions_tested": {
      "type": "boolean"
    },
    "approval_date": {
      "format": "date",
      "type": "string"
    },
    "bcp_version": {
      "type": "string"
    },
    "bia_date": {
      "format": "date",
      "type": "string"
    },
    "critical_functions_count": {
      "minimum": 0,
      "type": "integer"
    },
    "functions_with_recovery_plan": {
      "minimum": 0,
      "type": "integer"
    },
    "last_test_date": {
      "format": "date",
      "type": "string"
    },
    "test_frequency": {
      "enum": [
        "quarterly",
        "semi-annual",
        "annual"
      ],
      "type": "string"
    }
  },
  "required": [
    "bcp_version",
    "approval_date",
    "bia_date",
    "critical_functions_count",
    "last_test_date"
  ],
  "type": "object"
}

bcp_test_results

Schema ID
fs-bcp-test-results
Control
DORA-Art12-P1

Valid Ranges

test_date
within last 12 months
systems_tested_count
should cover all critical systems

Related Schemas

JSON Schema

{
  "properties": {
    "gaps_identified_count": {
      "minimum": 0,
      "type": "integer"
    },
    "remediation_actions_count": {
      "minimum": 0,
      "type": "integer"
    },
    "rpo_achieved": {
      "type": "boolean"
    },
    "rto_achieved": {
      "type": "boolean"
    },
    "scenario_type": {
      "enum": [
        "tabletop",
        "walkthrough",
        "simulation",
        "live_failover"
      ],
      "type": "string"
    },
    "systems_tested_count": {
      "minimum": 1,
      "type": "integer"
    },
    "test_date": {
      "format": "date",
      "type": "string"
    },
    "test_passed": {
      "type": "boolean"
    }
  },
  "required": [
    "test_date",
    "scenario_type",
    "systems_tested_count",
    "test_passed"
  ],
  "type": "object"
}