Skip to main content

DORA

The EU Digital Operational Resilience Act (DORA) applies to financial entities operating in the EU and their ICT third-party service providers. It mandates robust ICT risk management, incident management, and resilience testing. vybdocs contributes to the ICT risk management and testing pillars.

Who needs DORA compliance​

DORA applies to:

  • Credit institutions (banks)
  • Payment institutions
  • Investment firms
  • Insurance and reinsurance undertakings
  • Crypto-asset service providers
  • ICT third-party service providers to the above

If you build SaaS for EU financial services, you may be in scope as an ICT third-party service provider.

Key DORA articles​

ArticleNameHow vybdocs helps
Art. 9.2ICT risk management frameworkRules enforce technical risk controls in code
Art. 9.4ICT systems protectionRules ban injection vectors, insecure crypto
Art. 10ICT-related incident detectionRules require monitoring and logging instrumentation
Art. 11ICT business continuityRules enforce resilience patterns (circuit breakers, timeouts)
Art. 25Testing of ICT toolsEvidence Packs document automated testing compliance
Art. 28Third-party riskRules govern dependency management and third-party code

Applying the EU Fintech pack​

DORA-regulated entities should start with the EU Fintech pack, which includes DORA mappings:

vyb init --pack eu-fintech

Then add DORA-specific resilience rules:

categories:
scaling:
rules:
- id: scl-dora-001
name: require-circuit-breaker
description: >
External service calls must be wrapped in a circuit
breaker pattern to ensure business continuity (Art.11).
severity: warn
pattern: "fetch\\(|axios\\.get\\(|http\\.request\\("
exclude:
- "**/circuitBreaker/**"
- "**/*.test.ts"
remediation: >
Wrap external service calls with opossum or a similar
circuit breaker library. Configure a timeout and fallback.
maps-to:
- framework: dora
control: Art.11

- id: scl-dora-002
name: require-timeout-on-external-calls
description: All external HTTP calls must have explicit timeouts.
severity: block
pattern: "fetch\\([^,)]+\\)"
remediation: >
Pass an AbortSignal with a timeout:
fetch(url, { signal: AbortSignal.timeout(5000) })
DORA requires ICT systems to degrade gracefully under load.
maps-to:
- framework: dora
control: Art.9.4

ICT third-party risk (Art. 28)​

Article 28 requires financial entities to manage third-party ICT risk. Dependency rules contribute to this:

categories:
dependencies:
rules:
- id: pkg-dora-001
name: no-unpinned-dependencies
description: All production dependencies must be pinned to exact versions.
severity: warn
pattern: '"[^"]+": "\\^|"[^"]+": "~'
exclude: ["devDependencies"]
remediation: >
Pin production dependencies to exact versions in package.json.
Use npm ci (not npm install) in CI for deterministic builds.
Unpinned dependencies introduce third-party ICT risk (DORA Art.28).
maps-to:
- framework: dora
control: Art.28

Evidence Pack for DORA​

DORA Art. 25 requires that "financial entities maintain adequate records on digital operational resilience testing." The vybdocs Evidence Pack provides:

  • A timestamped record of every code change check
  • Documentation of which ICT controls were tested
  • Cryptographic non-repudiation
  • Chain integrity for tamper detection

DORA requires 5-year retention for ICT-related documentation. Configure Evidence Pack archival with a 5-year retention policy.


Return to Introduction