CRA-ASSESSMENT.md

May 6, 2026 Β· View on GitHub

Hack23 Logo

πŸ›‘οΈ EU Parliament Monitor β€” CRA Conformity Assessment

Evidence-Driven Conformity Through Systematic Assessment
Demonstrating CRA Compliance for European Parliament Intelligence Platform

Owner Version Effective Date Review Cycle

πŸ“‹ Document Owner: CEO | πŸ“„ Version: 2.2 | πŸ“… Last Updated: 2026-05-03 (UTC)
πŸ”„ Review Cycle: Quarterly | ⏰ Next Review: 2026-08-03
πŸ›οΈ Process Reference: CRA Conformity Assessment Process


πŸ“š Architecture Documentation Map

DocumentFocusDescriptionDocumentation Link
ArchitectureπŸ›οΈ ArchitectureC4 model showing current system structureView Source
Future ArchitectureπŸ›οΈ ArchitectureC4 model showing future system structureView Source
Mindmaps🧠 ConceptCurrent system component relationshipsView Source
Future Mindmaps🧠 ConceptFuture capability evolutionView Source
SWOT AnalysisπŸ’Ό BusinessCurrent strategic assessmentView Source
Future SWOT AnalysisπŸ’Ό BusinessFuture strategic opportunitiesView Source
Data ModelπŸ“Š DataCurrent data structures and relationshipsView Source
Future Data ModelπŸ“Š DataEnhanced European Parliament data architectureView Source
FlowchartsπŸ”„ ProcessCurrent data processing workflowsView Source
Future FlowchartsπŸ”„ ProcessEnhanced AI-driven workflowsView Source
State DiagramsπŸ”„ BehaviorCurrent system state transitionsView Source
Future State DiagramsπŸ”„ BehaviorEnhanced adaptive state transitionsView Source
Security ArchitectureπŸ›‘οΈ SecurityCurrent security implementationView Source
Future Security ArchitectureπŸ›‘οΈ SecuritySecurity enhancement roadmapView Source
Threat Model🎯 SecuritySTRIDE threat analysisView Source
Classification🏷️ GovernanceCIA classification & BCPView Source
CRA AssessmentπŸ›‘οΈ ComplianceCyber Resilience ActView Source
Workflowsβš™οΈ DevOpsCI/CD documentationView Source
Future WorkflowsπŸš€ DevOpsPlanned CI/CD enhancementsView Source
Business Continuity PlanπŸ”„ ResilienceRecovery planningView Source
Financial Security PlanπŸ’° FinancialCost & security analysisView Source
End-of-Life StrategyπŸ“¦ LifecycleTechnology EOL planningView Source
Unit Test PlanπŸ§ͺ TestingUnit testing strategyView Source
E2E Test PlanπŸ” TestingEnd-to-end testingView Source
Performance Testing⚑ PerformancePerformance benchmarksView Source
Security PolicyπŸ”’ SecurityVulnerability reporting & security policyView Source

🎯 Purpose Statement

Hack23 AB's CRA conformity assessment process demonstrates how systematic regulatory compliance directly enables transparency and trust in open-source European Parliament monitoring. This assessment covers the EU Parliament Monitor's compliance with the EU Cyber Resilience Act (CRA) requirements.

As a static site generating multi-language news articles from European Parliament open data, EU Parliament Monitor has a minimal attack surface while maintaining comprehensive security practices aligned with the CRA framework. This assessment follows the Hack23 AB CRA Conformity Assessment Process and the Open Source Policy requirements.

β€” James Pether SΓΆrling, CEO/Founder


1️⃣ Project Identification

πŸ“‹ AttributeπŸ“Š Value
Product Nameeuparliamentmonitor (npm package + static site)
Versionv0.8.54 (2026-05-03)
Repositorygithub.com/Hack23/euparliamentmonitor
Homepageeuparliamentmonitor.com
Security Contactsecurity@hack23.com
LicenseApache-2.0
PurposeMulti-language European Parliament transparency platform β€” 1894+ HTML articles / 14 languages / 14 article types / 15 unified gh-aw workflows (14 news-<type>.md + news-translate.md) / 3061+ tests / 52 test files
Technology StackNode.js 26, TypeScript 6.0.3, ESM, HTML5/CSS3, Vitest, Playwright
Deployment Modelnpm (provenance + SLSA L3), AWS S3 + CloudFront primary, GitHub Pages fallback
Data SourcesEuropean Parliament MCP Server 1.2.13 (public open data)
πŸ“‚ Evidence AreaπŸ“„ DocumentπŸ”— Link
System ArchitectureARCHITECTURE.mdView
Security ArchitectureSECURITY_ARCHITECTURE.mdView
Future Security ArchitectureFUTURE_SECURITY_ARCHITECTURE.mdView
Threat Model (STRIDE)THREAT_MODEL.mdView
Security PolicySECURITY.mdView
Classification & BCPCLASSIFICATION.mdView
Data ModelDATA_MODEL.mdView
System MindmapMINDMAP.mdView
Workflow DocumentationWORKFLOWS.mdView
Business ContinuityBCPPlan.mdView
Financial Security PlanFinancialSecurityPlan.mdView
End-of-Life StrategyEnd-of-Life-Strategy.mdView
Unit Test PlanUnitTestPlan.mdView
E2E Test PlanE2ETestPlan.mdView
Performance Testingperformance-testing.mdView
SBOM & ProvenanceGitHub Release ArtifactsView
OpenSSF ScorecardScorecard ResultsView
CodeQL ResultsGitHub Code ScanningView
Dependency AlertsDependabot AlertsView

2️⃣ CRA Scope & Classification

CRA Applicability Distribution Classification

CRA Product Category

πŸ“‹ AttributeπŸ“Š Assessment
Product NameEU Parliament Monitor
Product TypeOpen-source static website generator
CRA CategoryStandard β€” Default (non-critical digital product)
Digital ElementsHTML5, CSS3 (static generation via Node.js/TypeScript)
Network ConnectivityBuild-time only: read-only access to European Parliament open data APIs
Runtime NetworkNone β€” output is pre-rendered static HTML served via CDN
Data ProcessingPublic EU Parliament data only (no PII, no user data)
User InteractionRead-only static pages β€” no forms, no authentication, no cookies
Commercial StatusNon-commercial open-source (Apache-2.0 license)

Scope Justification

EU Parliament Monitor falls under CRA Article 6 β€” Standard (Default) category as a non-critical digital product. The product is an open-source static site generator that produces pre-rendered HTML pages from publicly available European Parliament data. It has no runtime network connectivity, processes no personal data, requires no user authentication, and poses minimal cybersecurity risk.

πŸ›οΈ Open Source Software CRA Exemption

Important CRA Note for Open Source Software: Under CRA Recital 18 and Article 3, open-source software developed and distributed non-commercially (subject to the "in-the-course-of-a-commercial-activity" test) may qualify for full or partial CRA exemption. EU Parliament Monitor is:

  • βœ… Free and open-source (Apache-2.0 license)
  • βœ… Non-commercial civic technology β€” zero revenue generated
  • βœ… No monetary consideration for distribution
  • βœ… No commercial exploitation by manufacturer (Hack23 AB)

Assessment: EU Parliament Monitor likely qualifies as non-commercial OSS under CRA Article 3, meaning most manufacturer obligations do NOT apply. However, the platform voluntarily implements CRA best practices as part of Hack23 AB's security commitment and ISMS framework β€” demonstrating proactive security transparency to citizens, regulators, and the open-source community.

As a non-commercial open-source project (CRA Recital 18), it benefits from reduced obligations while voluntarily maintaining comprehensive security practices aligned with CRA Annex I essential requirements.


πŸ›οΈ Article 24 OSS Steward β€” 2026-04-20 Position

The CRA introduces a dedicated Article 24 "Open-Source Software Steward" regime offering reduced obligations (versus the full manufacturer duties in Articles 13–15) for legal entities that systematically and sustainedly support non-commercial open-source projects. EU Parliament Monitor adopts this regime as its primary CRA position.

Dual-surface interpretation:

  • (a) npm package euparliamentmonitor@0.8.40 β€” as a "product with digital elements" that can be consumed by downstream commercial users, it is likely classified as Important Class I library (Annex III), subject to standard conformity assessment (Module A).
  • (b) Static website (euparliamentmonitor.com) β€” as a free public civic-transparency service that is not marketed as a product and has no runtime compute surface, it is likely non-critical (Standard / Default) and outside CRA's "product with digital elements" scope.

Adopted stance: Article 24 OSS Steward regime + Important Class I for the npm package. The static website benefits from the same controls as defense-in-depth but is treated as out-of-scope.

Responsible legal entity: Hack23 AB (Sweden) β€” as the upstream legal entity registered in the EU, Hack23 AB acts as the OSS Steward for all CRA cooperation with ENISA and national market-surveillance authorities.

Article 24 OSS Steward Duties β€” Evidence Map

Article 24 DutyEvidenceStatus
Cybersecurity policySECURITY.md + Hack23 ISMS-PUBLIC Information Security Policyβœ…
Vulnerability handling processSECURITY.md + .github/workflows/codeql.yml + Dependabot + .github/workflows/scorecards.yml + gh-advisory-database gateβœ…
Coordinated disclosure policySECURITY.md disclosure section (GitHub private vulnerability reporting enabled)βœ…
SBOMCycloneDX from package-lock.json + tool-schemas.json; npm provenance statements; SLSA L3 attestations⚠️ SBOM auto-publish gap (see §Gap Table)
Cooperation with market surveillanceHack23 AB (Sweden) as responsible legal entity; contact via SECURITY.mdβœ…
Documentation of security risksTHREAT_MODEL.md + SECURITY_ARCHITECTURE.md + this documentβœ…

2️⃣ᡃ EU CRA Enforcement Timeline

Understanding CRA's phased enforcement timeline is essential for compliance planning. EU Parliament Monitor monitors these milestones to ensure timely readiness.

πŸ—“οΈ MilestoneπŸ“… DateπŸ“‹ Requirements🚦 Status
CRA Published in Official Journal2024-11-20Regulation (EU) 2024/2847 publishedβœ… Completed
CRA Entry into Force2024-12-1120 days after publication in Official Journalβœ… Completed
Market Surveillance Provisions2026-06-11Chapter VI market surveillance rules applicable (18 months)πŸ”„ Upcoming
Vulnerability & Incident Reporting Obligations2026-09-11Articles 14 & 15 β€” Vulnerability and incident reporting to ENISA/national CSIRTsπŸ”„ Upcoming
Full CRA Compliance Required2027-12-11All CRA requirements for manufacturers, importers, and distributorsπŸ”„ Upcoming
CE Marking Mandatory2027-12-11Products covered by CRA must bear CE markingN/A (non-commercial OSS)

πŸ“ Current Position (Feb 2026): CRA is in force. Vulnerability reporting requirements under Articles 14 & 15 apply from September 2026 β€” approximately 7 months away. EU Parliament Monitor's existing SECURITY.md coordinated disclosure process and GitHub Security Advisories integration already satisfies these upcoming requirements. No additional action required before the September 2026 deadline.

gantt
    title EU CRA Enforcement Timeline
    dateFormat  YYYY-MM-DD
    axisFormat  %b %Y

    section Completed
    CRA Published (2024-11-20)          :done, pub,  2024-11-20, 1d
    CRA Entry into Force (2024-12-11)   :done, eif,  2024-12-11, 1d

    section Upcoming
    Market Surveillance (2026-06-11)    :active, ms,  2026-06-11, 30d
    Vulnerability Reporting (2026-09-11):active, vr,  2026-09-11, 30d
    Full CRA Compliance (2027-12-11)    :crit, fc,  2027-12-11, 30d

3️⃣ Technical Documentation (CRA Annex V)

πŸ“‹ CRA Technical AreaπŸ“Š ImplementationπŸ”— Evidence
Product ArchitectureC4 architecture model (Context, Container, Component levels); static site generator with GitHub Pages deployment; Node.js 26/TypeScript build pipelineARCHITECTURE.md, SECURITY_ARCHITECTURE.md, MINDMAP.md
SBOM & ComponentsCycloneDX SBOM generated per release; npm package-lock.json provides full dependency tree; single runtime dependency (european-parliament-mcp-server)GitHub Release Attestations, package.json
Cybersecurity ControlsStatic site security model (no server-side code execution); CSP headers via GitHub Pages; Content Security Policy; HTTPS-only delivery; no cookies or trackingSECURITY_ARCHITECTURE.md, THREAT_MODEL.md
Supply Chain SecuritySLSA Level 3 provenance via release.yml; Dependabot daily dependency scanning; OpenSSF Scorecard weekly assessment; dependency-review on PRs; npm audit in CIrelease.yml, scorecards.yml, OpenSSF Scorecard
Update MechanismAutomated CI/CD via GitHub Actions; daily news generation workflows; automated dependency updates via Dependabot PRs; release workflow with SBOM and provenance attestationWORKFLOWS.md, release.yml
Security MonitoringCodeQL SAST on every push/PR; Dependabot alerts with severity-based SLAs; SonarCloud code quality analysis; ESLint with security plugin; HTMLHint for output validationcodeql.yml, dependency-review.yml
Data ProtectionPublic data only β€” all source data from official European Parliament open data portal; no PII collected, processed, or stored; no user tracking or analytics; GDPR compliant by designCLASSIFICATION.md, SECURITY.md
User GuidanceREADME.md with quick-start instructions; comprehensive architecture documentation suite (20+ documents); Security Policy with vulnerability reporting process; API documentationREADME.md, SECURITY.md, ARCHITECTURE.md
Vulnerability DisclosureGitHub Security Advisories enabled; coordinated disclosure process in SECURITY.md; severity-based SLAs (Critical: 7 days, High: 30 days, Medium: 90 days); security@hack23.com contactSECURITY.md, GitHub Security Advisories
Technology LifecycleEnd-of-Life Strategy documenting Node.js 26 LTS support timeline (Node.js 26 nightly CI testing active); dependency lifecycle tracking; proactive technology migration planningEnd-of-Life-Strategy.md
Testing & ValidationVitest unit tests (82%+ coverage); Playwright E2E tests across 14 languages; axe-core accessibility testing (WCAG 2.1 AA); Lighthouse performance benchmarking; ESLint + HTMLHint lintingUnitTestPlan.md, E2ETestPlan.md, performance-testing.md
Business ContinuityGitHub Pages CDN with global distribution; git-based disaster recovery; repository mirroring capability; classification-driven recovery prioritiesBCPPlan.md, FinancialSecurityPlan.md

πŸ“¦ SBOM Implementation Details

EU Parliament Monitor generates a comprehensive Software Bill of Materials (SBOM) for every release per CRA Annex I, Part I, Β§2(3) requirements β€” ensuring complete software supply chain transparency.

πŸ“‹ SBOM AttributeπŸ”§ ImplementationπŸ“œ CRA Requirementβœ… Status
SBOM FormatSPDX JSON (via npm list --json)Machine-readable formatβœ…
Component InventoryAll npm dependencies β€” direct and transitiveComplete software component listingβœ…
Version InformationExact semantic versions from package-lock.jsonPrecise version identificationβœ…
License InformationREUSE.toml + SPDX headers per fileLicense compliance metadataβœ…
Vulnerability Statusnpm audit + Dependabot alertsKnown vulnerability trackingβœ…
Generation FrequencyOn every release via GitHub Actions release workflowCurrent at time of distributionβœ…
Public AvailabilityReleased as GitHub Release artifactFreely accessible to downstream usersβœ…

Note: The package-lock.json provides a machine-readable, version-pinned dependency graph that serves as a complementary SBOM artifact for all build-time consumers. Both the CycloneDX SBOM (generated per release) and package-lock.json are publicly accessible, fulfilling CRA Annex I Part II Β§7.


4️⃣ Risk Assessment

🎯 CRA Risk CategoryπŸ’Ž AssetπŸ“Š LikelihoodπŸ’₯ ImpactπŸ›‘οΈ CRA Control ImplementationπŸ“‰ ResidualπŸ”— Evidence
Supply Chain CompromiseBuild pipeline, npm dependencies🟑 Medium🟑 MediumSLSA Level 3 provenance; Dependabot daily scanning; dependency-review workflow; npm audit in CI; lock file integrity verification🟒 Lowrelease.yml, dependency-review.yml
Known Vulnerability ExploitationNode.js runtime, npm packages🟑 Medium🟑 MediumCodeQL SAST on every push; Dependabot with severity-based SLAs; OpenSSF Scorecard assessment; npm audit enforcement; ESLint security plugin🟒 Lowcodeql.yml, SECURITY.md
Content Integrity CompromiseGenerated HTML/CSS news articles🟒 Low🟑 MediumGit-based version control with signed commits; HTMLHint output validation; Playwright E2E verification; immutable deployment artifacts🟒 LowARCHITECTURE.md, E2ETestPlan.md
CI/CD Pipeline TamperingGitHub Actions workflows🟒 Low🟑 MediumBranch protection rules; required PR reviews; pinned action versions; workflow permissions with least privilege; CODEOWNERS enforcement🟒 LowWORKFLOWS.md, scorecards.yml
Data Source ManipulationEuropean Parliament MCP Server data🟒 Low🟒 LowRead-only access to official EU Parliament open data; data consumed at build-time only; output reviewed before deployment; public data with inherent transparency🟒 LowDATA_MODEL.md, SECURITY_ARCHITECTURE.md
Availability DisruptionStatic site hosted on GitHub Pages🟒 Low🟒 LowGitHub Pages CDN with 99.9%+ uptime SLA; static files require no server-side processing; git-based disaster recovery; no database dependencies🟒 LowBCPPlan.md, CLASSIFICATION.md
Cross-Site Scripting (XSS)Generated HTML pages in 14 languages🟒 Low🟑 MediumNo user input accepted at runtime; content generated from sanitized templates; HTMLHint validation; CSP headers; static pre-rendered output only🟒 LowTHREAT_MODEL.md, SECURITY_ARCHITECTURE.md
License & IP ComplianceOpen-source dependencies, Apache-2.0 license🟒 Low🟒 LowREUSE compliance checking via reuse.yml workflow; SBOM generation with license metadata; Apache-2.0 compatible dependency selection🟒 Lowreuse.yml, REUSE.toml

5️⃣ Essential Requirements Assessment (CRA Annex I)

Part I: Security Properties of Products with Digital Elements

#πŸ“‹ CRA Requirementβœ… StatusπŸ”§ ImplementationπŸ”— Evidence
1Delivered without known exploitable vulnerabilitiesβœ… MetAutomated dependency scanning via Dependabot (daily); CodeQL SAST on every push/PR; npm audit enforcement in CI pipeline; zero known critical/high vulnerabilities maintainedcodeql.yml, SECURITY.md, GitHub Code Scanning
2Secure by default configurationβœ… MetStatic site requires zero configuration; no server processes, no databases, no authentication configuration needed; CSP headers enforced via GitHub Pages; HTTPS-only delivery; no optional insecure modesSECURITY_ARCHITECTURE.md, ARCHITECTURE.md
3Protection against unauthorized accessβœ… N/ANo authentication or authorization needed β€” platform serves public information only; no admin interface; no writable API endpoints; GitHub repository access controlled via branch protection and CODEOWNERSSECURITY.md, THREAT_MODEL.md
4Protect confidentiality of stored/transmitted/processed dataβœ… MetNo personal or confidential data processed; all European Parliament data is public and freely available; HTTPS-only delivery ensures transport confidentiality; no cookies, local storage, or session dataCLASSIFICATION.md, SECURITY_ARCHITECTURE.md
5Protect integrity of stored/transmitted/processed dataβœ… MetGit-based version control with immutable commit history; SLSA Level 3 provenance for release artifacts; HTMLHint validation on all generated content; Playwright E2E tests verify output integrity across 14 languagesrelease.yml, E2ETestPlan.md
6Process only data adequate, relevant, and necessaryβœ… MetData minimization by design β€” only public European Parliament data processed; no telemetry, analytics, or user tracking; no personal data collection; build-time data processing with no runtime data flowsDATA_MODEL.md, CLASSIFICATION.md
7Protect availability of essential functionsβœ… MetGitHub Pages CDN provides global distribution with 99.9%+ uptime; static HTML files require no server-side compute; no single points of failure in serving; BCP plan covers disaster recoveryBCPPlan.md, ARCHITECTURE.md
8Minimize negative impact on availability of services provided by other devices/networksβœ… MetStatic site generates zero outbound network traffic at runtime; no WebSockets, no API calls, no tracking pixels; no JavaScript required for content rendering; minimal bandwidth consumptionSECURITY_ARCHITECTURE.md, performance-testing.md
9Designed and produced to limit attack surfacesβœ… MetMinimal attack surface: pre-rendered static HTML/CSS with no JavaScript execution required; no server-side code; no user input processing at runtime; no database connections; CDN-delivered immutable filesTHREAT_MODEL.md, ARCHITECTURE.md
10Designed to reduce impact of security incidentsβœ… MetStatic site architecture inherently limits blast radius; no persistent server state to compromise; no user data at risk; content easily regenerated from git; rollback via git revertBCPPlan.md, SECURITY_ARCHITECTURE.md
11Provide security-relevant information through recording/monitoringβœ… MetGitHub Actions provides complete CI/CD audit trail; GitHub Pages access logs available; CodeQL findings tracked via GitHub Code Scanning; Dependabot alerts with historical recordsWORKFLOWS.md, codeql.yml
12Provide ability to remove data by usersβœ… N/ANo user data collected, stored, or processed; no user accounts; no forms; no cookies; no local storage usage; GDPR data subject rights not applicableCLASSIFICATION.md
13Security updates shall be made availableβœ… MetAutomated CI/CD pipeline for rapid deployment; Dependabot auto-generates PRs for vulnerable dependencies; release workflow generates SBOM and provenance attestation; severity-based remediation SLAs documentedSECURITY.md, release.yml

πŸ”„ Annex I Part I β€” 2026-04-20 Evidence Map Refresh

Supplementary evidence map aligning each Annex I Part I essential cybersecurity requirement to current implementation artefacts. Complements the table above.

  • Secure-by-default ← static site, no auth, HSTS + CSP <meta http-equiv> emitted by src/aggregator/article-html.ts (shared chrome, applied uniformly to every rendered language variant); deterministic markdown render via markdown-it (raw HTML disabled by default) + src/utils/html-sanitize.ts; branded type safety system (SafeHtmlString, SafeXmlString, AbsoluteUrl, RelativeFilePath in src/generators/shared/) eliminates unescaped-string interpolation at compile time; shell-safety enforcement (test/unit/shell-safety.test.js) ensures no agentic workflow helper uses dangerous expansion patterns
  • No known exploitable vulns at release ← CodeQL + Dependabot + gh-advisory-database gate (blocks PRs with new advisories); SBOM includes markdown-it and its audit-enabled plugin set (markdown-it-anchor, markdown-it-footnote, markdown-it-attrs, markdown-it-deflist)
  • Authenticated / integrity-verified updates ← npm provenance statements + SLSA L3 build attestations + signed commits via CODEOWNERS
  • Confidentiality ← TLS 1.2+/1.3 on all outbound HTTPS (WB, IMF, GitHub, npm, AWS); no user PII collected, stored, or transmitted
  • Integrity ← src/utils/html-sanitize.ts on every MCP string; compile-time branded types prevent raw-string interpolation into HTML/XML templates (see SECURITY_ARCHITECTURE.md Β§Branded Type Safety System); canonical tool-list drift tests (IMF + WB + EP asserted in test/integration/mcp/*); Stage-C completeness review over the committed artifact set (agent-side; the runtime validator in src/utils/validate-analysis-completeness.ts was purged with the aggregator migration β€” see SECURITY_ARCHITECTURE.md Β§ Aggregator Migration for the defence-in-depth rationale)
  • Data minimization ← no accounts, no tracking, no analytics; theme preference only in localStorage (no cross-site tracking)
  • Availability ← BCP per-asset RTO/RPO targets; gh-aw engine-switch (Copilot ↔ Claude ↔ Codex); editorial IMF-primary rule enforced at Stage-C review (the Wave-2 articlePolicyHasEconomicContext runtime OR-gate was purged with the aggregator migration β€” policy now lives in analysis/methodologies/imf-indicator-mapping.md)
  • Attack surface minimization ← static content only; no AI-authored HTML step (aggregator eliminates the template-prose-leak class of defects); AWF Squid firewall egress allowlist; Docker sandbox for agentic workflows; shell-safety filter blocks 9 classes of dangerous bash expansion in agent-emitted code (nested expansion, indirect expansion, ${var@P} transformation, nested command substitution, default-with-$(), redirection inside $(), adjacent ${RANDOM}, eval) β€” enforcement via test/unit/shell-safety.test.js drift guard + prompt-level rules (.github/prompts/00-scope-and-ground-rules.md Β§47)
  • Impact mitigation ← OIDC federation (no long-lived keys on GitHubβ†’AWS or GitHubβ†’npm); max-patch-size caps; safe-outputs scoped to PR only
  • Logging ← JSONL agent stdio audit trail; AWS CloudTrail; GitHub audit log; CodeQL findings persisted as security alerts
  • Remediation ← Dependabot auto-PRs for vulnerable deps; pinned GH_AW_VERSION=v0.71.3 with documented bump procedure; rollback via git revert (BCP Scenario 11)

Part II: Vulnerability Handling Requirements

#πŸ“‹ CRA Requirementβœ… StatusπŸ”§ ImplementationπŸ”— Evidence
1Identify and document vulnerabilities and componentsβœ… MetSECURITY.md documents vulnerability reporting process; THREAT_MODEL.md provides STRIDE analysis; CycloneDX SBOM generated per release cataloging all components; package-lock.json provides complete dependency treeSECURITY.md, THREAT_MODEL.md, GitHub Releases
2Address and remediate vulnerabilities without delayβœ… MetSeverity-based SLAs: Critical (7 days), High (30 days), Medium (90 days); Dependabot auto-generates update PRs; CodeQL runs on every commit; automated npm audit in CI pipelineSECURITY.md, Dependabot Alerts
3Apply effective and regular testing and reviewβœ… MetVitest unit tests (82%+ coverage); Playwright E2E tests across all 14 language pages; axe-core accessibility testing (WCAG 2.1 AA); Lighthouse performance benchmarks; ESLint + HTMLHint linting; CodeQL SAST; jscpd code duplication detectionUnitTestPlan.md, E2ETestPlan.md, performance-testing.md
4Publicly disclose information about fixed vulnerabilitiesβœ… MetGitHub Security Advisories enabled for coordinated disclosure; fixed vulnerabilities published via GitHub releases; security@hack23.com for private reporting; public SECURITY.md documents full processSECURITY.md, GitHub Security Advisories
5Provide mechanism for security updatesβœ… MetAutomated CI/CD pipeline via GitHub Actions; Dependabot generates PRs for dependency updates; SLSA Level 3 provenance ensures update integrity; static site redeploys automatically on merge to main branchWORKFLOWS.md, release.yml
6Share vulnerability information in a timely mannerβœ… MetPublic SECURITY.md with clear reporting instructions; GitHub Security Advisories with CVE assignment capability; coordinated disclosure timeline (acknowledge 48h, validate 7d, remediate per SLA); public security metricsSECURITY.md
7Provide a machine-readable SBOMβœ… MetCycloneDX SBOM generated in release workflow; npm package-lock.json provides exact dependency versions; SLSA provenance attestation links SBOM to build; REUSE compliance for license metadatarelease.yml, REUSE.toml
8Define security support periodβœ… MetEnd-of-Life Strategy documents technology lifecycle and support timeline; Node.js 26 LTS active (Node.js 26 nightly CI testing); dependency EOL monitoring; proactive migration planning documentedEnd-of-Life-Strategy.md, SECURITY.md

πŸ”„ Annex I Part II β€” 2026-04-20 Vulnerability Handling Evidence Map

Supplementary evidence map mapping each Annex I Part II vulnerability-handling duty to current implementation artefacts.

  • Identify & document vulnerabilities ← GitHub Security Advisories + private vulnerability reporting + CodeQL + Dependabot alerts
  • Address without delay (free security updates) ← npm patch releases distributed via automated release workflow; severity SLAs (Critical 7d / High 30d / Medium 90d)
  • Public disclosure ← coordinated disclosure via SECURITY.md; CVE assignment through GitHub Security Advisories
  • Secure distribution of updates ← npm provenance statements + SLSA L3 build attestations; signed release commits
  • 24h CVE reporting to ENISA ← process documented in SECURITY.md; responsible party Hack23 AB CEO (not yet exercised β€” see Β§Gap Table for ENISA runbook)

5️⃣ᡃ Substantial Compliance Overlap

The platform's existing compliance programme β€” OpenSSF Scorecard, OpenSSF Best Practices #12068, SLSA Level 3 build attestations, SPDX license metadata (REUSE.toml), CodeQL SAST, Dependabot SCA, gh-advisory-database publish-gate, npm provenance, and the ISMS-PUBLIC policy framework β€” together deliver substantial CRA compliance today. The residual delta between current coverage and the December 2027 full-compliance deadline is tracked in the gap table below and is dominated by (a) CycloneDX SBOM auto-publish per release, (b) ENISA 24-hour CVE reporting runbook, and (c) EP MCP canonical tool-list drift test. None of these are technically blocking; they are procedural hardening items scheduled across 2026–2027.


5️⃣ᡇ Compliance Gap Table β€” December 2027 Readiness

Tracking delta to CRA full-compliance deadline (2027-12-11). All Article 24 OSS Steward duties and Annex I Parts I + II essential requirements are mapped. Items marked βœ… Complete require no further action; ⚠️/Gap items have owners and target dates.

#CRA RequirementCurrent StatusEvidenceGapTarget Date
1Article 24 OSS Steward self-declarationDraftThis doc Β§2Need Hack23 AB signed legal declaration2026-Q3
2CycloneDX SBOM auto-publish per releaseGapManual generation onlyAdd CycloneDX generation step to release.yml with release-asset upload2026-Q4
3CVE 24h ENISA reporting runbookGapNoneDraft runbook + test ENISA Single Point of Contact (SPOC) form submission path2027-Q1
4Vulnerability handling process docsβœ… CompleteSECURITY.mdβ€”β€”
5Coordinated disclosure policyβœ… CompleteSECURITY.mdβ€”β€”
6npm provenance + SLSA L3βœ… Completerelease.ymlβ€”β€”
7Branch protection + required reviewsβœ… CompleteGitHub repository settingsβ€”β€”
8CodeQL + Dependabot + Scorecards + gh-advisory-databaseβœ… Complete.github/workflows/β€”β€”
9CSP + HSTS + security headers (per-article meta tag)βœ… Completesrc/aggregator/article-html.tsConsider CloudFront response-headers policy as defense-in-depth layer2027-Q2
10Threat Model + Risk Assessmentβœ… CompleteTHREAT_MODEL.md v2.1β€”β€”
11BCP + incident responseβœ… CompleteBCPPlan.md v2.1β€”β€”
12SPDX licensingβœ… CompleteREUSE.toml + .github/workflows/reuse.ymlβ€”β€”
13EP MCP canonical tool-list drift testβœ… Completesrc/mcp/ep-mcp-client.ts exports EP_MCP_TOOLS (60+ tools); drift-guarded by test/integration/mcp/ep-mcp.test.jsβ€”β€”
14Security advisories auto-subscribe monitoringPartialDependabot monitors npm advisoriesExtend monitoring to upstream EP MCP repository (european-parliament-mcp-server) via repo watching + advisory feed2026-Q4

5οΈβƒ£αΆœ CE Marking Position

CE marking under CRA Article 13(3) applies to commercial manufacturers of products with digital elements. For open-source software distributed under the Article 24 OSS Steward regime, CE marking is not clearly required β€” open-source stewardship is a distinct regulatory regime from CE marking of commercial products, and the current draft ENISA guidance treats the two regimes separately.

Hack23 AB is monitoring EU Commission implementing acts and ENISA guidance for any determination that would extend CE marking obligations to OSS stewards or to npm packages distributed free-of-charge. The CE marking determination will be revisited Q4 2027 as the December 2027 full-compliance deadline approaches, or sooner if the Commission publishes clarifying implementing acts. Until then, no CE marking is affixed to any EU Parliament Monitor artefact.


6️⃣ Conformity Assessment Procedure

Assessment Methodology

EU Parliament Monitor follows CRA Module A β€” Internal Production Control (self-assessment), which is the appropriate conformity assessment procedure for Standard (Default) category digital products. This assessment is conducted by Hack23 AB as the manufacturer/maintainer.

Self-Assessment Process

flowchart TD
    A([Start Assessment]) --> B[Review CRA Annex I Requirements]
    B --> C[Map Technical Documentation]
    C --> D[Evaluate Security Controls]
    D --> E[Verify Testing Evidence]
    E --> F[Assess Supply Chain Security]
    F --> G{All Requirements Met?}
    G -->|Yes| H[Document Conformity]
    G -->|No| I[Implement Remediation]
    I --> D
    H --> J[CEO Review & Approval]
    J --> K[Publish Assessment]
    K --> L([Quarterly Review Cycle])
    L --> B

    style A fill:#003399,stroke:#FFCC00,color:#FFFFFF
    style H fill:#009933,stroke:#FFCC00,color:#FFFFFF
    style L fill:#003399,stroke:#FFCC00,color:#FFFFFF

Self-Assessment Checklist

βœ…πŸ“‹ Conformity CheckpointπŸ“Š StatusπŸ“… Verified
βœ…CRA Annex I Part I β€” All security property requirements assessedComplete2026-02-25
βœ…CRA Annex I Part II β€” All vulnerability handling requirements assessedComplete2026-02-25
βœ…CRA Annex V β€” Technical documentation complete and currentComplete2026-02-25
βœ…SBOM β€” Machine-readable CycloneDX SBOM generated per releaseComplete2026-02-25
βœ…SLSA β€” Level 3 provenance attestation for release artifactsComplete2026-02-25
βœ…Vulnerability Disclosure β€” SECURITY.md with coordinated disclosure processComplete2026-02-25
βœ…Security Testing β€” SAST (CodeQL), SCA (Dependabot), unit, E2E, accessibilityComplete2026-02-25
βœ…Lifecycle Management β€” End-of-Life Strategy documenting support periodComplete2026-02-25
βœ…Risk Assessment β€” STRIDE threat model with residual risk evaluationComplete2026-02-25
βœ…ISMS Alignment β€” Mapped to Hack23 ISMS public policy frameworkComplete2026-02-25

CRA Article Cross-References

  • Article 6: Scope determination β†’ Section 2 (CRA Scope & Classification)
  • Article 11: Essential cybersecurity requirements β†’ Section 5 (Essential Requirements Assessment)
  • Article 19: Conformity assessment β†’ Section 6 (Conformity Assessment Procedure)
  • Article 23: Post-market obligations β†’ Section 7 (ISMS Policy Alignment for ongoing monitoring)
  • Annex I: Technical requirements β†’ Section 5 (Essential Requirements self-assessment)
  • Annex V: Technical documentation β†’ Section 3 (Technical Documentation)

6️⃣ᡃ Conformity Assessment Evidence

Supports CRA Article 19 β€” Conformity Assessment Documentation

πŸ“Š Quality & Security Automation Status

Reference: Secure Development Policy

πŸ§ͺ Control🎯 Requirementβœ… ImplementationπŸ“‹ Evidence
πŸ§ͺ Unit Testingβ‰₯80% line coverage, β‰₯70% branchβœ… 82%+ coverageUnitTestPlan.md + Vitest reports
🌐 E2E TestingCritical user journeys validatedβœ… 14 language pagesE2ETestPlan.md + Playwright reports
πŸ” SAST ScanningZero critical/high vulnerabilitiesβœ… CodeQL cleanCodeQL
πŸ“¦ SCA ScanningZero critical unresolved dependenciesβœ… Dependabot activeSecurity Overview
πŸ”’ Secret ScanningZero exposed secrets/credentialsβœ… GitHub Secret ScanningSecurity Overview
πŸ“¦ SBOM GenerationCycloneDX per releaseβœ… AutomatedRelease Artifacts
πŸ›‘οΈ ProvenanceSLSA Level 3 attestationβœ… ActiveAttestations
πŸ“Š Quality GatesESLint + HTMLHint + Prettierβœ… Enforced in CIValidate Workflow
πŸ“œ License ComplianceREUSE specificationβœ… FSFE REUSE compliantREUSE

πŸŽ–οΈ Security & Compliance Badges

OpenSSF Scorecard OpenSSF Best Practices SLSA 3 CodeQL REUSE Compliance License

πŸ“¦ Release Evidence Pattern

Each release includes CRA-aligned evidence:

release/v0.7.x/
β”œβ”€β”€ euparliamentmonitor-v0.7.x-sbom.json    # CycloneDX SBOM (Annex V)
β”œβ”€β”€ euparliamentmonitor-v0.7.x.tar.gz       # Source archive
β”œβ”€β”€ SLSA attestation (GitHub)                # Level 3 provenance
β”œβ”€β”€ OpenSSF Scorecard (weekly)               # Supply chain security
└── CodeQL results (per-commit)              # SAST findings

7️⃣ Security Testing Evidence

Automated Security Controls

πŸ›‘οΈ ControlπŸ”§ ToolπŸ“Š Frequencyβœ… Status
SASTCodeQLEvery push/PRCodeQL
SCADependabotDailyβœ… Active
Dependency ReviewGitHub dependency-review-actionEvery PRβœ… Active
LintingESLint (security plugin) + HTMLHintEvery push/PRβœ… Active
SBOMCycloneDXEvery releaseβœ… Active
ScorecardOpenSSF ScorecardWeeklyScorecard
SLSA ProvenanceSLSA Level 3Every releaseβœ… Active
License ComplianceREUSEEvery push/PRREUSE

Testing Coverage

πŸ§ͺ Test TypeπŸ”§ FrameworkπŸ“Š CoverageπŸ“‹ Reference
Unit TestsVitest + v8 coverage82%+ code coverageUnitTestPlan.md
E2E TestsPlaywright14 language pages verifiedE2ETestPlan.md
AccessibilityPlaywright + axe-coreWCAG 2.1 AA complianceE2ETestPlan.md
PerformanceLighthouseCore Web Vitals benchmarksperformance-testing.md
HTML ValidationHTMLHintAll output HTML filespackage.json scripts
Code QualityESLint + SonarCloud + jscpdTypeScript source analysiseslint.config.js

8️⃣ Comprehensive ISMS Policy Alignment

🏷️ ISMS PolicyπŸ“‹ CRA MappingπŸ”§ EU Parliament Monitor Implementationβœ… Status
πŸ” Information Security PolicyOverall CRA governanceSecurity-by-design static site architecture; public data classification; comprehensive security documentationβœ… Aligned
πŸ› οΈ Secure Development PolicyAnnex I Part I (1–13)CodeQL SAST; ESLint security plugin; Vitest/Playwright testing; branch protection; PR reviews; automated CI/CD gatesβœ… Aligned
πŸ” Vulnerability ManagementAnnex I Part II (1–8)Dependabot daily scanning; severity-based SLAs (Critical 7d, High 30d); GitHub Security Advisories; coordinated disclosure via SECURITY.mdβœ… Aligned
πŸ“ Change ManagementSecurity updates (Annex I Part II Β§5)Git-based change tracking; required PR reviews; automated testing gates; deployment via CI/CD; release workflow with SBOMβœ… Aligned
🏷️ Classification FrameworkRisk assessmentCIA classification (Public/Moderate/Standard); impact analysis; classification-driven security controlsβœ… Aligned
πŸ”’ Cryptography PolicyData confidentiality (Annex I Part I Β§4)HTTPS-only delivery via GitHub Pages; TLS 1.2+ for all transport; no cryptographic key management needed (static site)βœ… Aligned
πŸ”‘ Access Control PolicyUnauthorized access (Annex I Part I Β§3)GitHub repository access controls; branch protection; CODEOWNERS enforcement; no end-user authentication (public site)βœ… Aligned
🀝 Third Party ManagementSupply chain securityDependabot for dependency monitoring; SLSA Level 3 provenance; dependency-review on PRs; npm audit enforcement; pinned action versionsβœ… Aligned
πŸ”“ Open Source PolicyOSS governanceApache-2.0 license; REUSE compliance; SBOM generation; public security policy; coordinated disclosure processβœ… Aligned
🚨 Incident Response PlanPost-market surveillanceSecurity incident handling procedures; communication protocols; forensics capability; GitHub Security Advisories integrationβœ… Aligned
πŸ”„ Business Continuity PlanAvailability (Annex I Part I Β§7)GitHub Pages CDN resilience; git-based disaster recovery; static site regeneration capability; documented BCPβœ… Aligned
πŸ’Ύ Backup Recovery PolicyData integrity (Annex I Part I Β§5)Git repository as immutable backup; GitHub Pages deployment history; full site regeneration from sourceβœ… Aligned
πŸ“Š Security MetricsMonitoring & recording (Annex I Part I Β§11)CodeQL scan results tracking; Dependabot alert metrics; test coverage reporting; OpenSSF Scorecard trendingβœ… Aligned
πŸ“Š Risk Assessment MethodologyCRA risk evaluationSTRIDE threat model; risk categorization with likelihood/impact assessment; residual risk evaluation; evidence-linked controlsβœ… Aligned
🏷️ Data Classification PolicyData handling (Annex I Part I Β§6)Public data only classification; no PII handling; data minimization by design; EU Parliament open data sourcingβœ… Aligned
🌐 ISMS Transparency PlanDisclosure & transparencyPublic security documentation; open-source CRA assessment; transparent vulnerability reporting; community engagementβœ… Aligned

ISMS Integration Benefits

  • πŸ”„ Operational Continuity: CRA self-assessment integrated with existing ISMS security operations and review cycles
  • πŸ“Š Evidence Reuse: Security metrics, test results, and monitoring data serve dual ISMS/CRA documentation purposes
  • 🎯 Minimal Overhead: Static site architecture naturally satisfies many CRA requirements through design simplicity
  • 🀝 Stakeholder Confidence: Transparent assessment demonstrates professional security practices for open-source civic technology

πŸ”€ ISO 27001:2022 ↔ EU CRA Cross-Reference

The table below maps ISO 27001:2022 controls directly to CRA Annex I references, demonstrating how Hack23 AB's existing ISMS controls satisfy CRA essential requirements β€” minimising compliance overhead through integrated governance.

πŸ›οΈ ISO 27001:2022 ControlπŸ“œ CRA Annex I ReferenceπŸ“‹ Descriptionβœ… Status
A.5.1 Information security policiesPart I Β§1 (Security by default)Security governance framework establishing security-by-design principlesβœ… Aligned
A.8.8 Technical vulnerability managementPart I Β§2(2) (Vulnerability handling)CVE tracking, Dependabot scanning, and severity-based remediation SLAsβœ… Aligned
A.8.25 Secure development lifecyclePart II Β§1 (Secure development)SDLC security integration via CodeQL SAST, PR reviews, and CI/CD gatesβœ… Aligned
A.5.24 Information security incident managementPart I Β§2(5) (Incident reporting)Security incident procedures via SECURITY.md and GitHub Security Advisoriesβœ… Aligned
A.8.13 Information backupPart I Β§5 (Data integrity)Git-based immutable backup strategy with full site regeneration capabilityβœ… Aligned
A.5.36 Compliance with policies and standardsModule A self-assessmentOngoing conformity verification through quarterly CRA assessment review cycleβœ… Aligned
A.8.20 Network securityPart I Β§8 (Availability of other services)Static site generates zero runtime outbound traffic; no network attack surface at runtimeβœ… Aligned
A.8.29 Security testing in developmentPart II Β§3 (Regular testing)Vitest unit tests, Playwright E2E, axe-core accessibility, and Lighthouse performanceβœ… Aligned
A.5.20 Addressing security in supplier agreementsPart I supply chain (Β§9)SLSA Level 3 provenance, dependency-review workflow, pinned action versionsβœ… Aligned

9️⃣ Post-Market Surveillance

Supports CRA Article 23 β€” Obligations of Economic Operators

πŸ“‘ CRA Monitoring ObligationπŸ”§ Implementation⏱️ Frequency🎯 Action TriggerπŸ“‹ Evidence
πŸ” Vulnerability Monitoring (Art. 23.1)CVE feeds via Dependabot + GitHub Advisory DatabaseContinuousAuto-create Dependabot PRsSecurity Overview
🚨 Incident Reporting (Art. 23.2)SECURITY.md coordinated disclosure processReal-timeENISA 24h notification readinessSECURITY.md
πŸ“Š Security Posture Tracking (Art. 23.3)OpenSSF Scorecard + CodeQL monitoringWeeklyScore decline triggers investigationScorecard
πŸ”„ Update Distribution (Art. 23.4)GitHub Releases with SLSA attestationAs neededCritical vulnerability patchesReleases

πŸ“‹ CRA Reporting Readiness: Documentation and procedures prepared for ENISA incident reporting per Incident Response Plan

πŸ”— ISMS Monitoring Integration:


πŸ€– AI Agent-Driven CRA Compliance

Supports CRA Article 16 β€” Quality Management System through Automated Evidence Generation

πŸ“‹ Automated Compliance Workflow

Hack23 AB's curated agent ecosystem monitors and validates CRA evidence generated by automated workflows:

flowchart TD
    BUILD[πŸ”¨ Build Process<br/>GitHub Actions Workflow] --> SBOM_GEN[πŸ“¦ SBOM Generation<br/>CycloneDX + Dependency Graph]
    SBOM_GEN --> AGENT_REVIEW[πŸ€– Task Agent<br/>SBOM Validation & Gap Detection]

    AGENT_REVIEW --> VULN_SCAN[πŸ” Vulnerability Scanning<br/>Dependabot + CodeQL]
    VULN_SCAN --> AGENT_TRIAGE[πŸ€– Agent Triage<br/>CRA Disclosure Requirements]

    AGENT_TRIAGE --> SLSA[πŸŽ–οΈ SLSA Attestation<br/>Level 3 Provenance]
    SLSA --> EVIDENCE[πŸ“Š GitHub Actions<br/>Evidence Package]

    EVIDENCE --> CE{βœ… CRA Conformity<br/>Ready?}
    CE -->|Yes| APPROVAL[πŸ‘¨β€πŸ’Ό CEO Final Approval]
    CE -->|No| GAP[πŸ“‹ Compliance Gap<br/>Issue Creation]

    GAP --> REMEDIATE[πŸ‘· Specialist Agent<br/>Gap Remediation]
    REMEDIATE --> SBOM_GEN
    APPROVAL --> PUBLISH[🌐 Assessment Published]

    style BUILD fill:#1565C0,color:#fff
    style SBOM_GEN fill:#4CAF50,color:#fff
    style AGENT_REVIEW fill:#FF9800,color:#fff
    style VULN_SCAN fill:#4CAF50,color:#fff
    style AGENT_TRIAGE fill:#FF9800,color:#fff
    style SLSA fill:#1565C0,color:#fff
    style EVIDENCE fill:#4CAF50,color:#fff
    style CE fill:#FFD600,color:#000
    style APPROVAL fill:#4CAF50,color:#fff
    style GAP fill:#D32F2F,color:#fff
    style REMEDIATE fill:#FF9800,color:#fff
    style PUBLISH fill:#4CAF50,color:#fff

🎯 Agent Responsibilities Matrix

πŸ€– AgentπŸ“‹ CRA Responsibility⏱️ FrequencyπŸ“Š Output
Security ArchitectVulnerability scanning, SAST/SCA oversightPer-commitCodeQL results, dependency audit
DevOps EngineerSBOM generation, SLSA attestation, CI/CD gatesPer-releaseRelease artifacts, provenance
Quality EngineerTest coverage, E2E validation, accessibilityPer-PRTest reports, coverage metrics
Product Task AgentCRA gap detection, issue creation, trackingWeeklyCompliance issues, gap reports
Documentation ArchitectCRA assessment updates, evidence documentationQuarterlyUpdated CRA-ASSESSMENT.md

πŸ“Š Automated Compliance Evidence Generation

πŸ“‹ CRA SectionπŸ€– Automated ByπŸ“Š Evidence Typeβœ… Status
Β§1 Project IdentificationRelease workflowVersion, SBOM, attestationβœ… Automated
Β§3 Technical DocumentationTypeDoc + JSDocAPI documentation generationβœ… Automated
Β§5 Essential RequirementsCodeQL + DependabotSAST/SCA scan resultsβœ… Automated
Β§6 Conformity EvidenceCI/CD pipelineBadges, test results, attestationsβœ… Automated
Β§7 Security TestingVitest + PlaywrightCoverage reports, E2E resultsβœ… Automated
Β§9 Post-Market SurveillanceDependabot + ScorecardVulnerability monitoringβœ… Automated

πŸ”Ÿ EU Declaration of Conformity

Supports CRA Article 28 β€” EU Declaration of Conformity

🏒 Manufacturer: Hack23 AB, Stockholm, Sweden
πŸ“¦ Product: EU Parliament Monitor v0.7.23
πŸ“‹ CRA Compliance: Self-assessment documentation supporting CRA essential cybersecurity requirements evaluation
πŸ” Assessment: Self-assessment documentation per CRA Article 24 (Module A β€” Internal Production Control)
πŸ“Š Standards: ISO/IEC 27001:2022 β€’ NIST CSF 2.0 β€’ CIS Controls v8.1 β€’ OWASP ASVS

πŸ“ Note: As an open-source project distributed under Apache-2.0 license with no commercial monetization, EU Parliament Monitor falls under the CRA open-source software exemption (Article 18). This declaration is maintained voluntarily to demonstrate security excellence and support downstream users' compliance needs.

πŸ“… Date & Signature: 2026-03-19 β€” James Pether SΓΆrling, CEO/Founder
πŸ“‚ Technical Documentation: This assessment + evidence bundle supports CRA Annex V technical documentation requirements


1️⃣1️⃣ Assessment Completion & Approval

Supports CRA Article 16 β€” Quality Management System Documentation

πŸ“Š CRA Self-Assessment Summary

Overall CRA Documentation Status: βœ… Self-Assessment Documented

Key CRA Documentation Areas:

  • βœ… Annex I essential requirements documented and assessed (Section 5)
  • βœ… Annex V technical documentation structured (Section 3)
  • βœ… Article 11 security measures documented (Section 7–8)
  • βœ… Article 23 post-market surveillance procedures documented (Section 9)
  • βœ… Article 28 declaration of conformity prepared (Section 10)

Outstanding Documentation: None β€” all CRA sections assessed and documented

βœ… Formal Approval

πŸ‘€ RoleπŸ“ NameπŸ“… Date✍️ Assessment Attestation
πŸ”’ CRA Security AssessmentJames Pether SΓΆrling2026-03-19Essential requirements documented and assessed
🎯 Product ResponsibilityJames Pether Sârling2026-03-19Technical documentation complete and structured
βš–οΈ Legal Compliance ReviewJames Pether SΓΆrling2026-03-19EU regulatory documentation requirements addressed

πŸ“Š CRA Assessment Status: Self-Assessment Documented


🎨 CRA Assessment Maintenance

πŸ“‹ Update Triggers

Per CRA Article 15 β€” Substantial Modification

CRA assessment updated when changes constitute "substantial modification" under CRA:

  1. πŸ—οΈ Security Architecture Changes: New authentication methods, trust boundaries, or encryption
  2. πŸ›‘οΈ Essential Requirement Impact: Changes affecting Annex I compliance
  3. πŸ“¦ Critical Dependencies: New supply chain components with security implications
  4. πŸ” Risk Profile Changes: New threats or vulnerability classes
  5. βš–οΈ Regulatory Updates: CRA implementing acts or guidance changes

🎯 Maintenance Principle: Assessment stability preferred β€” avoid routine updates that don't impact CRA compliance

πŸ”— CRA Evidence Integration

🏷️ Product Version: v0.7.23
πŸ“Š Assessment Status: βœ… Self-Assessment Complete
πŸ” OpenSSF Scorecard: Scorecard
πŸŽ–οΈ SLSA Level: 3 (Build provenance attestation)
πŸ“¦ SBOM: CycloneDX generated per release
πŸ”’ Vulnerability Status: Zero known critical/high vulnerabilities
πŸ“… Last Full Assessment: 2026-03-19
⏰ Next Scheduled Review: 2026-06-19


πŸ“š CRA Regulatory Alignment

πŸ” CRA Article Cross-References

πŸ“œ CRA ArticleπŸ“‹ RequirementπŸ“Š Assessment Sectionβœ… Status
Article 6Scope determinationSection 2 (CRA Scope & Classification)βœ… Assessed
Article 11Essential cybersecurity requirementsSection 5 (Essential Requirements)βœ… Assessed
Article 15Substantial modificationCRA Assessment Maintenanceβœ… Documented
Article 16Quality management systemSection 11 (Assessment Completion)βœ… Documented
Article 19Conformity assessmentSection 6 (Conformity Assessment)βœ… Assessed
Article 23Post-market obligationsSection 9 (Post-Market Surveillance)βœ… Documented
Article 24Module A self-assessmentSection 6 (Self-Assessment Process)βœ… Complete
Article 28EU Declaration of ConformitySection 10 (Declaration)βœ… Prepared
Annex IEssential requirementsSection 5 (Annex I Assessment)βœ… Assessed
Annex VTechnical documentationSection 3 (Technical Documentation)βœ… Complete

🌐 ISMS Integration Benefits

  • πŸ”„ Operational Continuity: CRA self-assessment integrated with existing ISMS security operations and review cycles
  • πŸ“Š Evidence Reuse: Security metrics, test results, and monitoring data serve dual ISMS/CRA documentation purposes
  • 🎯 Minimal Overhead: Static site architecture naturally satisfies many CRA requirements through design simplicity
  • 🀝 Stakeholder Confidence: Transparent assessment demonstrates professional security practices for open-source civic technology

πŸ“‹ Complete ISMS Policy Framework

πŸ” Core Security Governance

PolicyCRA RelevanceLink
Information Security PolicyOverall CRA governanceView
Secure Development PolicyAnnex I Part I (secure development)View
Open Source PolicyOSS governance & CRA exemptionView
Access Control PolicyAnnex I Part I Β§3 (unauthorized access)View

πŸ›‘οΈ Security Control Implementation

PolicyCRA RelevanceLink
Cryptography PolicyAnnex I Part I Β§4 (data confidentiality)View
Network Security PolicyAnnex I Part I Β§8 (availability)View
Vulnerability ManagementAnnex I Part II (vulnerability handling)View
Third Party ManagementSupply chain securityView

βš™οΈ Operational Excellence Framework

PolicyCRA RelevanceLink
Change ManagementSecurity updates (Annex I Part II Β§5)View
Incident Response PlanPost-market surveillance (Art. 23)View
Business Continuity PlanAvailability (Annex I Part I Β§7)View
Backup Recovery PolicyData integrity (Annex I Part I Β§5)View

πŸ“Š Performance Management & Compliance

PolicyCRA RelevanceLink
Security MetricsMonitoring (Annex I Part I Β§11)View
Compliance ChecklistCRA conformity trackingView
Classification FrameworkRisk assessment (Annex I Part I Β§6)View
Risk Assessment MethodologyCRA risk evaluationView
CRA Conformity Assessment ProcessProcess frameworkView

πŸ›οΈ Project Documentation

πŸ”— Hack23 CRA Reference Implementations

πŸ“‹ ISMS Process References


πŸ“‹ Document Control:
βœ… Approved by: James Pether SΓΆrling, CEO
πŸ“€ Distribution: Public
🏷️ Classification: Confidentiality: Public Integrity: Moderate Availability: Standard
πŸ“… Effective Date: 2026-05-03
πŸ”„ CRA Alignment: Self-assessment per CRA Module A β€” supports CRA Annex V technical documentation and Annex I essential requirements
πŸ›οΈ ISMS Integration: Comprehensive alignment with Hack23 ISMS Public Framework
πŸ›οΈ Process Reference: CRA Conformity Assessment Process
πŸ”“ Open Source Policy: Open Source Policy
🎯 Framework Compliance: ISO 27001 NIST CSF 2.0 CIS Controls