Evidence-Driven Conformity Through Systematic Assessment
Demonstrating CRA Compliance for European Parliament Intelligence Platform
๐ Document Owner: CEO | ๐ Version: 2.0 | ๐
Last Updated: 2026-03-19 (UTC)
๐ Review Cycle: Quarterly | โฐ Next Review: 2026-06-19
๐๏ธ Process Reference: CRA Conformity Assessment Process
| Document | Focus | Description | Documentation Link |
|---|---|---|---|
| Architecture | ๐๏ธ Architecture | C4 model showing current system structure | View Source |
| Future Architecture | ๐๏ธ Architecture | C4 model showing future system structure | View Source |
| Mindmaps | ๐ง Concept | Current system component relationships | View Source |
| Future Mindmaps | ๐ง Concept | Future capability evolution | View Source |
| SWOT Analysis | ๐ผ Business | Current strategic assessment | View Source |
| Future SWOT Analysis | ๐ผ Business | Future strategic opportunities | View Source |
| Data Model | ๐ Data | Current data structures and relationships | View Source |
| Future Data Model | ๐ Data | Enhanced European Parliament data architecture | View Source |
| Flowcharts | ๐ Process | Current data processing workflows | View Source |
| Future Flowcharts | ๐ Process | Enhanced AI-driven workflows | View Source |
| State Diagrams | ๐ Behavior | Current system state transitions | View Source |
| Future State Diagrams | ๐ Behavior | Enhanced adaptive state transitions | View Source |
| Security Architecture | ๐ก๏ธ Security | Current security implementation | View Source |
| Future Security Architecture | ๐ก๏ธ Security | Security enhancement roadmap | View Source |
| Threat Model | ๐ฏ Security | STRIDE threat analysis | View Source |
| Classification | ๐ท๏ธ Governance | CIA classification & BCP | View Source |
| CRA Assessment | ๐ก๏ธ Compliance | Cyber Resilience Act | View Source |
| Workflows | โ๏ธ DevOps | CI/CD documentation | View Source |
| Future Workflows | ๐ DevOps | Planned CI/CD enhancements | View Source |
| Business Continuity Plan | ๐ Resilience | Recovery planning | View Source |
| Financial Security Plan | ๐ฐ Financial | Cost & security analysis | View Source |
| End-of-Life Strategy | ๐ฆ Lifecycle | Technology EOL planning | View Source |
| Unit Test Plan | ๐งช Testing | Unit testing strategy | View Source |
| E2E Test Plan | ๐ Testing | End-to-end testing | View Source |
| Performance Testing | โก Performance | Performance benchmarks | View Source |
| Security Policy | ๐ Security | Vulnerability reporting & security policy | View Source |
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
| ๐ Attribute | ๐ Value |
|---|---|
| Product Name | EU Parliament Monitor |
| Version | 0.5.1 |
| Repository | github.com/Hack23/euparliamentmonitor |
| Homepage | euparliamentmonitor.com |
| Security Contact | security@hack23.com |
| License | Apache-2.0 |
| Purpose | Multi-language European Parliament transparency platform โ automated static site generating news articles in 14 languages from EU Parliament open data |
| Technology Stack | Node.js 25, TypeScript, HTML5/CSS3, GitHub Actions, GitHub Pages |
| Deployment Model | Static site served via GitHub Pages CDN |
| Data Sources | European Parliament MCP Server (public open data) |
| ๐ Evidence Area | ๐ Document | ๐ Link |
|---|---|---|
| System Architecture | ARCHITECTURE.md | View |
| Security Architecture | SECURITY_ARCHITECTURE.md | View |
| Future Security Architecture | FUTURE_SECURITY_ARCHITECTURE.md | View |
| Threat Model (STRIDE) | THREAT_MODEL.md | View |
| Security Policy | SECURITY.md | View |
| Classification & BCP | CLASSIFICATION.md | View |
| Data Model | DATA_MODEL.md | View |
| System Mindmap | MINDMAP.md | View |
| Workflow Documentation | WORKFLOWS.md | View |
| Business Continuity | BCPPlan.md | View |
| Financial Security Plan | FinancialSecurityPlan.md | View |
| End-of-Life Strategy | End-of-Life-Strategy.md | View |
| Unit Test Plan | UnitTestPlan.md | View |
| E2E Test Plan | E2ETestPlan.md | View |
| Performance Testing | performance-testing.md | View |
| SBOM & Provenance | GitHub Release Artifacts | View |
| OpenSSF Scorecard | Scorecard Results | View |
| CodeQL Results | GitHub Code Scanning | View |
| Dependency Alerts | Dependabot Alerts | View |
| ๐ Attribute | ๐ Assessment |
|---|---|
| Product Name | EU Parliament Monitor |
| Product Type | Open-source static website generator |
| CRA Category | Standard โ Default (non-critical digital product) |
| Digital Elements | HTML5, CSS3 (static generation via Node.js/TypeScript) |
| Network Connectivity | Build-time only: read-only access to European Parliament open data APIs |
| Runtime Network | None โ output is pre-rendered static HTML served via CDN |
| Data Processing | Public EU Parliament data only (no PII, no user data) |
| User Interaction | Read-only static pages โ no forms, no authentication, no cookies |
| Commercial Status | Non-commercial open-source (Apache-2.0 license) |
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.
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.
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 Journal | 2024-11-20 | Regulation (EU) 2024/2847 published | โ Completed |
| CRA Entry into Force | 2024-12-11 | 20 days after publication in Official Journal | โ Completed |
| Market Surveillance Provisions | 2026-06-11 | Chapter VI market surveillance rules applicable (18 months) | ๐ Upcoming |
| Vulnerability & Incident Reporting Obligations | 2026-09-11 | Articles 14 & 15 โ Vulnerability and incident reporting to ENISA/national CSIRTs | ๐ Upcoming |
| Full CRA Compliance Required | 2027-12-11 | All CRA requirements for manufacturers, importers, and distributors | ๐ Upcoming |
| CE Marking Mandatory | 2027-12-11 | Products covered by CRA must bear CE marking | N/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.mdcoordinated 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
| ๐ CRA Technical Area | ๐ Implementation | ๐ Evidence |
|---|---|---|
| Product Architecture | C4 architecture model (Context, Container, Component levels); static site generator with GitHub Pages deployment; Node.js 25/TypeScript build pipeline | ARCHITECTURE.md, SECURITY_ARCHITECTURE.md, MINDMAP.md |
| SBOM & Components | CycloneDX 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 Controls | Static site security model (no server-side code execution); CSP headers via GitHub Pages; Content Security Policy; HTTPS-only delivery; no cookies or tracking | SECURITY_ARCHITECTURE.md, THREAT_MODEL.md |
| Supply Chain Security | SLSA Level 3 provenance via release.yml; Dependabot daily dependency scanning; OpenSSF Scorecard weekly assessment; dependency-review on PRs; npm audit in CI |
release.yml, scorecards.yml, OpenSSF Scorecard |
| Update Mechanism | Automated CI/CD via GitHub Actions; daily news generation workflows; automated dependency updates via Dependabot PRs; release workflow with SBOM and provenance attestation | WORKFLOWS.md, release.yml |
| Security Monitoring | CodeQL SAST on every push/PR; Dependabot alerts with severity-based SLAs; SonarCloud code quality analysis; ESLint with security plugin; HTMLHint for output validation | codeql.yml, dependency-review.yml |
| Data Protection | Public 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 design | CLASSIFICATION.md, SECURITY.md |
| User Guidance | README.md with quick-start instructions; comprehensive architecture documentation suite (20+ documents); Security Policy with vulnerability reporting process; API documentation | README.md, SECURITY.md, ARCHITECTURE.md |
| Vulnerability Disclosure | GitHub Security Advisories enabled; coordinated disclosure process in SECURITY.md; severity-based SLAs (Critical: 7 days, High: 30 days, Medium: 90 days); security@hack23.com contact | SECURITY.md, GitHub Security Advisories |
| Technology Lifecycle | End-of-Life Strategy documenting Node.js 25 Current support timeline (upgrading to Node.js 26 LTS); dependency lifecycle tracking; proactive technology migration planning | End-of-Life-Strategy.md |
| Testing & Validation | Vitest unit tests (82%+ coverage); Playwright E2E tests across 14 languages; axe-core accessibility testing (WCAG 2.1 AA); Lighthouse performance benchmarking; ESLint + HTMLHint linting | UnitTestPlan.md, E2ETestPlan.md, performance-testing.md |
| Business Continuity | GitHub Pages CDN with global distribution; git-based disaster recovery; repository mirroring capability; classification-driven recovery priorities | BCPPlan.md, FinancialSecurityPlan.md |
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 Format | SPDX JSON (via npm list --json) |
Machine-readable format | โ |
| Component Inventory | All npm dependencies โ direct and transitive | Complete software component listing | โ |
| Version Information | Exact semantic versions from package-lock.json |
Precise version identification | โ |
| License Information | REUSE.toml + SPDX headers per file |
License compliance metadata | โ |
| Vulnerability Status | npm audit + Dependabot alerts |
Known vulnerability tracking | โ |
| Generation Frequency | On every release via GitHub Actions release workflow | Current at time of distribution | โ |
| Public Availability | Released as GitHub Release artifact | Freely accessible to downstream users | โ |
Note: The
package-lock.jsonprovides 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) andpackage-lock.jsonare publicly accessible, fulfilling CRA Annex I Part II ยง7.
| ๐ฏ CRA Risk Category | ๐ Asset | ๐ Likelihood | ๐ฅ Impact | ๐ก๏ธ CRA Control Implementation | ๐ Residual | ๐ Evidence |
|---|---|---|---|---|---|---|
| Supply Chain Compromise | Build pipeline, npm dependencies | ๐ก Medium | ๐ก Medium | SLSA Level 3 provenance; Dependabot daily scanning; dependency-review workflow; npm audit in CI; lock file integrity verification | ๐ข Low | release.yml, dependency-review.yml |
| Known Vulnerability Exploitation | Node.js runtime, npm packages | ๐ก Medium | ๐ก Medium | CodeQL SAST on every push; Dependabot with severity-based SLAs; OpenSSF Scorecard assessment; npm audit enforcement; ESLint security plugin | ๐ข Low | codeql.yml, SECURITY.md |
| Content Integrity Compromise | Generated HTML/CSS news articles | ๐ข Low | ๐ก Medium | Git-based version control with signed commits; HTMLHint output validation; Playwright E2E verification; immutable deployment artifacts | ๐ข Low | ARCHITECTURE.md, E2ETestPlan.md |
| CI/CD Pipeline Tampering | GitHub Actions workflows | ๐ข Low | ๐ก Medium | Branch protection rules; required PR reviews; pinned action versions; workflow permissions with least privilege; CODEOWNERS enforcement | ๐ข Low | WORKFLOWS.md, scorecards.yml |
| Data Source Manipulation | European Parliament MCP Server data | ๐ข Low | ๐ข Low | Read-only access to official EU Parliament open data; data consumed at build-time only; output reviewed before deployment; public data with inherent transparency | ๐ข Low | DATA_MODEL.md, SECURITY_ARCHITECTURE.md |
| Availability Disruption | Static site hosted on GitHub Pages | ๐ข Low | ๐ข Low | GitHub Pages CDN with 99.9%+ uptime SLA; static files require no server-side processing; git-based disaster recovery; no database dependencies | ๐ข Low | BCPPlan.md, CLASSIFICATION.md |
| Cross-Site Scripting (XSS) | Generated HTML pages in 14 languages | ๐ข Low | ๐ก Medium | No user input accepted at runtime; content generated from sanitized templates; HTMLHint validation; CSP headers; static pre-rendered output only | ๐ข Low | THREAT_MODEL.md, SECURITY_ARCHITECTURE.md |
| License & IP Compliance | Open-source dependencies, Apache-2.0 license | ๐ข Low | ๐ข Low | REUSE compliance checking via reuse.yml workflow; SBOM generation with license metadata; Apache-2.0 compatible dependency selection |
๐ข Low | reuse.yml, REUSE.toml |
| # | ๐ CRA Requirement | โ Status | ๐ง Implementation | ๐ Evidence |
|---|---|---|---|---|
| 1 | Delivered without known exploitable vulnerabilities | โ Met | Automated dependency scanning via Dependabot (daily); CodeQL SAST on every push/PR; npm audit enforcement in CI pipeline; zero known critical/high vulnerabilities maintained | codeql.yml, SECURITY.md, GitHub Code Scanning |
| 2 | Secure by default configuration | โ Met | Static 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 modes | SECURITY_ARCHITECTURE.md, ARCHITECTURE.md |
| 3 | Protection against unauthorized access | โ N/A | No authentication or authorization needed โ platform serves public information only; no admin interface; no writable API endpoints; GitHub repository access controlled via branch protection and CODEOWNERS | SECURITY.md, THREAT_MODEL.md |
| 4 | Protect confidentiality of stored/transmitted/processed data | โ Met | No 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 data | CLASSIFICATION.md, SECURITY_ARCHITECTURE.md |
| 5 | Protect integrity of stored/transmitted/processed data | โ Met | Git-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 languages | release.yml, E2ETestPlan.md |
| 6 | Process only data adequate, relevant, and necessary | โ Met | Data 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 flows | DATA_MODEL.md, CLASSIFICATION.md |
| 7 | Protect availability of essential functions | โ Met | GitHub 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 recovery | BCPPlan.md, ARCHITECTURE.md |
| 8 | Minimize negative impact on availability of services provided by other devices/networks | โ Met | Static site generates zero outbound network traffic at runtime; no WebSockets, no API calls, no tracking pixels; no JavaScript required for content rendering; minimal bandwidth consumption | SECURITY_ARCHITECTURE.md, performance-testing.md |
| 9 | Designed and produced to limit attack surfaces | โ Met | Minimal 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 files | THREAT_MODEL.md, ARCHITECTURE.md |
| 10 | Designed to reduce impact of security incidents | โ Met | Static 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 revert | BCPPlan.md, SECURITY_ARCHITECTURE.md |
| 11 | Provide security-relevant information through recording/monitoring | โ Met | GitHub Actions provides complete CI/CD audit trail; GitHub Pages access logs available; CodeQL findings tracked via GitHub Code Scanning; Dependabot alerts with historical records | WORKFLOWS.md, codeql.yml |
| 12 | Provide ability to remove data by users | โ N/A | No user data collected, stored, or processed; no user accounts; no forms; no cookies; no local storage usage; GDPR data subject rights not applicable | CLASSIFICATION.md |
| 13 | Security updates shall be made available | โ Met | Automated CI/CD pipeline for rapid deployment; Dependabot auto-generates PRs for vulnerable dependencies; release workflow generates SBOM and provenance attestation; severity-based remediation SLAs documented | SECURITY.md, release.yml |
| # | ๐ CRA Requirement | โ Status | ๐ง Implementation | ๐ Evidence |
|---|---|---|---|---|
| 1 | Identify and document vulnerabilities and components | โ Met | SECURITY.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 tree |
SECURITY.md, THREAT_MODEL.md, GitHub Releases |
| 2 | Address and remediate vulnerabilities without delay | โ Met | Severity-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 pipeline | SECURITY.md, Dependabot Alerts |
| 3 | Apply effective and regular testing and review | โ Met | Vitest 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 detection | UnitTestPlan.md, E2ETestPlan.md, performance-testing.md |
| 4 | Publicly disclose information about fixed vulnerabilities | โ Met | GitHub Security Advisories enabled for coordinated disclosure; fixed vulnerabilities published via GitHub releases; security@hack23.com for private reporting; public SECURITY.md documents full process | SECURITY.md, GitHub Security Advisories |
| 5 | Provide mechanism for security updates | โ Met | Automated 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 branch | WORKFLOWS.md, release.yml |
| 6 | Share vulnerability information in a timely manner | โ Met | Public 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 metrics | SECURITY.md |
| 7 | Provide a machine-readable SBOM | โ Met | CycloneDX SBOM generated in release workflow; npm package-lock.json provides exact dependency versions; SLSA provenance attestation links SBOM to build; REUSE compliance for license metadata |
release.yml, REUSE.toml |
| 8 | Define security support period | โ Met | End-of-Life Strategy documents technology lifecycle and support timeline; Node.js 25 Current tracked (Node.js 26 LTS upgrade planned Apr 2026); dependency EOL monitoring; proactive migration planning documented | End-of-Life-Strategy.md, SECURITY.md |
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.
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
| โ | ๐ Conformity Checkpoint | ๐ Status | ๐ Verified |
|---|---|---|---|
| โ | CRA Annex I Part I โ All security property requirements assessed | Complete | 2026-02-25 |
| โ | CRA Annex I Part II โ All vulnerability handling requirements assessed | Complete | 2026-02-25 |
| โ | CRA Annex V โ Technical documentation complete and current | Complete | 2026-02-25 |
| โ | SBOM โ Machine-readable CycloneDX SBOM generated per release | Complete | 2026-02-25 |
| โ | SLSA โ Level 3 provenance attestation for release artifacts | Complete | 2026-02-25 |
| โ | Vulnerability Disclosure โ SECURITY.md with coordinated disclosure process | Complete | 2026-02-25 |
| โ | Security Testing โ SAST (CodeQL), SCA (Dependabot), unit, E2E, accessibility | Complete | 2026-02-25 |
| โ | Lifecycle Management โ End-of-Life Strategy documenting support period | Complete | 2026-02-25 |
| โ | Risk Assessment โ STRIDE threat model with residual risk evaluation | Complete | 2026-02-25 |
| โ | ISMS Alignment โ Mapped to Hack23 ISMS public policy framework | Complete | 2026-02-25 |
Supports CRA Article 19 โ Conformity Assessment Documentation
Reference: Secure Development Policy
| ๐งช Control | ๐ฏ Requirement | โ Implementation | ๐ Evidence |
|---|---|---|---|
| ๐งช Unit Testing | โฅ80% line coverage, โฅ70% branch | โ 82%+ coverage | UnitTestPlan.md + Vitest reports |
| ๐ E2E Testing | Critical user journeys validated | โ 14 language pages | E2ETestPlan.md + Playwright reports |
| ๐ SAST Scanning | Zero critical/high vulnerabilities | โ CodeQL clean | |
| ๐ฆ SCA Scanning | Zero critical unresolved dependencies | โ Dependabot active | Security Overview |
| ๐ Secret Scanning | Zero exposed secrets/credentials | โ GitHub Secret Scanning | Security Overview |
| ๐ฆ SBOM Generation | CycloneDX per release | โ Automated | Release Artifacts |
| ๐ก๏ธ Provenance | SLSA Level 3 attestation | โ Active | Attestations |
| ๐ Quality Gates | ESLint + HTMLHint + Prettier | โ Enforced in CI | Validate Workflow |
| ๐ License Compliance | REUSE specification | โ FSFE REUSE compliant |
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
| ๐งช Test Type | ๐ง Framework | ๐ Coverage | ๐ Reference |
|---|---|---|---|
| Unit Tests | Vitest + v8 coverage | 82%+ code coverage | UnitTestPlan.md |
| E2E Tests | Playwright | 14 language pages verified | E2ETestPlan.md |
| Accessibility | Playwright + axe-core | WCAG 2.1 AA compliance | E2ETestPlan.md |
| Performance | Lighthouse | Core Web Vitals benchmarks | performance-testing.md |
| HTML Validation | HTMLHint | All output HTML files | package.json scripts |
| Code Quality | ESLint + SonarCloud + jscpd | TypeScript source analysis | eslint.config.js |
| ๐ท๏ธ ISMS Policy | ๐ CRA Mapping | ๐ง EU Parliament Monitor Implementation | โ Status |
|---|---|---|---|
| ๐ Information Security Policy | Overall CRA governance | Security-by-design static site architecture; public data classification; comprehensive security documentation | โ Aligned |
| ๐ ๏ธ Secure Development Policy | Annex I Part I (1โ13) | CodeQL SAST; ESLint security plugin; Vitest/Playwright testing; branch protection; PR reviews; automated CI/CD gates | โ Aligned |
| ๐ Vulnerability Management | Annex 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 Management | Security 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 Framework | Risk assessment | CIA classification (Public/Moderate/Standard); impact analysis; classification-driven security controls | โ Aligned |
| ๐ Cryptography Policy | Data 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 Policy | Unauthorized access (Annex I Part I ยง3) | GitHub repository access controls; branch protection; CODEOWNERS enforcement; no end-user authentication (public site) | โ Aligned |
| ๐ค Third Party Management | Supply chain security | Dependabot for dependency monitoring; SLSA Level 3 provenance; dependency-review on PRs; npm audit enforcement; pinned action versions | โ Aligned |
| ๐ Open Source Policy | OSS governance | Apache-2.0 license; REUSE compliance; SBOM generation; public security policy; coordinated disclosure process | โ Aligned |
| ๐จ Incident Response Plan | Post-market surveillance | Security incident handling procedures; communication protocols; forensics capability; GitHub Security Advisories integration | โ Aligned |
| ๐ Business Continuity Plan | Availability (Annex I Part I ยง7) | GitHub Pages CDN resilience; git-based disaster recovery; static site regeneration capability; documented BCP | โ Aligned |
| ๐พ Backup Recovery Policy | Data integrity (Annex I Part I ยง5) | Git repository as immutable backup; GitHub Pages deployment history; full site regeneration from source | โ Aligned |
| ๐ Security Metrics | Monitoring & recording (Annex I Part I ยง11) | CodeQL scan results tracking; Dependabot alert metrics; test coverage reporting; OpenSSF Scorecard trending | โ Aligned |
| ๐ Risk Assessment Methodology | CRA risk evaluation | STRIDE threat model; risk categorization with likelihood/impact assessment; residual risk evaluation; evidence-linked controls | โ Aligned |
| ๐ท๏ธ Data Classification Policy | Data 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 Plan | Disclosure & transparency | Public security documentation; open-source CRA assessment; transparent vulnerability reporting; community engagement | โ Aligned |
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 policies | Part I ยง1 (Security by default) | Security governance framework establishing security-by-design principles | โ Aligned |
| A.8.8 Technical vulnerability management | Part I ยง2(2) (Vulnerability handling) | CVE tracking, Dependabot scanning, and severity-based remediation SLAs | โ Aligned |
| A.8.25 Secure development lifecycle | Part II ยง1 (Secure development) | SDLC security integration via CodeQL SAST, PR reviews, and CI/CD gates | โ Aligned |
| A.5.24 Information security incident management | Part I ยง2(5) (Incident reporting) | Security incident procedures via SECURITY.md and GitHub Security Advisories | โ Aligned |
| A.8.13 Information backup | Part I ยง5 (Data integrity) | Git-based immutable backup strategy with full site regeneration capability | โ Aligned |
| A.5.36 Compliance with policies and standards | Module A self-assessment | Ongoing conformity verification through quarterly CRA assessment review cycle | โ Aligned |
| A.8.20 Network security | Part 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 development | Part II ยง3 (Regular testing) | Vitest unit tests, Playwright E2E, axe-core accessibility, and Lighthouse performance | โ Aligned |
| A.5.20 Addressing security in supplier agreements | Part I supply chain (ยง9) | SLSA Level 3 provenance, dependency-review workflow, pinned action versions | โ Aligned |
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 Database | Continuous | Auto-create Dependabot PRs | Security Overview |
| ๐จ Incident Reporting (Art. 23.2) | SECURITY.md coordinated disclosure process | Real-time | ENISA 24h notification readiness | SECURITY.md |
| ๐ Security Posture Tracking (Art. 23.3) | OpenSSF Scorecard + CodeQL monitoring | Weekly | Score decline triggers investigation | |
| ๐ Update Distribution (Art. 23.4) | GitHub Releases with SLSA attestation | As needed | Critical vulnerability patches | Releases |
๐ CRA Reporting Readiness: Documentation and procedures prepared for ENISA incident reporting per Incident Response Plan
๐ ISMS Monitoring Integration:
Supports CRA Article 16 โ Quality Management System through Automated Evidence Generation
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 | ๐ CRA Responsibility | โฑ๏ธ Frequency | ๐ Output |
|---|---|---|---|
| Security Architect | Vulnerability scanning, SAST/SCA oversight | Per-commit | CodeQL results, dependency audit |
| DevOps Engineer | SBOM generation, SLSA attestation, CI/CD gates | Per-release | Release artifacts, provenance |
| Quality Engineer | Test coverage, E2E validation, accessibility | Per-PR | Test reports, coverage metrics |
| Product Task Agent | CRA gap detection, issue creation, tracking | Weekly | Compliance issues, gap reports |
| Documentation Architect | CRA assessment updates, evidence documentation | Quarterly | Updated CRA-ASSESSMENT.md |
| ๐ CRA Section | ๐ค Automated By | ๐ Evidence Type | โ Status |
|---|---|---|---|
| ยง1 Project Identification | Release workflow | Version, SBOM, attestation | โ Automated |
| ยง3 Technical Documentation | TypeDoc + JSDoc | API documentation generation | โ Automated |
| ยง5 Essential Requirements | CodeQL + Dependabot | SAST/SCA scan results | โ Automated |
| ยง6 Conformity Evidence | CI/CD pipeline | Badges, test results, attestations | โ Automated |
| ยง7 Security Testing | Vitest + Playwright | Coverage reports, E2E results | โ Automated |
| ยง9 Post-Market Surveillance | Dependabot + Scorecard | Vulnerability monitoring | โ Automated |
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
Supports CRA Article 16 โ Quality Management System Documentation
Overall CRA Documentation Status: โ Self-Assessment Documented
Key CRA Documentation Areas:
Outstanding Documentation: None โ all CRA sections assessed and documented
| ๐ค Role | ๐ Name | ๐ Date | โ๏ธ Assessment Attestation |
|---|---|---|---|
| ๐ CRA Security Assessment | James Pether Sรถrling | 2026-03-19 | Essential requirements documented and assessed |
| ๐ฏ Product Responsibility | James Pether Sรถrling | 2026-03-19 | Technical documentation complete and structured |
| โ๏ธ Legal Compliance Review | James Pether Sรถrling | 2026-03-19 | EU regulatory documentation requirements addressed |
๐ CRA Assessment Status: Self-Assessment Documented
Per CRA Article 15 โ Substantial Modification
CRA assessment updated when changes constitute "substantial modification" under CRA:
๐ฏ Maintenance Principle: Assessment stability preferred โ avoid routine updates that don't impact CRA compliance
๐ท๏ธ Product Version: v0.7.23
๐ Assessment Status: โ
Self-Assessment Complete
๐ OpenSSF 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 Article | ๐ Requirement | ๐ Assessment Section | โ Status |
|---|---|---|---|
| Article 6 | Scope determination | Section 2 (CRA Scope & Classification) | โ Assessed |
| Article 11 | Essential cybersecurity requirements | Section 5 (Essential Requirements) | โ Assessed |
| Article 15 | Substantial modification | CRA Assessment Maintenance | โ Documented |
| Article 16 | Quality management system | Section 11 (Assessment Completion) | โ Documented |
| Article 19 | Conformity assessment | Section 6 (Conformity Assessment) | โ Assessed |
| Article 23 | Post-market obligations | Section 9 (Post-Market Surveillance) | โ Documented |
| Article 24 | Module A self-assessment | Section 6 (Self-Assessment Process) | โ Complete |
| Article 28 | EU Declaration of Conformity | Section 10 (Declaration) | โ Prepared |
| Annex I | Essential requirements | Section 5 (Annex I Assessment) | โ Assessed |
| Annex V | Technical documentation | Section 3 (Technical Documentation) | โ Complete |
| Policy | CRA Relevance | Link |
|---|---|---|
| Information Security Policy | Overall CRA governance | View |
| Secure Development Policy | Annex I Part I (secure development) | View |
| Open Source Policy | OSS governance & CRA exemption | View |
| Access Control Policy | Annex I Part I ยง3 (unauthorized access) | View |
| Policy | CRA Relevance | Link |
|---|---|---|
| Cryptography Policy | Annex I Part I ยง4 (data confidentiality) | View |
| Network Security Policy | Annex I Part I ยง8 (availability) | View |
| Vulnerability Management | Annex I Part II (vulnerability handling) | View |
| Third Party Management | Supply chain security | View |
| Policy | CRA Relevance | Link |
|---|---|---|
| Change Management | Security updates (Annex I Part II ยง5) | View |
| Incident Response Plan | Post-market surveillance (Art. 23) | View |
| Business Continuity Plan | Availability (Annex I Part I ยง7) | View |
| Backup Recovery Policy | Data integrity (Annex I Part I ยง5) | View |
| Policy | CRA Relevance | Link |
|---|---|---|
| Security Metrics | Monitoring (Annex I Part I ยง11) | View |
| Compliance Checklist | CRA conformity tracking | View |
| Classification Framework | Risk assessment (Annex I Part I ยง6) | View |
| Risk Assessment Methodology | CRA risk evaluation | View |
| CRA Conformity Assessment Process | Process framework | View |
๐ Document Control:
โ
Approved by: James Pether Sรถrling, CEO
๐ค Distribution: Public
๐ท๏ธ Classification:
๐
Effective Date: 2026-03-19
๐ 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: