EU Parliament Monitor โ€” API Documentation - v0.8.49
    Preparing search index...

    Hack23 Logo

    ๐Ÿ›ก๏ธ EU Parliament Monitor โ€” Security Policy

    Vulnerability disclosure ยท Severity SLAs ยท Compliance posture ยท Accepted risks
    ๐Ÿ” Responsible disclosure ยท ๐Ÿšจ 48h ack ยท โš–๏ธ ISO 27001 / NIS2 / EU CRA aligned ยท ๐Ÿค Coordinated public credit

    Owner Version Classification Review Cycle Effective

    Report Security Advisory Email security@hack23.com Hack23 ISMS

    OpenSSF Scorecard OpenSSF Best Practices SLSA 3 CodeQL Scorecards

    ๐Ÿ“‹ Document Owner: CEO | ๐Ÿ“„ Version: 1.1 | ๐Ÿ“… Last Updated: 2026-04-27 (UTC) ๐Ÿ”„ Review Cycle: Quarterly | โฐ Next Review: 2026-07-27 | ๐Ÿท๏ธ Classification: Public


    This Security Policy documents how to report vulnerabilities in the EU Parliament Monitor platform, the severity-based remediation SLAs we commit to, the compliance frameworks we align with, and the accepted residual risks we explicitly carry. It is the public face of the broader SECURITY_ARCHITECTURE.md and operates under the Hack23 ISMS Vulnerability Management Policy.

    ๐Ÿ”— Sister policies: SECURITY_ARCHITECTURE.md (C4 controls + threat model) ยท THREAT_MODEL.md (STRIDE for software-security context) ยท CRA-ASSESSMENT.md (EU Cyber Resilience Act conformity) ยท CLASSIFICATION.md (CIA triad + BCP impact bands).


    This project is under active development. Security updates are provided for the latest released version only. Always upgrade to the most recent release for security fixes.

    ๐Ÿท๏ธ Version ๐Ÿ›ก๏ธ Supported ๐Ÿ“… EOL
    latest (main) โœ… Active โ€”
    Older releases โŒ End of life Upgrade required

    We take the security of the EU Parliament Monitor project seriously. If you discover a potential vulnerability, please report it privately so we can assess and remediate before public disclosure.

    Category Examples
    ๐Ÿ’‰ Injection XSS, HTML injection, Markdown-it sanitization bypass
    ๐Ÿ” Auth/Authz OIDC misconfiguration, GitHub Actions secret leakage
    ๐Ÿ“ฆ Supply chain Insecure dependencies, compromised vendored bundle (Mermaid/Chart.js/D3)
    ๐Ÿ”“ Data exposure Sensitive data exposure, GDPR boundary violation
    โš™๏ธ Misconfiguration Insecure defaults, CSP bypass, S3/CloudFront exposure
    โœ‹ Validation Insufficient input validation in MCP payload handling
    1. Visit github.com/Hack23/euparliamentmonitor
    2. Click the Security tab โ†’ Advisories โ†’ Report a vulnerability
    3. Fill in: description, reproduction steps, potential impact, suggested mitigation
    4. Submit โ€” maintainers are notified privately and you become a collaborator on the advisory
    Channel Address Use when
    ๐Ÿ”’ GitHub Advisory Report here Default โ€” preferred
    ๐Ÿ“ง Email security@hack23.com GitHub unavailable; subject line [SECURITY] EU Parliament Monitor โ€” <brief description>

    Upon receipt of a vulnerability report:

    Phase Target Action
    ๐Ÿ”ต Acknowledge โ‰ค 48 hours Confirm receipt and assign internal handler
    ๐ŸŸก Validate โ‰ค 7 days Reproduce, classify CVSS severity, assign CVE if applicable
    ๐ŸŸข Remediate Per SLA below Develop, test, and release patch or mitigation
    ๐ŸŸฃ Publish After patch Coordinated public advisory with reporter credit

    Per the Hack23 ISMS Vulnerability Management Policy:

    ๐Ÿšฆ Severity CVSS v3.1 โฐ Remediation SLA ๐Ÿ“ Description
    ๐Ÿ”ด Critical 9.0 โ€“ 10.0 7 days Immediate threat, active exploitation possible
    ๐ŸŸ  High 7.0 โ€“ 8.9 30 days Significant security impact
    ๐ŸŸก Medium 4.0 โ€“ 6.9 90 days Moderate security impact
    ๐ŸŸข Low 0.1 โ€“ 3.9 Best effort Minimal security impact

    We employ multiple defence-in-depth layers, all wired into CI/CD:

    ๐Ÿ”ฌ Layer Tool Trigger
    ๐Ÿ› ๏ธ SAST CodeQL Push, PR, weekly schedule
    ๐Ÿ“ฆ SCA Dependabot + npm audit Daily, PR validation
    โœ… Unit security tests Vitest (โ‰ฅ80% coverage) Every commit
    ๐ŸŒ DAST Playwright + axe-core (accessibility-as-security) PR + nightly
    ๐Ÿ† Supply chain OpenSSF Scorecard + SLSA L3 attestations Weekly + on release
    ๐Ÿ“œ License compliance REUSE Push, PR, weekly

    ๐Ÿ“Š See SECURITY_ARCHITECTURE.md ยง Security Testing for full coverage details.


    • ๐Ÿ“ฐ News generation scripts (scripts/)
    • ๐ŸŸข Analysis-artifact aggregator (src/aggregator/** โ€” artifact-order.ts, clean-artifact.ts, analysis-aggregator.ts, markdown-renderer.ts, article-html.ts, article-metadata.ts, article-generator.ts CLI)
    • ๐Ÿงน HTML sanitiser (src/utils/html-sanitize.ts) and the markdown-it render pipeline with explicit plugin allowlist (markdown-it-anchor, markdown-it-footnote, markdown-it-attrs, markdown-it-deflist)
    • ๐Ÿ”Œ MCP clients (src/mcp/** โ€” European Parliament, IMF, World Bank) including the getVotingRecordsWithFallback() three-state fallback to the EP Open Data Portal
    • ๐Ÿง  Committed analysis artifacts under analysis/daily/** (attack surface for aggregator rendering)
    • ๐ŸŽจ Vendored client-side diagram renderer (js/vendor/mermaid/ etc.) under strict script-src 'self' CSP
    • ๐Ÿ“„ HTML templates and rendered output (news/*.html, language variants)
    • ๐Ÿค– GitHub Actions and gh-aw agentic workflows (.github/workflows/news-*.md โ€” 8 unified news-<type>.md + news-translate.md)
    • โ˜๏ธ AWS S3 + CloudFront deployment pipeline (deploy-s3.yml, OIDC GithubWorkFlowRole)
    • ๐Ÿ“ฆ Dependencies and supply chain (OpenSSF Scorecard + SLSA L3 provenance + SBOM)
    • ๐ŸŒ Third-party services (GitHub, European Parliament APIs, IMF SDMX REST, World Bank Open Data)
    • ๐Ÿ—๏ธ Infrastructure (AWS account-level, GitHub Pages hosting as fallback runbook)
    • ๐Ÿ–ฅ๏ธ Client-side browser vulnerabilities not under platform control

    Channel What you get
    ๐Ÿ“‹ Release notes Reporter credit (with consent)
    ๐Ÿ“œ Security advisory Public acknowledgment in the GHSA
    ๐ŸŒŸ Public GitHub recognition Credit on the advisory page (unless anonymity requested)
    ๐Ÿ… Security Hall of Fame Repeat or high-impact contributors considered

    We respect anonymity requests โ€” opt out at any point in the disclosure flow.


    EU Parliament Monitor aligns with the following frameworks. Evidence is traceable through ISMS-PUBLIC, the SECURITY_ARCHITECTURE compliance matrix, and the CRA-ASSESSMENT conformity table.

    ๐Ÿ›๏ธ Framework ๐Ÿ“Œ Scope ๐Ÿ“‚ Evidence
    ISO 27001:2022 Information security management SECURITY_ARCHITECTURE ยง Compliance Matrix
    NIST CSF 2.0 Identify ยท Protect ยท Detect ยท Respond ยท Recover SECURITY_ARCHITECTURE ยง NIST CSF
    CIS Controls v8.1 18 critical security controls CodeQL, Dependabot, npm audit, SBOM
    GDPR Data minimisation, purpose limitation EP open data only, no profiling
    NIS2 Article 20โ€“21 cybersecurity risk management THREAT_MODEL.md (STRIDE software context)
    EU Cyber Resilience Act SBOM, vulnerability disclosure, Annex I/V CRA-ASSESSMENT.md, SLSA provenance
    OWASP Top 10 Web-app security best practices Same-origin CSP, sanitised rendering

    Metric Target Current
    ๐ŸŸข Known vulnerabilities (npm audit) 0 production 0 (2 documented dev-only accepted risks โ€” see below)
    ๐ŸŸข Code coverage with security tests โ‰ฅ 80 % line 82 %+
    ๐ŸŸข Dependency-scanning coverage 100 % 100 %
    ๐ŸŸข CodeQL critical/high findings 0 0
    ๐ŸŸข OpenSSF Scorecard โ‰ฅ 7.0 Live score
    ๐ŸŸข SLSA build level L3 Attestations

    ๐Ÿ“ˆ See SECURITY_ARCHITECTURE.md ยง Security Metrics for trend data.

    The following advisories are detected by npm audit and explicitly allow-listed in .github/workflows/test-and-report.yml (Security Check job). Both are dev-only and do not reach end-user runtime:

    ๐Ÿ†” GHSA ๐Ÿ“ฆ Package ๐Ÿšฆ Severity ๐Ÿ“‚ Path ๐Ÿ“ Justification
    GHSA-2g4f-4pwh-qvx6 ajv (via ESLint) ๐ŸŸก Moderate (ReDoS) devDep ESLint does not invoke ajv with the $data option; only triggered on attacker-controlled JSON schemas, which we never feed it. Resolves with the ESLint 10 upgrade.
    GHSA-w5hq-g745-h8pq uuid <14.0.0 (via mermaid) ๐ŸŸก Moderate (buffer bounds) devDep mermaid is a build-time-only dependency. Library is vendored to js/vendor/mermaid/ and renders diagrams from analyst-authored Markdown that has passed the Stage-C completeness gate; user input never reaches uuid.v3/v5/v6 with an attacker-controlled buf argument. The site is fully static โ€” no server-side mermaid execution.

    โš ๏ธ Drift guard: if npm audit reports any GHSA outside this list, the Security Check job MUST fail. Allow-listing requires a pull request that updates this table and the workflow allow-list together.


    Resource Link
    ๐Ÿ›ก๏ธ Threat model SECURITY_ARCHITECTURE ยง Threat Model
    ๐Ÿ” Security controls SECURITY_ARCHITECTURE ยง Security Controls
    ๐Ÿš’ Incident response Hack23 ISMS Incident Response Plan
    ๐Ÿ› Vulnerability management Hack23 ISMS Vulnerability Management
    ๐Ÿ›๏ธ Information security policy Hack23 ISMS Information Security Policy
    ๐Ÿ› ๏ธ Secure development policy Hack23 ISMS Secure Development Policy
    ๐Ÿ” Threat modelling policy Hack23 ISMS Threat Modeling
    ๐Ÿ“‹ Classification framework Hack23 ISMS Classification
    โš–๏ธ EU CRA conformity assessment CRA-ASSESSMENT.md

    EU Parliament Monitor is part of the broader Hack23 civic-tech and security portfolio:

    ๐Ÿ›๏ธ Project ๐ŸŽฏ Focus ๐Ÿ”— Link
    ๐ŸŒ Hack23 Homepage Organisation site, ISMS hub hack23.com ยท Hack23/homepage
    ๐Ÿ“œ ISMS-PUBLIC Public ISO 27001 / NIST CSF / CIS / GDPR / NIS2 / EU CRA policies Hack23/ISMS-PUBLIC
    ๐Ÿ”Œ European Parliament MCP Server TypeScript MCP server with 60+ EP open-data tools Hack23/European-Parliament-MCP-Server
    ๐Ÿ‡ธ๐Ÿ‡ช Riksdag Monitor Swedish Parliament monitor (sister project) Hack23/riksdagsmonitor
    ๐Ÿ•ต๏ธ CIA Swedish Parliament intelligence platform (Java/Spring) Hack23/cia
    โœ… CIA Compliance Manager CIA-triad compliance dashboard (TypeScript) Hack23/cia-compliance-manager
    ๐Ÿฅ‹ Black Trigram Korean martial-arts game with security focus Hack23/blacktrigram

    Channel Use for
    ๐Ÿ”’ GitHub Security Advisory Vulnerabilities (preferred)
    โœ‰๏ธ security@hack23.com Vulnerabilities (alternative)
    ๐Ÿ› GitHub Issues Non-security bugs and feature requests
    ๐Ÿ’ฌ GitHub Discussions Q&A, design discussions
    ๐Ÿ“ง info@hack23.com General inquiries
    ๐Ÿค conduct@hack23.com Code of Conduct concerns

    ๐Ÿ™ Thank you for helping us keep EU Parliament Monitor and its users safe. Your contributions to our security posture are deeply appreciated.

    Maintained by Hack23 AB โ€” Intelligence Operations Team under the Hack23 ISMS framework.