Swedish Parliament Intelligence Platform - Monitor political activity with systematic transparency
Document Classification: π’ Public
Last Updated: 2026-02-10
Owner: Hack23 AB (Org.nr 5595347807)
Review Cycle: Quarterly
Riksdagsmonitor is a comprehensive intelligence platform for monitoring political activity in Sweden's Riksdag (Parliament). Built on the Citizen Intelligence Agency (CIA) platform, we provide systematic transparency through real-time analysis and 50+ years of historical data.
Security Policy: Per Secure Development Policy, we maintain defense-in-depth architecture with comprehensive security controls and documentation
Riksdagsmonitor follows Hack23 AB's comprehensive Classification Framework for security, business continuity, and impact analysis:
Confidentiality: Public - All information intentionally disclosed (Swedish Riksdag open data, website content)
Integrity: High - Automated validation, digital signatures (Git commits), accurate political data required
Availability: High - 99.998% design availability target (underpinned by AWS CloudFront 99.9% SLA), automated failover (AWS multi-region, GitHub Pages DR)
Personal Data (Public Officials): This project processes personal data about public officials (e.g., names, roles, voting records, person identifiers) sourced from Swedish Riksdag open data and the Citizen Intelligence Agency (CIA) datasets. Data relates only to MPs and other public figures acting in their official capacity; no special-category data or data about private individuals is processed. GDPR applies, with processing based on public-interest and legitimate-interest grounds for transparency and democratic accountability.
RTO (Recovery Time Objective): 1-4 hours - Automated multi-region failover (AWS CloudFront + S3 us-east-1 primary, eu-west-1 replica, GitHub Pages DR)
RPO (Recovery Point Objective): 4-24 hours - Daily data pipeline updates, Git version control, S3 versioning
For operational data handling, we use a simplified 4-level scheme:
| Classification | Description | Examples | Handling Requirements |
|---|---|---|---|
| π’ Public | Information intended for public disclosure | Website content, Swedish Riksdag open data, documentation | No restrictions, published on GitHub Pages |
| π‘ Internal | Information for internal use only | GitHub Actions secrets, deployment credentials | GitHub organization access only, MFA required |
| π Confidential | Sensitive business information | Not applicable to this project | N/A |
| π΄ Restricted | Highly sensitive information | Not applicable to this project | N/A |
Public Data (π’):
- All website HTML/CSS content (14 languages)
- Swedish Parliament data (MPs, votes, documents, committees)
- Election results and statistics
- Government budget and spending data
- All source code and documentation
Internal Data (π‘):
- GitHub Actions secrets (tokens if used; no long-lived PATs)
- AWS IAM credentials (ephemeral via OIDC)
- Deployment pipeline configurations
No User or Confidential Data:
- β No user accounts or authentication
- β No non-public or end-user personally identifiable information (PII)
- β Only public-figure data from official Swedish Parliament records (MP names, roles, votes)
- β No financial transactions or payment data
- β No confidential government information
Public Data:
- Published via GitHub Pages and AWS CloudFront
- TLS 1.3 encryption in transit
- No access controls required (intentionally public)
- Version controlled via Git
Internal Data:
- Stored in GitHub Secrets (encrypted at rest)
- AWS credentials via OIDC (no long-lived keys)
- Accessed only via secure GitHub Actions workflows
- Least privilege principle enforced
- Regular rotation and audit
- ISO 27001:2022 A.8 - Asset Management
- NIST CSF 2.0 PR.DS - Data Security
- CIS Controls v8.1 Control 3 - Data Protection
- GDPR - Applicable for public-official data processing (public interest and legitimate interest grounds)
- Hack23 Classification Framework - Full framework documentation
See SECURITY_ARCHITECTURE.md for detailed security controls.
- 349 Current MPs - Individual MP tracking and performance metrics
- 2,494 Historical Politicians - Complete database from 1971-2024 (50+ years)
- 8 Political Parties - Party performance, coalition dynamics, voting patterns
- 45 Risk Rules - Systematic transparency through behavioral analysis
- 3.5+ Million Votes - Comprehensive voting record analysis
- 109,000+ Documents - Parliamentary documents processed and analyzed
Website: riksdagsmonitor.com
Available in 14 Languages:
- English, Swedish, Danish, Norwegian, Finnish
- German, French, Spanish, Dutch
- Arabic, Hebrew, Japanese, Korean, Chinese
Riksdagsmonitor integrates with the CIA platform through automated data pipelines, schema validation, and daily statistics updates.
Live Statistics (Updated Daily at 03:00 CET):
- 2,494 Politicians - Complete historical database (1971-2024)
- 349 Current MPs - Active Members of Parliament
- 3.5+ Million Votes - Comprehensive voting records
- 109,000+ Documents - Parliamentary documents processed
- 8,740 Committee Documents - Committee work tracked
- 2,308 Rule Violations - Transparency issues identified
Data Source: extraction_summary_report.csv
Update Schedule: Daily automated fetch via GitHub Actions
Last Extraction: See cia-data/production-stats.json β metadata.last_updated (updated daily)
Implementation:
scripts/load-cia-stats.js- Fetches and parses production statisticsscripts/update-stats-from-cia.js- Updates website files.github/workflows/update-cia-stats.yml- Automated daily workflowcia-data/production-stats.json- Cached statistics (24-hour freshness)
- Automated Validation - All CIA exports validated against JSON schemas
- Type Safety - TypeScript type definitions for development
- CI/CD Integration - Daily validation checks in GitHub Actions
- Update Detection - Weekly checks for schema updates
See CIA Schema Integration Documentation for details.
Riksdagsmonitor leverages 19 comprehensive visualization products from the CIA platform:
- Overview Dashboard - Complete Riksdag intelligence snapshot
- Party Performance - Longitudinal party analysis and effectiveness metrics
- Government Cabinet - Ministry-level performance scorecards
- Election Cycle Analysis - Historical patterns and trend forecasting
- Most Influential MPs (network analysis)
- Most Productive MPs (legislative output)
- Most Controversial MPs (voting patterns)
- Most Absent MPs (attendance tracking)
- Party Rebels (cross-party voting)
- Coalition Brokers (collaboration patterns)
- Rising Stars (emerging political figures)
- Electoral Risk (MPs at risk)
- Ethics Concerns (transparency issues)
- Media Presence (public visibility)
- Committee Network Analysis - Influence mapping and assignments
- Politician Career Analysis - Career trajectories and milestones
- Party Longitudinal Analysis - 50+ years of party evolution
Riksdagsmonitor currently features 4 interactive intelligence dashboards built with Chart.js and D3.js:
- Coverage: 2002-2025 (quarterly data, 23+ years)
- Visualizations: Heat maps, time series, Z-score analysis
- Purpose: Track quarterly parliamentary activity patterns and detect seasonal trends
- Data Source:
cia-data/seasonal/view_riksdagen_seasonal_activity_patterns_sample.csv
- Coverage: 349 MPs with comprehensive risk and performance metrics
- Visualizations: Top 10 rankings, risk profiles, influence metrics
- Purpose: Individual MP tracking and transparency assessment
- Data Source:
cia-data/politician/*.csv
- Coverage: Q4 2023-2025 (12-15 months before 2026 election)
- Visualizations: Historical comparisons, election-year patterns
- Purpose: Track pre-election parliamentary activity and behavior changes
- Data Source:
cia-data/pre-election/*.csv
Coverage: 1990-2026 (37 years)
Analysis: Comprehensive party analytics across 8 Swedish political parties
Key Features:
- Effectiveness Trends: Historical legislative productivity and voting consistency
- Comparative Analysis: Party-by-party benchmarking
- Coalition Patterns: Party alignment visualization
- Momentum Indicators: Electoral trajectory with percentile benchmarks
- Coverage: 2002-2026 (41 quarters analyzed)
- Visualizations: 6 interactive charts including timeline, Z-score distribution, heat map
- Features:
- Real-time alert system for critical anomalies
- Statistical Z-score analysis (|Z| β₯ 2.0 for anomalies)
- Severity classification: CRITICAL (β₯2.5), HIGH (β₯2.0), MODERATE (β₯1.5), LOW (<1.5)
- Anomaly types: Ballot, Document, Attendance
- Direction indicators: UNUSUALLY_HIGH, UNUSUALLY_LOW
- Data Source:
cia-data/seasonal/view_riksdagen_seasonal_anomaly_detection_sample.csv
Dashboard Features:
- Local-first data loading (1-hour caching)
- WCAG 2.1 AA accessible
- 14-language support
- Responsive design (320px-1440px+)
- CSP-compliant (SRI hashes on all CDN resources)
Riksdagsmonitor integrates multiple authoritative Swedish open data sources:
- Swedish Parliament (Riksdagen) - Votes, documents, committee work, MP information
- Swedish Election Authority - Election results, voter turnout, electoral statistics
- Swedish Financial Management Authority - Government budget and spending data
- World Bank Open Data - Country-level indicators for comparative analysis
- Frontend: Static HTML/CSS with JavaScript dashboards
- Build System: Vite 7 (ES modules, code splitting)
- Visualization: Chart.js 4 + D3.js 7 hosted locally on CloudFront
- Testing: Vitest (unit), Cypress (E2E) - 49 tests passing
- Styling: Custom CSS with cyberpunk theme, responsive design
- Hosting: GitHub Pages with CloudFront CDN
- CI/CD: GitHub Actions for automated testing and deployment
- Data Platform: CIA OSINT platform (Java/Spring Boot backend)
-
8 Dashboard Modules:
- party-dashboard.js (effectiveness analytics)
- anomaly-detection-dashboard.js (statistical outliers)
- seasonal-patterns-dashboard.js (temporal trends)
- pre-election-dashboard.js (election monitoring)
- politician-dashboard.js (MP tracking)
- ministry-dashboard.js (cabinet analysis)
- election-cycle-dashboard.js (cycle patterns)
- back-to-top.js (navigation)
-
Data Loading: Local-first with GitHub fallback
-
Caching: LocalStorage with freshness checks (1-7 days)
-
Performance: Code splitting, lazy loading, asset optimization
-
Security: SRI hashes (sha384), CSP-compliant script loading
- HTTPS-Only: TLS 1.3 encryption enforced
- Security Headers: CSP, HSTS, X-Frame-Options, X-Content-Type-Options
- Access Control: GitHub MFA, SSH keys, GPG commit signing
- Monitoring: Dependabot, CodeQL, Secret Scanning
- Documentation: SECURITY_ARCHITECTURE.md, THREAT_MODEL.md
At Hack23 AB, we believe that true security comes through transparency and demonstrable practices. Our Information Security Management System (ISMS) is publicly available, showcasing our commitment to security excellence and organizational transparency.
|
ISO 27001:2022 Aligned |
Defense-in-Depth Architecture |
- ISO 27001:2022 - Information security management controls (7 controls implemented)
- NIST CSF 2.0 - Cybersecurity framework (6 functions aligned)
- CIS Controls v8.1 - Security best practices (6 controls implemented)
| Metric | Status | Details |
|---|---|---|
| Risk Level | π’ LOW | 5.52/10.0 (99.7% risk reduction) |
| HTML Validation | β PASSED | 0 errors (HTMLHint) |
| Dependencies | β CLEAN | Dependabot monitoring |
| Secrets | β SECURE | Secret scanning enabled |
| Code Scanning | β ACTIVE | CodeQL analysis |
- Git with GPG signing configured
- GitHub account with MFA enabled
- SSH keys for GitHub authentication
# Clone repository
git clone [email protected]:Hack23/riksdagsmonitor.git
cd riksdagsmonitor
# Install dependencies
npm install
# Development server with Vite (hot reload)
npm run dev
# Opens http://localhost:8080
# OR serve statically
python3 -m http.server 8080
# or
npx http-server -p 8080
# Open in browser
open http://localhost:8080# Install dependencies (if not already done)
npm install
# Run unit tests (Vitest)
npm test
# Run tests in watch mode
npm run test:watch
# Run tests with coverage
npm run test:coverage
# Run tests with UI
npm run test:ui
# Run E2E tests (Cypress)
npm run cypress:open # Interactive GUI
npm run cypress:run # Headless
# Full E2E test suite
npm run e2e # Builds, previews, and runs Cypress# Build with Vite
npm run build
# Preview production build
npm run preview
# Opens http://localhost:4173
# Build output in dist/
ls dist/# HTML validation
npm run htmlhint
# Link checking
python3 -m http.server 8080 &
npm run linkcheck
# Run all quality checks
npm run htmlhint && npm test && npm run buildAutomated Checks:
- HTML validation (HTMLHint)
- Link checking (linkinator)
- JavaScript testing (Vitest unit tests - 49 tests)
- E2E testing (Cypress)
- Build validation (Vite)
- Dependency review (Dependabot)
- Security scanning (CodeQL, Secret Scanning)
Workflows:
.github/workflows/quality-checks.yml- HTML/link validation.github/workflows/javascript-testing.yml- Vite build, Vitest, Cypress E2E.github/workflows/dependency-review.yml- Dependency security.github/workflows/copilot-setup-steps.yml- Copilot agent setup
Test Results:
- β 49/49 unit tests passing (Vitest)
- β 100% test pass rate
- β Coverage: 70% lines, 70% functions, 60% branches
- README.md - This file
- TRANSLATION_GUIDE.md - Multi-language translation standards and glossary
- SECURITY_ARCHITECTURE.md - Security architecture and controls
- THREAT_MODEL.md - Threat analysis and risk assessment
- WORKFLOWS.md - CI/CD workflows and automation
- ARCHITECTURE.md - System architecture and design
- FUTURE_SECURITY_ARCHITECTURE.md - Future security roadmap
- LICENSE - Apache License 2.0
- AGENTS.md - Custom Copilot agents for specialized tasks (13 agents)
- SKILLS.md - Agent skills for strategic guidance (56 skills) β¨ UPDATED 2026-02-11
.github/agents/- Agent configuration files.github/skills/- Skill libraries
Available Agents (13) β¬οΈ UPDATED:
- security-architect - Security architecture and ISMS compliance
- documentation-architect - C4 models and technical documentation
- quality-engineer - HTML/CSS validation and accessibility
- frontend-specialist - Static site development and responsive design
- isms-compliance-manager - ISO 27001/NIST CSF/CIS Controls compliance
- deployment-specialist - GitHub Actions and CI/CD automation
- intelligence-operative - Political intelligence analysis, OSINT, Swedish politics expertise, riksdag-regering-mcp (32 tools)
- task-agent β¨ - Product excellence, quality assurance, Playwright testing, issue management
- ui-enhancement-specialist β¨ - Static HTML/CSS, responsive design, 14-language support, WCAG 2.1 AA
- data-pipeline-specialist β¨ - CIA data consumption, ETL workflows, caching strategies, data validation
- data-visualization-specialist β¨ - Chart.js/D3.js, interactive dashboards, CIA intelligence visualizations
- content-generator β¨ NEW - Automated news generation, intelligence reports, multi-language content
- devops-engineer β¨ NEW - CI/CD pipelines, GitHub Actions security, infrastructure automation, monitoring
Available Skills (41) β¬οΈ UPDATED:
Core Infrastructure (7):
- hack23-isms-compliance - ISMS framework requirements
- security-by-design - Security best practices
- static-site-security - Static website security
- ci-cd-security - GitHub Actions security hardening
- documentation-standards - Documentation guidelines
- html-accessibility - WCAG 2.1 AA compliance
- multi-language-localization - Internationalization best practices
Political Intelligence (11):
- political-science-analysis - Comparative politics and policy analysis frameworks
- osint-methodologies - Open-source intelligence collection and verification
- intelligence-analysis-techniques - Structured analytic techniques (ACH, SWOT)
- swedish-political-system - Riksdag structure, 8 parties, electoral system
- electoral-analysis - Election forecasting and coalition prediction
- behavioral-analysis - Political psychology and leadership analysis
- strategic-communication-analysis - Narrative analysis and media monitoring
- legislative-monitoring - Voting patterns and parliamentary oversight
- risk-assessment-frameworks - Political risk and corruption indicators
- data-science-for-intelligence - Statistical analysis and visualization
- gdpr-compliance - GDPR compliance for political data processing
ISMS & Security (6):
- cis-controls - CIS Controls v8.1 for static sites
- iso-27001-controls - ISO 27001:2022 Annex A controls
- nist-csf-mapping - NIST CSF 2.0 framework mapping
- threat-modeling - STRIDE threat analysis
- secure-code-review - HTML/CSS/JS security review
- security-documentation - ISMS documentation standards
Development & Operations (11): β¬οΈ EXPANDED
- c4-architecture-documentation - C4 model and Mermaid diagrams
- github-actions-workflows - CI/CD patterns and security
- code-quality-checks - HTMLHint, CSSLint, linkinator, axe-core
- secrets-management - GitHub secrets and PAT management
- data-pipeline-engineering β¨ NEW - ETL workflows, automated data fetching
- automated-content-generation β¨ NEW - News generation, intelligence reports
- performance-optimization β¨ NEW - Core Web Vitals, bundle size, caching
- api-integration β¨ NEW - REST/GraphQL clients, rate limiting
- github-agentic-workflows β¨ NEW - AI-powered repository automation, MCP tools, safe outputs
UI/UX & Design (4): β¬οΈ EXPANDED
- responsive-design - Mobile-first, CSS Grid/Flexbox, breakpoints (320px-1440px+)
- design-system-management - Cyberpunk theme, CSS variables, component library
- political-data-visualization - CSS-only charts, heat maps, dashboards
- advanced-data-visualization β¨ NEW - Chart.js/D3.js, interactive dashboards
Testing & Quality Assurance (2): β¨ NEW
- playwright-testing - Browser automation, visual regression, accessibility audits
- issue-management - GitHub issue creation, labeling, agent assignment
Data Integration (2): β¬οΈ EXPANDED
- riksdag-regering-mcp - 32 political data tools (Parliament, Government, MPs, votes)
- cia-data-integration β¨ NEW - CIA export consumption, validation, caching strategies
- CIA Platform Documentation
- CIA JSON Export Specifications
- Hack23 ISMS
- Hack23 Public ISMS
- Hack23 Secure Development Policy
- Hack23 Blog
Hack23 AB (Org.nr 5595347807) - Swedish cybersecurity and open-source intelligence consultancy
- π Website: www.hack23.com
- πΌ LinkedIn: Company Profile
- π¨βπ» Founder: James Pether SΓΆrling, CISSP, CISM
- π ISMS: Public ISMS Repository
Contributions welcome! Please follow Hack23's secure development standards:
- Fork the repository
- Create a feature branch with descriptive name
- Sign commits with GPG key
- Test changes locally (HTML validation, link checking)
- Submit pull request with comprehensive description
- Address code review feedback
Requirements:
- GitHub account with MFA enabled
- GPG-signed commits
- HTML validation passing
- No security vulnerabilities introduced
Copyright Β© 2008-2026 Hack23 AB (Org.nr 5595347807)
Licensed under the Apache License, Version 2.0. See LICENSE file for details.
- Website: riksdagsmonitor.com
- CIA Platform: www.hack23.com/cia
- GitHub: github.com/Hack23/riksdagsmonitor
- Hack23: www.hack23.com
- ISMS: github.com/Hack23/ISMS
- LinkedIn: James Pether SΓΆrling
James Pether SΓΆrling
CISSP, CISM
CEO, Hack23 AB
LinkedIn | GitHub
Monitor political activity in Sweden with systematic transparency