Riksdagsmonitor Intelligence Platform โ€” API Documentation - v1.0.47
    Preparing search index...

    Hack23 Logo

    ๐Ÿ” Security Policy โ€” Riksdagsmonitor

    ๐Ÿ›ก๏ธ Security Through Transparency and Vulnerability Management
    ๐ŸŽฏ Defense-in-Depth Architecture for Democratic Intelligence

    Owner Version Effective Date Review Cycle

    ๐Ÿ“‹ Document Owner: CEO | ๐Ÿ“„ Version: 1.0 | ๐Ÿ“… Last Updated: 2026-02-20 (UTC)
    ๐Ÿ”„ Review Cycle: Quarterly | โฐ Next Review: 2026-05-20
    ๐Ÿข Owner: Hack23 AB (Org.nr 5595347807) | ๐Ÿท๏ธ Classification: Public


    This security policy establishes vulnerability disclosure and incident response procedures for Riksdagsmonitor, implementing Vulnerability Management and Incident Response Plan from Hack23 AB's ISMS framework.

    Our security approach demonstrates our commitment to transparency and operational excellence, ensuring that vulnerabilities are managed systematically with documented response times and coordinated disclosure processes.

    โ€” James Pether Sรถrling, CEO/Founder


    This project is under active development, and we provide security updates for the latest version only.

    VersionSupportedISMS Policy
    latest:white_check_mark:Vulnerability Management

    Riksdagsmonitor maintains strong security practices as documented in our Security Architecture:

    • โœ… Static Site Architecture โ€” No server-side code execution, no database vulnerabilities
    • โœ… HTTPS-Only โ€” TLS 1.3 via AWS CloudFront and GitHub Pages
    • โœ… Automated Security Scanning โ€” CodeQL, Dependabot, Secret Scanning
    • โœ… Supply Chain Security โ€” SHA-pinned GitHub Actions, step-security/harden-runner
    • โœ… Multi-Region Availability โ€” AWS CloudFront (us-east-1 primary, eu-west-1 replica) with GitHub Pages DR
    • โœ… SLSA Build Provenance โ€” Attestation for build integrity
    • โœ… Content Integrity โ€” Subresource Integrity (SRI) for CDN assets
    • โœ… Security Headers โ€” CSP, HSTS, X-Frame-Options, X-Content-Type-Options

    Evidence:

    The published riksdagsmonitor npm package is scanned by Socket.dev. The following package-level alerts have been reviewed and are documented here for transparency:

    Socket AlertStatusDisposition
    Network accessโœ… ExpectedThe dashboard modules (dist/lib/dashboards/*.js, dist/lib/shared/data-loader.js, dist/lib/cia/csv-utils.js) call fetch() to load CIA-data JSON/CSV artefacts (election forecasts, risk assessments, voting records). All requests are read-only GETs to same-origin paths or to the explicitly allow-listed raw.githubusercontent.com/Hack23/cia mirror. No telemetry, analytics, or outbound write traffic. Deployments enforce CSP connect-src allow-listing on top of this.
    Uses evalโœ… False positiveThe package contains no eval(), new Function(), setTimeout/setInterval with string arguments, or any other dynamic code execution. Verified by AST inspection of every .js file in dist/lib/. The alert is triggered by the substring eval appearing inside source comments (e.g. "CSP-compatible โ€” no unsafe-eval needed"). Comments have been rephrased from v0.8.66 onward to remove the bare word. The package is fully compatible with strict CSP (no unsafe-eval, no unsafe-inline).

    If you observe additional Socket alerts on a future version, please open a private security advisory via GitHub Security Advisories.


    We take the security of Riksdagsmonitor seriously. If you have found a potential security vulnerability, we kindly ask you to report it privately, so that we can assess and address the issue before it becomes publicly known.

    A vulnerability is a weakness or flaw in the project that can be exploited to compromise the security, integrity, or availability of the system or its data. Examples include, but are not limited to:

    • Cross-site scripting (XSS) in generated content
    • Insecure external resource loading
    • Exposed secrets or credentials
    • Supply chain vulnerabilities in dependencies
    • Content injection through data pipelines

    The following components are within the disclosure scope and welcome responsible-disclosure reports:

    • Static site โ€” all HTML/CSS/JS served from / and /dashboard/ and /news/.
    • News generation pipeline:
      • scripts/aggregate-analysis.ts โ€” concatenates analysis/daily/$DATE/$SUB/ artifacts into article.md + SHA-256 manifest.
      • scripts/render-articles.ts โ€” markdown โ†’ sanitised HTML pipeline.
      • scripts/render-lib/ โ€” shared chrome (header, footer, language switcher, JSON-LD NewsArticle shell) and the rehype-sanitize allow-list.
      • scripts/validate-news-translations.ts โ€” translation-completeness validator.
    • Index generators โ€” scripts/generate-sitemap*.ts, scripts/generate-rss.ts, scripts/generate-news-indexes.ts, scripts/generate-political-intelligence.ts.
    • Agentic workflows โ€” 11 workflows in .github/workflows/news-*.md + their compiled .lock.yml peers, plus the non-agentic CI/CD pipelines in .github/workflows/.
    • MCP configuration โ€” .github/copilot-mcp.json and per-workflow mcp-servers: blocks.
    1. On GitHub.com, navigate to the main page of the riksdagsmonitor repository.
    2. Under the repository name, click Security.
    3. In the left sidebar, under "Reporting", click Advisories.
    4. Click Report a vulnerability to open the advisory form.
    5. Fill in the advisory details form with as much information as possible.
    6. At the bottom of the form, click Submit report.

    Upon receipt of a vulnerability report, our team will:

    1. Acknowledge the report within 48 hours
    2. Validate the vulnerability within 7 days
    3. Develop and release a patch or mitigation within 30 days (depending on complexity and severity)
    4. Publish a security advisory with a detailed description of the vulnerability and the fix

    We appreciate your effort in helping us maintain a secure project. If your report results in a confirmed security fix, we will recognize your contribution in the release notes, unless you request to remain anonymous.


    Riksdagsmonitor's security practices are part of Hack23 AB's comprehensive Information Security Management System (ISMS):

    ๐Ÿ›ก๏ธ Policy๐Ÿ“Š Application to Riksdagsmonitor
    Vulnerability Management48h response SLA, coordinated disclosure process
    Incident Response PlanP1-P4 incident classification, escalation procedures
    Secure Development PolicySecurity testing requirements, code review standards
    Information Security PolicyOverall security governance framework
    Network Security PolicyHTTPS-only, TLS 1.3, CDN security
    Cryptography PolicyTLS configuration, SRI hashes


    ๐Ÿ“‹ Document Control:
    โœ… Approved by: James Pether Sรถrling, CEO
    ๐Ÿ“ค Distribution: Public
    ๐Ÿท๏ธ Classification: Confidentiality: Public
    ๐Ÿ“… Effective Date: 2026-02-20
    โฐ Next Review: 2026-05-20
    ๐ŸŽฏ Framework Compliance: ISO 27001NIST CSF 2.0CIS Controls


    Effective: 2026-04-24 ยท Authoritative hub: analysis/imf/README.md ยท analysis/imf/agentic-integration.md ยท analysis/imf/indicators-inventory.json ยท analysis/imf/data-dictionary.md ยท .github/aw/ECONOMIC_DATA_CONTRACT.md

    Riksdagsmonitor consumes public macro/fiscal/monetary statistics from the IMF Datamapper REST API (www.imf.org/external/datamapper/api/v1, unauthenticated) and the IMF SDMX 3.0 endpoint (api.imf.org/external/sdmx/3.0, subscription-key authenticated via the Azure APIM Ocp-Apim-Subscription-Key header / IMF_SDMX_SUBSCRIPTION_KEY secret). The subscription key gates throttle/quota at the gateway; the underlying payloads remain public macro statistics. No personal data, no auth tokens are exchanged with the IMF; the subscription key is treated as a credential per the secrets-management policy. The IMF integration is therefore out of scope for GDPR DPIA but in scope for this security policy as a third-party dependency.

    ControlImplementation
    TransportHTTPS-only ยท TLS 1.3 ยท pinned hostnames in egress allow-list
    IntegritySHA-256 payload pin per (dataflow, indicator, country, vintage); supersedes-chain in cache
    Vintage disciplineReject payloads >6 months old without staleness annotation (ECONOMIC_DATA_CONTRACT v2.1)
    Rate-limit guardโ‰ค30 req/min self-imposed; exponential back-off
    Supply chainscripts/imf-*.ts reviewed in-repo; no dynamic eval; harden-runner egress audit
    LicenceAttribution-required; auto-emitted in article footer template

    If you discover a vulnerability in our IMF integration (e.g., cache integrity bypass, vintage substitution, egress allow-list breakout), follow the standard vulnerability-disclosure flow above. IMF data is public, so confidentiality breaches are not a concern; integrity and availability are the relevant attack surfaces.

    Egress hosts (allow-list): www.imf.org (Datamapper REST ยท WEO/FM, unauthenticated), api.imf.org (SDMX 3.0 REST ยท IFS/BOP/DOTS/GFS/PCPS/ER/MFS_IR/MFS_PR, subscription-key authenticated via the Azure APIM Ocp-Apim-Subscription-Key header / IMF_SDMX_SUBSCRIPTION_KEY secret). Both HTTPS-only; payloads are public macro statistics with no PII.

    Canonical rule. Every economic claim in a Riksdagsmonitor article cites an IMF dataflow first; World Bank citations are reserved for governance, environment and social residue (the classes IMF does not publish). SCB is the Swedish-specific ground truth layer. See ECONOMIC_DATA_CONTRACT.md v2.1 for the banned-phrase list and vintage discipline (>6 mo โ†’ annotation).


    ๐ŸŒ Platforms๐Ÿ“ฆ Open-Source Projects๐Ÿ›ก๏ธ Governance & Standards
    ๐Ÿ—ณ๏ธ Riksdagsmonitor โ€” Swedish Parliament intelligence
    ๐Ÿ‡ช๐Ÿ‡บ EU Parliament Monitor โ€” European coverage
    ๐Ÿ•ต๏ธ Citizen Intelligence Agency โ€” political-data engine
    ๐ŸŒ Hack23 AB โ€” corporate site
    ๐Ÿ“ฐ Hack23 Blog โ€” engineering & policy
    ๐Ÿ’ผ Hack23 on LinkedIn
    ๐Ÿ—ณ๏ธ Hack23/riksdagsmonitor
    ๐Ÿ•ต๏ธ Hack23/cia
    ๐Ÿ‡ช๐Ÿ‡บ Hack23/euparliamentmonitor
    ๐Ÿ”Œ Hack23/european-parliament-mcp
    โœ… Hack23/cia-compliance-manager
    ๐Ÿฅ‹ Hack23/black-trigram
    ๐Ÿ  Hack23/homepage
    ๐Ÿ›ก๏ธ Hack23 ISMS-PUBLIC โ€” public ISMS
    ๐Ÿ”’ Information Security Policy
    ๐Ÿค– AI Policy
    ๐Ÿงช Secure Development Policy
    ๐ŸŽฏ Threat Modeling Policy
    โš ๏ธ Vulnerability Management
    ๐Ÿท๏ธ Classification Framework

    OpenSSF Best PracticesOpenSSF ScorecardISO 27001:2022NIST CSF 2.0CIS Controls v8.1Apache 2.0

    ๐Ÿ—ณ๏ธ Empower citizens ยท ๐Ÿ” Strengthen democratic accountability ยท ๐Ÿ•ต๏ธ Illuminate the political process

    ยฉ 2008โ€“2026 Hack23 AB (Org.nr 559534-7807) ยท Maintainer: James Pether Sรถrling, CISSP CISM