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

    Hack23 Logo

    ๐Ÿท๏ธ EU Parliament Monitor โ€” Classification & Business Continuity

    Systematic Classification Excellence Through Impact Analysis
    Open Source Intelligence Platform Classification Framework

    Owner Version Effective Date Review Cycle

    ๐Ÿ“‹ Document Owner: CEO | ๐Ÿ“„ Version: 1.1 | ๐Ÿ“… Last Updated: 2026-02-25 (UTC)
    ๐Ÿ”„ Review Cycle: Quarterly | โฐ Next Review: 2026-05-25


    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

    EU Parliament Monitor's classification framework demonstrates how systematic impact analysis enables security excellence and informed decision-making for open source intelligence platforms. This comprehensive classification serves as the foundation for threat modeling, risk assessment, and business continuity planning.

    This document provides structured classification across confidentiality, integrity, availability, recovery objectives, and business impact dimensions. It establishes the baseline for security control selection and incident response prioritization.

    Our transparent classification approach showcases methodical risk assessment aligned with Hack23 ISMS Classification Framework, enabling evidence-based security decision-making.

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


    ๐Ÿท๏ธ EU Parliament Monitor Classification Framework

    This document outlines the classification framework and business impact analysis for EU Parliament Monitor, a static website generator creating multi-language news about European Parliament activities.


    The following decision tree helps determine the appropriate classification level for EU Parliament Monitor data:

    %%{
    init: {
    'theme': 'base',
    'themeVariables': {
    'primaryColor': '#1565C0',
    'primaryTextColor': '#0D47A1',
    'lineColor': '#1565C0',
    'secondaryColor': '#4CAF50',
    'tertiaryColor': '#FF9800'
    }
    }
    }%%
    flowchart TD
    START[๐Ÿ“Š Data Received/Created] --> EP_CHECK{๐Ÿ›๏ธ European Parliament<br/>Open Data Source?}

    EP_CHECK -->|โœ… Yes| PII_CHECK{๐Ÿ‘ค Contains non-public or<br/>sensitive personal data?}
    EP_CHECK -->|โŒ No| REVIEW[๐Ÿ” Manual Review Required]

    PII_CHECK -->|โŒ No| ACCESS_CHECK{๐Ÿ” Requires Access<br/>Control?}
    PII_CHECK -->|โœ… Yes| HIGH_CONF[๐Ÿ”ด High Confidentiality<br/>(Non-public/sensitive PII)<br/>Not Applicable to EP Monitor]

    ACCESS_CHECK -->|โŒ No| ACCURACY_CHECK{โœ… Accuracy<br/>Critical?}
    ACCESS_CHECK -->|โœ… Yes| INTERNAL[๐ŸŸก Internal Classification<br/>Not Applicable to EP Monitor]

    ACCURACY_CHECK -->|โœ… Yes| PUBLIC_MED[๐ŸŸข PUBLIC Confidentiality<br/>๐ŸŸก MEDIUM Integrity<br/>โœ… Current EP Monitor Status]
    ACCURACY_CHECK -->|โŒ No| PUBLIC_LOW[๐ŸŸข PUBLIC Confidentiality<br/>๐ŸŸข LOW Integrity<br/>Not Typical for EP Monitor]

    PUBLIC_MED --> AVAIL_CHECK{โฑ๏ธ 24-hour Outage<br/>Acceptable?}

    AVAIL_CHECK -->|โœ… Yes| FINAL[โœ… Final Classification:<br/>๐Ÿ“Š Confidentiality: PUBLIC<br/>โœ… Integrity: MEDIUM<br/>โฑ๏ธ Availability: MEDIUM<br/>๐Ÿšจ RTO: 24 hours<br/>๐Ÿ”„ RPO: 1 day]
    AVAIL_CHECK -->|โŒ No| HIGH_AVAIL[โšก High Availability Required<br/>Not Current EP Monitor Design]

    classDef start fill:#2196F3,stroke:#1565C0,stroke-width:2px,color:#ffffff
    classDef decision fill:#FF9800,stroke:#F57C00,stroke-width:2px,color:#ffffff
    classDef success fill:#4CAF50,stroke:#2E7D32,stroke-width:2px,color:#ffffff
    classDef warning fill:#FFC107,stroke:#FFA000,stroke-width:2px,color:#000000
    classDef critical fill:#D32F2F,stroke:#B71C1C,stroke-width:2px,color:#ffffff
    classDef final fill:#7B1FA2,stroke:#4A148C,stroke-width:3px,color:#ffffff

    class START start
    class EP_CHECK,PII_CHECK,ACCESS_CHECK,ACCURACY_CHECK,AVAIL_CHECK decision
    class PUBLIC_MED,FINAL success
    class PUBLIC_LOW,INTERNAL warning
    class HIGH_CONF,HIGH_AVAIL critical
    class REVIEW final

    Decision Tree Explanation:

    1. European Parliament Data Check: All EP Monitor data originates from official EP open data APIs
    2. PII Check: MEP names and roles are publicly available personal data from official European Parliament open data sources. Processing is limited to transparency and journalistic purposes and relies on GDPR Article 6(1)(f) (legitimate interests) and applicable Article 85 freedom-of-expression/journalistic exemptions; no special category data is processed.
    3. Access Control Check: No authentication or authorization required for public transparency platform
    4. Accuracy Check: News accuracy is critical for democratic transparency and public trust
    5. Availability Check: 24-hour outages acceptable given daily update schedule and non-critical nature

    EU Parliament Monitor is classified as:

    Dimension Level Badge Rationale
    ๐Ÿ”’ Confidentiality Public (Level 1) Public All data from European Parliament open data sources, no private information, publicly accessible content
    โœ… Integrity Medium (Level 2) Moderate News accuracy critical for democratic transparency, incorrect information could mislead public opinion
    โฑ๏ธ Availability Medium (Level 2) Moderate Daily updates expected, 24-hour outages acceptable, not mission-critical infrastructure
    ๐Ÿšจ RTO 24 hours Medium Manual workflow trigger available, automated recovery via GitHub Actions
    ๐Ÿ”„ RPO 1 day Daily Daily generation schedule, previous day's content acceptable loss
    ๐Ÿท๏ธ Privacy Personal (public-source) Personal Publicly available personal data of elected representatives (MEP names/roles); no special categories; GDPR applies with reduced risk

    Project Type: Content Creation Static site generator for European Parliament intelligence


    Impact Category Financial Operational Reputational Regulatory
    ๐Ÿ”’ Confidentiality Breach Negligible Negligible Negligible Negligible
    โœ… Integrity Compromise Low - <$500 daily Moderate - Content correction Moderate - Trust erosion Low - Transparency concerns
    โฑ๏ธ Availability Loss Low - <$500 daily Low - Manual trigger Low - Limited visibility Negligible

    Justification:

    • All source data from European Parliament's public open data APIs
    • Generated news articles publicly accessible via AWS S3 + Amazon CloudFront
    • No authentication, authorization, or access controls required
    • Only publicly available MEP personal data processed (no non-public personal data, no special category data, no end-user tracking data)
    • Designed for maximum transparency and public accessibility

    Impact if Compromised: Negligible - Data already public

    Justification:

    • News accuracy critical for democratic transparency and informed citizenry
    • Incorrect information could mislead public opinion on parliamentary activities
    • Content influences understanding of European democratic processes
    • Manual content validation currently required
    • Reputation depends on factual accuracy and reliability

    Impact if Compromised: Moderate - Public misinformation, trust erosion

    Justification:

    • Daily content generation expected by users
    • 24-hour outages acceptable (not mission-critical)
    • Manual workflow trigger available as backup
    • GitHub Actions provides automated recovery
    • Static site architecture inherently resilient

    Impact if Compromised: Low - Delayed content, limited operational impact


    EU Parliament Monitor Context: Low-cost infrastructure (AWS S3 + CloudFront), volunteer-driven, no revenue generation.

    • Critical Major revenue impact (>$10K daily) โ€” N/A for volunteer project
    • Very High Substantial penalties ($5K-10K daily) โ€” N/A for volunteer project
    • High Regulatory fines ($1K-5K daily) โ€” N/A for volunteer project
    • Moderate Incident response costs ($500-1K daily) โ€” Low probability
    • Low Minimal impact (<$500 daily) โ€” Current exposure level
    • Negligible No financial consequences โ€” Most scenarios

    EU Parliament Monitor Context: Static site generator, GitHub Actions automation, manual fallback available.

    • Critical Complete service outage โ€” Low probability (AWS S3 + CloudFront redundancy)
    • High Major service degradation โ€” Low probability (static architecture)
    • Moderate Partial service impact โ€” Possible (workflow failures, content errors)
    • Low Minor inconvenience โ€” Current exposure (delayed updates)
    • Negligible No operational impact โ€” Most scenarios

    EU Parliament Monitor Context: Transparency-focused intelligence platform, volunteer open source project.

    • Critical International media coverage โ€” Very low probability
    • High National coverage โ€” Low probability
    • Moderate Industry attention โ€” Possible (content accuracy issues)
    • Low Limited visibility โ€” Current exposure (minor errors)
    • Negligible No reputational impact โ€” Most scenarios

    EU Parliament Monitor Context: Public open data, no PII, GDPR compliant by design, transparency-aligned.

    • Critical Criminal charges โ€” Not applicable (no sensitive data)
    • Very High Major penalties โ€” Not applicable (no sensitive data)
    • High Significant fines โ€” Not applicable (no sensitive data)
    • Moderate Minor penalties โ€” Very low probability
    • Low Warnings โ€” Low probability (transparency concerns)
    • Negligible No regulatory implications โ€” Current status

    The following diagram illustrates the four-level information classification hierarchy used across Hack23 projects, with EU Parliament Monitor positioned at the Public level:

    %%{
    init: {
    'theme': 'base',
    'themeVariables': {
    'primaryColor': '#1565C0',
    'primaryTextColor': '#0D47A1',
    'lineColor': '#1565C0',
    'secondaryColor': '#4CAF50',
    'tertiaryColor': '#FF9800'
    }
    }
    }%%
    graph TB
    subgraph HIERARCHY["๐Ÿ—๏ธ Hack23 Information Classification Hierarchy"]
    RESTRICTED[๐Ÿ”ด RESTRICTED<br/>Highest Protection<br/>Zero-trust architecture<br/>HSM, MFA, biometrics]
    CONFIDENTIAL[๐ŸŸ  CONFIDENTIAL<br/>Strong Protection<br/>Encryption, RBAC, monitoring]
    INTERNAL[๐ŸŸก INTERNAL<br/>Standard Protection<br/>Access control, authentication]
    PUBLIC[๐ŸŸข PUBLIC<br/>Minimal Protection<br/>TLS in transit only]
    end

    RESTRICTED -.->|Lower sensitivity| CONFIDENTIAL
    CONFIDENTIAL -.->|Lower sensitivity| INTERNAL
    INTERNAL -.->|Lower sensitivity| PUBLIC

    subgraph EP_MONITOR["๐Ÿ›๏ธ EU Parliament Monitor"]
    EP_DATA[๐Ÿ“Š European Parliament Data<br/>โœ… Public open data APIs<br/>โœ… Only public-identifiable data (MEP names/roles)<br/>โœ… No non-public or special category data]
    EP_NEWS[๐Ÿ“ฐ Generated News Articles<br/>โœ… 14 languages<br/>โœ… Public AWS S3 + CloudFront<br/>โœ… No access control]
    end

    PUBLIC -.->|Applied to| EP_MONITOR

    classDef critical fill:#D32F2F,stroke:#B71C1C,stroke-width:3px,color:#ffffff
    classDef high fill:#FF9800,stroke:#F57C00,stroke-width:2px,color:#ffffff
    classDef medium fill:#FFC107,stroke:#FFA000,stroke-width:2px,color:#000000
    classDef low fill:#4CAF50,stroke:#2E7D32,stroke-width:2px,color:#ffffff
    classDef epmonitor fill:#2196F3,stroke:#1565C0,stroke-width:2px,color:#ffffff

    class RESTRICTED critical
    class CONFIDENTIAL high
    class INTERNAL medium
    class PUBLIC low
    class EP_DATA,EP_NEWS epmonitor

    Hierarchy Characteristics:

    Level Protection Controls EU Parliament Monitor Applicability
    ๐Ÿ”ด Restricted HSM, zero-trust, biometric auth, air-gapped systems โŒ Not applicable - no sensitive data
    ๐ŸŸ  Confidential Strong encryption (AES-256), RBAC, SIEM monitoring โŒ Not applicable - transparency platform
    ๐ŸŸก Internal Standard access control, authentication, basic encryption โŒ Not applicable - public by design
    ๐ŸŸข Public TLS 1.2+ (TLS 1.3 where supported) in transit, public repository, open source โœ… CURRENT LEVEL - maximum transparency

    EU Parliament Monitor Classification: Public (Level 1)

    Level Badge Description EU Parliament Monitor Context
    Extreme Extreme National security, quantum encryption Not applicable
    Very High Very High Zero-trust, advanced threat protection Not applicable
    High High Strong encryption, MFA, monitoring Not applicable
    Moderate Moderate Standard encryption, role-based access Not applicable
    Low Low Basic protection, standard auth Not applicable
    Public Public No confidentiality requirements โœ… CURRENT LEVEL

    Controls Required:

    • โœ… TLS 1.2+ (TLS 1.3 where supported) for data in transit (Amazon CloudFront, API calls)
    • โœ… Public content by design
    • โœ… No authentication/authorization systems needed
    • โœ… Transparent, open source codebase

    EU Parliament Monitor Classification: Moderate (Level 2)

    Level Badge Description EU Parliament Monitor Context
    Critical Critical Real-time validation, immutable logs Future aspiration (Q4 2026)
    High High Automated validation, digital signatures Future phase (Q3 2026)
    Moderate Moderate Standard validation, checksums โœ… CURRENT LEVEL
    Low Low Basic validation, manual verification Not appropriate
    Minimal Minimal Best-effort basis only Not acceptable

    Controls Required:

    • โœ… Git version control (change tracking, audit trail)
    • โœ… Git object integrity via commit hashes (no automated commit signing)
    • โœ… Immutable Git history
    • โœ… Automated testing (unit tests 82%, E2E tests)
    • โœ… Code review via pull requests
    • โณ Content validation (manual, future automation planned Q3 2026)
    • โณ Fact-checking integration (planned Q4 2026)

    EU Parliament Monitor Classification: Moderate (Level 2)

    Level Badge Description EU Parliament Monitor Context
    Mission Critical Mission Critical 99.99% uptime, instant failover Not applicable
    High High 99.9% uptime, automated failover Future phase
    Moderate Moderate 99.5% uptime, manual failover โœ… CURRENT LEVEL
    Standard Standard 99% uptime, basic redundancy Minimum acceptable
    Best Effort Best Effort No uptime guarantees Not acceptable

    Controls Required:

    • โœ… AWS S3 + Amazon CloudFront infrastructure (99.9% uptime SLA)
    • โœ… Static site architecture (no server-side execution)
    • โœ… Amazon CloudFront global CDN distribution
    • โœ… Manual workflow trigger (backup recovery)
    • โœ… GitHub Actions automated recovery
    • โœ… Multiple repository copies (Git distributed architecture)

    EU Parliament Monitor Classification: Personal (public-source, public-official context)

    Level Badge Description GDPR Context EU Parliament Monitor Context
    Special Category Special Category Art. 9 data Explicit consent required Not applicable
    Personal Identifier Personal Identifier Direct identifiers GDPR Art. 4(1) Not applicable
    Personal Personal Personal data GDPR compliance required โœ… CURRENT STATUS โ€” publicly available MEP names/roles from EP open data
    Pseudonymized Pseudonymized De-identified with key GDPR Art. 4(5) Not applicable
    Anonymized Anonymized Irreversibly de-identified Outside GDPR scope Not applicable
    NA (Not Applicable) NA Non-personal data No GDPR obligations Not applicable

    GDPR Compliance Status:

    • โœ… Publicly available personal data of elected representatives only (no special categories, no behavioural profiling)
    • โœ… No cookies, tracking, or analytics
    • โœ… No user accounts or authentication
    • โœ… Public European Parliament data only
    • โœ… GDPR by design (data protection by design and by default)
    • โœ… Data subject rights handled case-by-case subject to applicable freedom-of-expression and public-interest exemptions

    EU Parliament Monitor Classification: Medium (24 hours)

    Level Badge Time Window EU Parliament Monitor Context
    Instant Instant < 5 minutes Not required
    Critical Critical 5-60 minutes Not required
    High High 1-4 hours Not required
    Medium Medium 4-24 hours โœ… CURRENT TARGET
    Low Low 24-72 hours Acceptable fallback
    Standard Standard > 72 hours Not acceptable

    Recovery Strategy:

    • โœ… GitHub Actions automated workflow retry
    • โœ… Manual workflow trigger via GitHub UI
    • โœ… Static site resilience (existing content remains available)
    • โœ… AWS S3 + CloudFront redundancy (no single point of failure)
    • โœ… Daily generation schedule provides natural recovery window

    Acceptable Downtime: 24 hours (content generation can be delayed without critical impact)

    EU Parliament Monitor Classification: Daily (24 hours)

    Level Badge Data Loss Window EU Parliament Monitor Context
    Zero Loss Zero Loss < 1 minute Not required
    Near Real-time Near Real-time 1-15 minutes Not required
    Minimal Minimal 15-60 minutes Not required
    Hourly Hourly 1-4 hours Future aspiration
    Daily Daily 4-24 hours โœ… CURRENT ACCEPTABLE
    Extended Extended > 24 hours Not preferred

    Data Loss Strategy:

    • โœ… Daily content generation schedule
    • โœ… Git version control (all content versioned)
    • โœ… GitHub repository backup (distributed copies)
    • โœ… Previous day's content acceptable loss
    • โœ… EP API data remains available for regeneration

    Acceptable Data Loss: Up to 24 hours of generated content (regenerable from source)


    Primary Type:

    • Content Creation Static site generator for news intelligence

    Secondary Types:

    • Development Tools Open source CLI tooling
    • Data Analytics European Parliament data aggregation

    Characteristics:

    • Zero production dependencies
    • GitHub Actions automation
    • Static HTML output
    • Multi-language support (14 languages)
    • MCP (Model Context Protocol) integration
    • LLM-powered content generation

    Security Level: Moderate (static architecture, public data, integrity-focused)


    The following table provides explicit classifications for various types of European Parliament data processed by EU Parliament Monitor:

    Data Type Source Confidentiality Integrity Availability Rationale
    ๐Ÿ›๏ธ MEP Personal Data (Names, roles, contact) EP Open Data API ๐ŸŸข Public ๐ŸŸก Medium ๐ŸŸก Medium Public officials, accuracy matters for democratic transparency
    ๐Ÿ“‹ Plenary Session Records EP Open Data API ๐ŸŸข Public ๐ŸŸก Medium ๐ŸŸก Medium Official parliamentary proceedings, historical accuracy critical
    ๐Ÿ“Š Committee Documents EP Open Data API ๐ŸŸข Public ๐ŸŸก Medium ๐ŸŸข Low Committee work publicly accessible, moderate accuracy needs
    ๐Ÿ—ณ๏ธ Voting Records EP Open Data API ๐ŸŸข Public ๐Ÿ”ด High ๐ŸŸก Medium Democratic accountability requires highest integrity
    ๐Ÿ“œ Legislative Documents EP Open Data API ๐ŸŸข Public ๐ŸŸก Medium ๐ŸŸก Medium Legal texts require accuracy but publicly available
    ๐Ÿ“ฐ Generated News Articles (14 languages) EP Monitor (Generated) ๐ŸŸข Public ๐ŸŸก Medium ๐ŸŸข Low Transparency content, accuracy important but not mission-critical
    ๐Ÿ“Š Session Summaries EP Monitor (Processed) ๐ŸŸข Public ๐ŸŸก Medium ๐ŸŸข Low Aggregated insights, public transparency focus
    ๐ŸŒ Multi-Language Translations EP Monitor (Generated) ๐ŸŸข Public ๐ŸŸก Medium ๐ŸŸข Low Linguistic accuracy important for international audience

    Why Everything is Public (Level 1) Confidentiality:

    • โœ… All data originates from European Parliament's official open data sources
    • โœ… EU transparency regulations mandate public access to parliamentary proceedings
    • โœ… No authentication, authorization, or access control mechanisms needed
    • โœ… Personal data protection (GDPR) requirements apply, but risk and required controls are reduced because MEP information is public official data from open sources
    • โœ… Designed for maximum democratic transparency and citizen engagement

    Why Integrity Varies (Low to High):

    • ๐Ÿ—ณ๏ธ High Integrity: Voting records require absolute accuracy for democratic accountability
    • ๐ŸŸก Medium Integrity: Most content requires accuracy but corrections are acceptable
    • ๐ŸŸข Low Integrity: Supplementary content where errors have minimal impact

    Why Availability is Medium/Low:

    • Daily content generation schedule provides natural recovery window
    • 24-hour outages acceptable - not mission-critical democratic infrastructure
    • Manual workflow triggers available as backup
    • AWS S3 with CloudFront provides inherent resilience via global CDN distribution

    Language Coverage: 14 languages (en, sv, da, no, fi, de, fr, es, nl, ar, he, ja, ko, zh)

    Uniform Classification Across Languages:

    Attribute Classification Applies to All 14 Languages
    ๐Ÿ”’ Confidentiality ๐ŸŸข Public โœ… Yes - all language variants equally public
    โœ… Integrity ๐ŸŸก Medium โœ… Yes - translation accuracy equally important
    โฑ๏ธ Availability ๐ŸŸก Medium โœ… Yes - same 24-hour RTO applies to all
    ๐Ÿšจ RTO 24 hours โœ… Yes - same recovery objective for all
    ๐Ÿ”„ RPO 1 day โœ… Yes - daily regeneration schedule universal

    Language-Specific Considerations:

    • Translation quality monitored but not cryptographically verified
    • All languages generated simultaneously in single workflow
    • No language-based access restrictions or geographic fencing
    • Cultural context maintained across translations
    • No special protection for any specific language variant

    %%{
    init: {
    'theme': 'base',
    'themeVariables': {
    'primaryColor': '#1565C0',
    'primaryTextColor': '#0D47A1',
    'lineColor': '#1565C0',
    'secondaryColor': '#4CAF50',
    'tertiaryColor': '#FF9800'
    }
    }
    }%%
    flowchart TB
    subgraph CREATION["๐Ÿ“ฅ Data Creation/Collection"]
    EP_API[๐Ÿ›๏ธ EP Open Data API Call]
    MCP_FETCH[๐Ÿ”Œ MCP Server Data Fetch]
    API_RESPONSE[๐Ÿ“Š JSON API Response]
    end

    subgraph PROCESSING["โš™๏ธ Data Processing"]
    PARSE[๐Ÿ” Parse EP Data]
    TRANSFORM[๐Ÿ”„ Transform to News Format]
    LLM_GEN[๐Ÿค– LLM Content Generation]
    TRANSLATE[๐ŸŒ 14-Language Translation]
    end

    subgraph STORAGE["๐Ÿ’พ Data Storage"]
    GIT_COMMIT[๐Ÿ“ Git Commit]
    REPO_STORE[๐Ÿ“ฆ GitHub Repository]
    PAGES_DEPLOY[๐Ÿš€ AWS S3 + CloudFront Deployment]
    end

    subgraph PUBLICATION["๐Ÿ“ข Publication"]
    HTML_SERVE[๐ŸŒ Static HTML Serving]
    CDN_CACHE[โšก Amazon CloudFront CDN Cache]
    PUBLIC_ACCESS[๐Ÿ‘ฅ Public Access]
    end

    subgraph ARCHIVING["๐Ÿ“š Archiving"]
    GIT_HISTORY[๐Ÿ•ฐ๏ธ Git Version History]
    IMMUTABLE[๐Ÿ”’ Immutable Git Objects]
    LONG_TERM[๐Ÿ“ฆ Long-Term Preservation]
    end

    subgraph DISPOSAL["๐Ÿ—‘๏ธ Data Disposal"]
    RETENTION[โฐ Policy-Based Retention]
    AUTO_ARCHIVE[๐Ÿค– Automatic Archiving]
    NO_DELETION[โŒ No Permanent Deletion<br/>Public record preservation]
    end

    EP_API --> MCP_FETCH
    MCP_FETCH --> API_RESPONSE
    API_RESPONSE --> PARSE
    PARSE --> TRANSFORM
    TRANSFORM --> LLM_GEN
    LLM_GEN --> TRANSLATE
    TRANSLATE --> GIT_COMMIT
    GIT_COMMIT --> REPO_STORE
    REPO_STORE --> PAGES_DEPLOY
    PAGES_DEPLOY --> HTML_SERVE
    HTML_SERVE --> CDN_CACHE
    CDN_CACHE --> PUBLIC_ACCESS

    REPO_STORE --> GIT_HISTORY
    GIT_HISTORY --> IMMUTABLE
    IMMUTABLE --> LONG_TERM

    PUBLIC_ACCESS --> RETENTION
    RETENTION --> AUTO_ARCHIVE
    AUTO_ARCHIVE --> NO_DELETION

    classDef creation fill:#2196F3,stroke:#1565C0,stroke-width:2px,color:#ffffff
    classDef processing fill:#FF9800,stroke:#F57C00,stroke-width:2px,color:#ffffff
    classDef storage fill:#4CAF50,stroke:#2E7D32,stroke-width:2px,color:#ffffff
    classDef publication fill:#7B1FA2,stroke:#4A148C,stroke-width:2px,color:#ffffff
    classDef archiving fill:#1565C0,stroke:#0D47A1,stroke-width:2px,color:#ffffff
    classDef disposal fill:#9E9E9E,stroke:#616161,stroke-width:2px,color:#ffffff

    class EP_API,MCP_FETCH,API_RESPONSE creation
    class PARSE,TRANSFORM,LLM_GEN,TRANSLATE processing
    class GIT_COMMIT,REPO_STORE,PAGES_DEPLOY storage
    class HTML_SERVE,CDN_CACHE,PUBLIC_ACCESS publication
    class GIT_HISTORY,IMMUTABLE,LONG_TERM archiving
    class RETENTION,AUTO_ARCHIVE,NO_DELETION disposal

    Duration: Daily (automated via GitHub Actions)
    Classification Impact: Public data from inception
    Controls:

    • โœ… TLS 1.2+ (TLS 1.3 where supported) for API communications
    • โœ… European Parliament MCP Server runs as a local stdio child process (no network exposure; explicit authentication planned for future remote deployment)
    • โœ… API rate limiting and error handling
    • โœ… Automated retry mechanisms

    Data Volumes:

    • ~50-100 MEP records per execution
    • ~10-20 plenary sessions per month
    • ~5-10 committee meetings per day
    • JSON payloads: 10-50 KB per request

    Duration: 15-30 minutes per execution
    Classification Impact: Public input โ†’ Public output (no classification change)
    Controls:

    • โœ… Input validation and sanitization
    • โœ… Content safety checks (no malicious content generation)
    • โœ… Translation quality validation
    • โœ… Git repository integrity via commit hashes (no automated commit signing)

    Processing Steps:

    1. Parse EP API JSON responses
    2. Transform to structured news format
    3. LLM-powered content generation (news articles)
    4. Multi-language translation (14 languages)
    5. HTML template rendering

    Duration: Permanent (Git version control)
    Classification Impact: Public storage with integrity controls
    Controls:

    • โœ… Git version control (immutable history)
    • โœ… GitHub repository backup (distributed copies)
    • โœ… Git object integrity via commit hashes (no automated commit signing)
    • โœ… Branch protection rules

    Storage Characteristics:

    • Location: GitHub cloud infrastructure
    • Redundancy: Git distributed architecture (multiple clones)
    • Backup: GitHub's infrastructure backups + Git clones
    • Retention: Indefinite (public record preservation)

    Duration: Real-time (CDN caching)
    Classification Impact: Public access with availability controls
    Controls:

    • โœ… AWS S3 + CloudFront HTTPS (TLS 1.2+, TLS 1.3 where supported)
    • โœ… Amazon CloudFront (AWS Shield Standard for DDoS protection)
    • โœ… Static site architecture (no server-side vulnerabilities)
    • โœ… No authentication required (public by design)

    Availability:

    • SLA: AWS S3 (Standard) and Amazon CloudFront, each with 99.9% availability SLA
    • CDN: Global edge caching
    • RTO: 24 hours (manual workflow trigger)
    • RPO: 1 day (daily generation acceptable)

    Duration: Automatic (Git version history)
    Classification Impact: Public historical record
    Controls:

    • โœ… Immutable Git objects (Git object hashing, SHA-1 by default; SHA-256 if enabled)
    • โœ… Permanent version history
    • โœ… No content deletion (transparency principle)
    • โœ… Historical audit trail

    Archive Characteristics:

    • All content changes tracked via Git commits
    • Complete historical record of all articles
    • Tamper-evident via Git cryptographic hashing
    • No retroactive content modification

    Duration: N/A (no permanent deletion)
    Classification Impact: Public record preservation
    Policy:

    • โŒ No permanent deletion of published content
    • โœ… Content remains in Git history indefinitely
    • โœ… Transparency principle: public record preservation
    • โœ… Compliance: EU transparency regulations

    Rationale for No Deletion:

    • Democratic transparency requires historical preservation
    • Public officials' parliamentary activities are permanent public record
    • Git architecture supports immutable history
    • DSR rights to erasure are subject to applicable exemptions (public record, freedom of expression, journalistic/archival purpose)

    The following matrix defines specific handling procedures for each classification level across all data operations:

    Handling Procedure ๐Ÿ”ด Restricted ๐ŸŸ  Confidential ๐ŸŸก Internal ๐ŸŸข Public EU Parliament Monitor
    ๐Ÿ’พ Storage HSM, encrypted vaults, air-gapped AES-256 encryption, encrypted databases Access-controlled storage, basic encryption Standard storage, version control โœ… Git (public), GitHub (cloud)
    ๐Ÿ“ก Transmission Quantum-safe, VPN + TLS 1.3 TLS 1.3, certificate pinning TLS 1.2+, standard HTTPS TLS 1.2+ (prefer 1.3) โœ… TLS 1.2+, TLS 1.3 where supported (CloudFront CDN, EP API)
    ๐Ÿค Sharing Need-to-know, zero-trust, MFA Role-based, MFA, audit logging Authenticated access, logging Public access, no restrictions โœ… Public AWS S3 + CloudFront, no auth
    ๐Ÿ—‘๏ธ Disposal Cryptographic erasure, physical destruction, witnessed Multi-pass overwrite (DoD 5220.22-M), secure deletion Standard deletion, recycle bin clearing Standard deletion or retention โœ… Git history preservation (no deletion)
    ๐Ÿ” Access Control Biometric + MFA, zero-trust RBAC + MFA, privileged access management Username/password + RBAC No access control required โœ… No access control (public by design)
    ๐Ÿ”’ Encryption AES-256 + HSM, quantum-resistant AES-256, key rotation, KMS AES-128/256, managed keys TLS in transit only โœ… TLS 1.2+, TLS 1.3 where supported (CloudFront)
    ๐Ÿ“‹ Labeling "RESTRICTED - AUTHORIZED ONLY" "CONFIDENTIAL - INTERNAL USE" "INTERNAL - STAFF ONLY" "PUBLIC" or no label โœ… PUBLIC (implied, no labels needed)
    ๐Ÿ“Š Logging Immutable audit logs, SIEM, real-time alerting Comprehensive logging, SIEM integration Standard logging, periodic review Basic logging or none โœ… Git commits (immutable), GitHub audit
    ๐Ÿ”„ Backup Air-gapped, encrypted, off-site vaults Encrypted backups, off-site replication Standard backups, encryption Git version control, cloud backups โœ… Git (distributed), GitHub backups
    ๐Ÿ“ฑ Mobile Devices Prohibited or heavily restricted MDM, encryption, remote wipe MDM, basic encryption No restrictions โœ… Public access from any device
    โ˜๏ธ Cloud Storage Prohibited or private cloud only Encrypted, dedicated tenants Encrypted, shared cloud Public cloud, standard controls โœ… AWS S3 (public cloud), CloudFront (CDN)
    ๐Ÿ–จ๏ธ Printing Prohibited or secure printers only Watermarked, secure disposal Standard printers, secure disposal Unrestricted โœ… N/A (web-only content)

    ๐ŸŸข Public Classification Handling:

    โœ… Storage:

    • Public GitHub repository (no encryption required)
    • Git version control for integrity
    • Distributed architecture (multiple clones)

    โœ… Transmission:

    • TLS 1.2+, TLS 1.3 where supported (Amazon CloudFront)
    • European Parliament API calls over HTTPS
    • No VPN or additional encryption needed

    โœ… Sharing:

    • Public AWS S3 + CloudFront (open access)
    • No authentication, authorization, or access control
    • Maximum transparency and accessibility

    โœ… Disposal:

    • No permanent deletion (public record preservation)
    • Git history maintained indefinitely
    • Compliance with transparency principles

    โœ… Access Control:

    • None required (public by design)
    • No user accounts or login
    • Open source codebase

    โœ… Encryption:

    • TLS 1.2+, TLS 1.3 where supported (in transit only)
    • No encryption at rest required (public data)
    • Amazon CloudFront HTTPS enforced

    โœ… Logging:

    • Git commit history (immutable)
    • GitHub Actions workflow logs
    • No PII logging (no user data)

    โœ… Backup:

    • Git distributed architecture (natural backups)
    • GitHub infrastructure backups
    • Multiple repository clones

    EU Parliament Monitor's classification framework aligns with multiple international standards and best practices:

    ISO 27001 Control Control Name EU Parliament Monitor Implementation Compliance Status
    A.5.12 Classification of information โœ… Documented classification framework (this document) โœ… COMPLIANT
    A.5.13 Labelling of information โœ… Badges and metadata in all documents โœ… COMPLIANT
    A.5.14 Information transfer โœ… TLS 1.2+, TLS 1.3 where supported for all transmissions, EP API over HTTPS โœ… COMPLIANT
    A.8.10 Information deletion โœ… Git history preservation policy (no deletion) โœ… COMPLIANT
    A.8.11 Data masking โšช N/A (no sensitive data) โšช N/A
    A.8.12 Data leakage prevention โšช N/A (public data by design) โšช N/A
    A.5.10 Acceptable use of information โœ… Public domain, open source licensing โœ… COMPLIANT
    NIST CSF 2.0 Category Function EU Parliament Monitor Implementation Maturity Level
    ID.AM-5 Classify data โœ… Complete classification framework (Public/Medium/Medium) ๐ŸŸข Level 4 - Adaptive
    PR.DS-1 Protect data at rest โœ… Git version control, GitHub backups ๐ŸŸข Level 3 - Informed
    PR.DS-2 Protect data in transit โœ… TLS 1.2+, TLS 1.3 where supported (CloudFront CDN, S3, EP API) ๐ŸŸข Level 4 - Adaptive
    PR.DS-5 Protections against data leaks โšช N/A (public data, no leaks possible) โšช N/A
    PR.DS-6 Integrity checking โœ… Git cryptographic hashing (SHA-1 by default), commit hash verification ๐ŸŸข Level 3 - Informed
    PR.DS-7 Separate dev/test/prod โœ… GitHub Actions environments, branch protection ๐ŸŸข Level 3 - Informed
    PR.DS-8 Integrity verification โœ… Automated testing (82% coverage), Git object hashing ๐ŸŸข Level 3 - Informed

    NIST CSF 2.0 Maturity Levels:

    • ๐Ÿ”ด Level 1 - Partial: Ad hoc, reactive
    • ๐ŸŸ  Level 2 - Risk-Informed: Aware but not systematic
    • ๐ŸŸก Level 3 - Repeatable: Documented and followed
    • ๐ŸŸข Level 4 - Adaptive: Continuous improvement
    CIS Control Control Name EU Parliament Monitor Implementation Implementation Status
    3.3 Configure data access control lists โšช N/A (public access, no ACLs) โšช N/A
    3.6 Encrypt data on end-user devices โšช N/A (static web content, no user devices) โšช N/A
    3.11 Encrypt sensitive data at rest โšช N/A (public data, no encryption required) โšช N/A
    3.12 Segment data processing โœ… GitHub Actions isolation, ephemeral runners โœ… IMPLEMENTED
    3.14 Log sensitive data access โœ… Git commit logs, GitHub audit logs โœ… IMPLEMENTED
    11.4 Maintain isolated backups โœ… Git distributed architecture, GitHub backups โœ… IMPLEMENTED
    11.5 Test data recovery โœ… Manual workflow trigger tested, Git clone recovery โœ… IMPLEMENTED
    GDPR Article Requirement EU Parliament Monitor Implementation Compliance Status
    Art. 5(1)(a) Lawfulness, fairness, transparency โœ… Public data, open source, maximum transparency โœ… COMPLIANT
    Art. 5(1)(b) Purpose limitation โœ… Democratic transparency only, defined purpose โœ… COMPLIANT
    Art. 5(1)(c) Data minimization โœ… European Parliament open data about public functions only; strict data minimization; no special categories โœ… COMPLIANT
    Art. 5(1)(d) Accuracy โœ… Git version control, automated testing, integrity focus โœ… COMPLIANT
    Art. 5(1)(e) Storage limitation โœ… Indefinite retention justified (public record preservation) โœ… COMPLIANT
    Art. 5(1)(f) Integrity and confidentiality โœ… TLS 1.2+, Git integrity, GitHub security โœ… COMPLIANT
    Art. 25 Data protection by design โœ… Architecture limited to EP open data; no behavioural tracking or unnecessary identifiers โœ… COMPLIANT
    Art. 32 Security of processing โœ… TLS 1.2+, Git integrity, GitHub Actions security โœ… COMPLIANT

    GDPR Summary:

    • โœ… Public-source institutional data only - Processes European Parliament open data about elected representatives and institutional activities; no special categories or behavioural profiling
    • โœ… MEP data is personal data of public officials - Processed under GDPR on the basis of legitimate/public interest with appropriate safeguards and transparency
    • โœ… Data subject rights supported - DSRs (access, rectification, objection, etc.) are handled case-by-case, subject to applicable legal exemptions (e.g. freedom of expression and information, public interest, archival/record-keeping)
    • โœ… No cookies, tracking, or analytics - Privacy by design
    • โœ… Transparency by default - Open source, public repository, public content
    CRA Requirement EU Parliament Monitor Implementation Compliance Status
    Security by design โœ… Static architecture, no server-side execution, public data โœ… COMPLIANT
    Vulnerability handling โœ… Dependabot, SonarCloud SAST, GitHub security advisories โœ… COMPLIANT
    Security updates โœ… Automated dependency updates, GitHub Actions CI/CD โœ… COMPLIANT
    Incident reporting โœ… GitHub security advisories, public issue tracking โœ… COMPLIANT
    Documentation โœ… Complete security architecture documentation โœ… COMPLIANT
    NIS2 Requirement EU Parliament Monitor Implementation Compliance Status
    Art. 21 โ€” Security measures โœ… Static architecture, TLS 1.2+ (TLS 1.3 where supported), GitHub security controls โœ… COMPLIANT
    Art. 21(2)(a) โ€” Incident handling โœ… GitHub Actions alerting, manual recovery procedures โœ… COMPLIANT
    Art. 21(2)(b) โ€” Business continuity โœ… BCP documented, RTO 24h, RPO 1 day, static resilience โœ… COMPLIANT
    Art. 21(2)(e) โ€” Supply chain security โœ… SHA-pinned GitHub Actions, Dependabot, SBOM generation โœ… COMPLIANT
    Art. 21(2)(i) โ€” Vulnerability disclosure โœ… GitHub security advisories, SECURITY.md, public issue tracking โœ… COMPLIANT
    Art. 23 โ€” Incident reporting โœ… GitHub security advisories, transparent public reporting โœ… COMPLIANT
    Framework Overall Compliance Key Strengths Areas for Improvement
    ISO 27001:2022 โœ… Fully Compliant Classification framework, TLS 1.2+, Git integrity Content validation automation (Q3 2026)
    NIST CSF 2.0 ๐ŸŸข Level 3-4 Maturity Data protection, integrity verification, separation Real-time monitoring (future phase)
    CIS Controls v8.1 โœ… Implemented Backup testing, logging, data segmentation N/A (public data simplifies many controls)
    GDPR โœ… Fully Compliant Public-source institutional data, minimization, transparency, DSR support with applicable exemptions N/A (no special categories or behavioural profiling)
    NIS2 โœ… Compliant Security measures, BCP, supply chain, vulnerability disclosure N/A (minimal attack surface simplifies many obligations)
    EU CRA โœ… Compliant Security by design, vulnerability management Continuous improvement

    Document Purpose Link
    ๐Ÿท๏ธ Classification Framework This document Current document
    ๐ŸŽฏ Threat Model Risk and threat analysis THREAT_MODEL.md
    ๐Ÿ” Security Architecture Current security controls SECURITY_ARCHITECTURE.md
    ๐Ÿš€ Future Security Architecture Security roadmap FUTURE_SECURITY_ARCHITECTURE.md
    ๐Ÿ“Š Data Model Data structures DATA_MODEL.md
    ๐Ÿ“ˆ Flowchart Process flows FLOWCHART.md
    ๐Ÿ“ Architecture System design ARCHITECTURE.md
    ๐Ÿ›ก๏ธ ISMS Classification Policy Framework reference Hack23 ISMS

    The following flowchart illustrates the complete data handling lifecycle for EU Parliament Monitor, from data receipt to archiving or disposal:

    %%{
    init: {
    'theme': 'base',
    'themeVariables': {
    'primaryColor': '#1565C0',
    'primaryTextColor': '#0D47A1',
    'lineColor': '#1565C0',
    'secondaryColor': '#4CAF50',
    'tertiaryColor': '#FF9800'
    }
    }
    }%%
    flowchart TB
    START[๐Ÿ“ฅ RECEIVE<br/>European Parliament Data] --> CLASSIFY[๐Ÿท๏ธ CLASSIFY<br/>Determine Classification Level]

    CLASSIFY --> CLASSIFY_DECISION{Classification?}

    CLASSIFY_DECISION -->|Public| LABEL_PUBLIC[๐ŸŸข LABEL<br/>Public Data Badge]
    CLASSIFY_DECISION -->|Internal| LABEL_INTERNAL[๐ŸŸก LABEL<br/>Internal Badge<br/>N/A for EP Monitor]
    CLASSIFY_DECISION -->|Confidential| LABEL_CONF[๐ŸŸ  LABEL<br/>Confidential Badge<br/>N/A for EP Monitor]
    CLASSIFY_DECISION -->|Restricted| LABEL_REST[๐Ÿ”ด LABEL<br/>Restricted Badge<br/>N/A for EP Monitor]

    LABEL_PUBLIC --> HANDLE_PUBLIC[๐Ÿค HANDLE<br/>Public Handling Procedures]
    LABEL_INTERNAL --> HANDLE_INTERNAL[๐Ÿ” HANDLE<br/>Access Control Required]
    LABEL_CONF --> HANDLE_CONF[๐Ÿ”’ HANDLE<br/>Encryption + RBAC Required]
    LABEL_REST --> HANDLE_REST[๐Ÿ›ก๏ธ HANDLE<br/>Maximum Protection Required]

    HANDLE_PUBLIC --> PROCESS[โš™๏ธ PROCESS<br/>LLM Content Generation<br/>14-Language Translation]
    HANDLE_INTERNAL --> PROCESS
    HANDLE_CONF --> PROCESS
    HANDLE_REST --> PROCESS

    PROCESS --> STORE[๐Ÿ’พ STORE<br/>Git Version Control<br/>GitHub Repository]

    STORE --> DEPLOY[๐Ÿš€ DEPLOY<br/>AWS S3<br/>CloudFront CDN]

    DEPLOY --> MONITOR[๐Ÿ“Š MONITOR<br/>Access Logs<br/>Git Commit History]

    MONITOR --> REVIEW[๐Ÿ” REVIEW<br/>Quarterly Classification Review<br/>Security Assessment]

    REVIEW --> REVIEW_DECISION{Review Result?}

    REVIEW_DECISION -->|Reclassify| CLASSIFY
    REVIEW_DECISION -->|Maintain| CONTINUE[โœ… CONTINUE<br/>Maintain Current Classification]
    REVIEW_DECISION -->|Archive| ARCHIVE[๐Ÿ“š ARCHIVE<br/>Git History Preservation<br/>Immutable Records]
    REVIEW_DECISION -->|Dispose| DISPOSE[๐Ÿ—‘๏ธ DISPOSE<br/>No Deletion for Public Data<br/>Transparency Principle]

    CONTINUE --> MONITOR
    ARCHIVE --> LONG_TERM[๐Ÿ•ฐ๏ธ LONG-TERM STORAGE<br/>Permanent Git History]
    DISPOSE --> PRESERVE[๐Ÿ›๏ธ PRESERVE<br/>Public Record Retention<br/>Democratic Transparency]

    classDef start fill:#2196F3,stroke:#1565C0,stroke-width:2px,color:#ffffff
    classDef classify fill:#FF9800,stroke:#F57C00,stroke-width:2px,color:#ffffff
    classDef label fill:#FFC107,stroke:#FFA000,stroke-width:2px,color:#000000
    classDef handle fill:#4CAF50,stroke:#2E7D32,stroke-width:2px,color:#ffffff
    classDef process fill:#7B1FA2,stroke:#4A148C,stroke-width:2px,color:#ffffff
    classDef store fill:#1565C0,stroke:#0D47A1,stroke-width:2px,color:#ffffff
    classDef decision fill:#FF9800,stroke:#F57C00,stroke-width:2px,color:#ffffff
    classDef archive fill:#8D6E63,stroke:#5D4037,stroke-width:2px,color:#ffffff
    classDef critical fill:#D32F2F,stroke:#B71C1C,stroke-width:2px,color:#ffffff
    classDef success fill:#4CAF50,stroke:#2E7D32,stroke-width:2px,color:#ffffff

    class START start
    class CLASSIFY,REVIEW classify
    class CLASSIFY_DECISION,REVIEW_DECISION decision
    class LABEL_PUBLIC,LABEL_INTERNAL,LABEL_CONF,LABEL_REST label
    class HANDLE_PUBLIC,HANDLE_INTERNAL,HANDLE_CONF,HANDLE_REST handle
    class PROCESS,DEPLOY,MONITOR process
    class STORE store
    class ARCHIVE,LONG_TERM,PRESERVE archive
    class DISPOSE,CONTINUE success

    Duration: Continuous (daily automated execution)
    Responsibility: GitHub Actions workflow, European Parliament MCP Server
    Actions:

    • Fetch data from European Parliament Open Data API
    • Validate API responses (schema validation)
    • Log data receipt in Git commit metadata

    Duration: Automated (classification rules applied)
    Responsibility: Security Architect (policy), automated systems (execution)
    Classification Criteria:

    • โœ… Data source: European Parliament Open Data (Public by default)
    • โœ… Content type: Parliamentary proceedings, MEP information (Public)
    • โœ… Accuracy requirements: Democratic transparency (Medium Integrity)
    • โœ… Availability needs: Daily updates (Medium Availability)

    Classification Result: ๐ŸŸข Public / ๐ŸŸก Medium Integrity / ๐ŸŸก Medium Availability

    Duration: Automatic (badge generation)
    Responsibility: Documentation templates, markdown badges
    Labeling Methods:

    • GitHub shields.io badges in documentation
    • Classification metadata in file headers
    • Git commit messages with classification context

    EU Parliament Monitor Labeling:

    • โœ… Public badge: [![Public](https://img.shields.io/badge/Confidentiality-Public-lightgrey)]
    • โœ… Medium Integrity: [![Moderate](https://img.shields.io/badge/Integrity-Moderate-yellow)]
    • โœ… Medium Availability: [![Moderate](https://img.shields.io/badge/Availability-Moderate-yellow)]

    Duration: Throughout data lifecycle
    Responsibility: Automated systems, security controls
    Public Data Handling:

    • โœ… TLS 1.2+, TLS 1.3 where supported (TLS 1.3 preferred) for all transmissions
    • โœ… No access control required (public by design)
    • โœ… Git version control for integrity
    • โœ… No encryption at rest (public data)
    • โœ… Standard GitHub Actions security

    Duration: 15-30 minutes per execution
    Responsibility: LLM content generation, translation services
    Processing Steps:

    1. Parse European Parliament data
    2. Generate news articles (LLM-powered)
    3. Translate to 14 languages
    4. Render HTML templates
    5. Validate output quality

    Duration: Permanent (Git version control)
    Responsibility: Git, GitHub repository
    Storage Controls:

    • โœ… Git cryptographic hashing (integrity)
    • โœ… Distributed architecture (redundancy)
    • โœ… Git object integrity via commit hashes (no automated commit signing)
    • โœ… Branch protection (change control)

    Duration: Minutes (AWS S3 + CloudFront deployment)
    Responsibility: GitHub Actions, AWS S3, Amazon CloudFront
    Deployment Controls:

    • โœ… Automated deployment pipeline
    • โœ… TLS 1.2+, TLS 1.3 where supported (HTTPS only)
    • โœ… CDN caching (availability)
    • โœ… No authentication (public access)

    Duration: Continuous
    Responsibility: GitHub Actions, Git logs, AWS CloudFront, AWS S3, AWS CloudTrail
    Monitoring Methods:

    • โœ… Git commit history (all changes tracked)
    • โœ… GitHub Actions workflow logs
    • โœ… AWS CloudFront access logs / real-time logs
    • โœ… AWS S3 server access logs / CloudTrail S3 data events
    • โœ… Dependabot security alerts

    Duration: Quarterly (every 3 months)
    Responsibility: Security Architect, CEO approval
    Review Triggers:

    • Scheduled: Quarterly reviews (every 3 months)
    • Event-driven: Major feature changes, security incidents
    • Compliance: Regulatory requirement updates (GDPR, NIS2, EU CRA)

    Review Outcomes:

    • Reclassify: Change classification level (return to Stage 2)
    • Maintain: Continue with current classification (return to Stage 8)
    • Archive: Move to long-term preservation (Stage 10)
    • Dispose: Evaluate for deletion (Stage 11 - N/A for EP Monitor)

    Duration: Permanent
    Responsibility: Git version history, GitHub repository
    Archiving Method:

    • โœ… Immutable Git history (Git object hashing, SHA-1 by default; SHA-256 if enabled)
    • โœ… No retroactive content modification
    • โœ… Complete audit trail preservation
    • โœ… Compliance with transparency principles

    Duration: N/A (no permanent deletion)
    Responsibility: Security Architect policy decision
    EU Parliament Monitor Policy:

    • โŒ No permanent deletion of public content
    • โœ… Transparency principle: public record preservation
    • โœ… Democratic accountability: historical record maintained
    • โœ… Git architecture: immutable history by design

    Initial Classification Decisions:

    1. Confidentiality = Public (Level 1)

      • Rationale: European Parliament open data, public by design
      • Decision maker: Security Architect
      • Review date: 2026-05-17
    2. Integrity = Medium (Level 2)

      • Rationale: News accuracy critical for democratic transparency
      • Decision maker: Security Architect
      • Review date: 2026-05-17
      • Enhancement plan: Automated fact-checking (Q4 2026)
    3. Availability = Medium (Level 2)

      • Rationale: Daily updates expected, 24h outage acceptable
      • Decision maker: Security Architect
      • Review date: 2026-05-17
    4. RTO = 24 hours

      • Rationale: Manual trigger available, not mission-critical
      • Decision maker: Security Architect
      • Review date: 2026-05-17
    5. RPO = 1 day

      • Rationale: Daily generation schedule, regenerable content
      • Decision maker: Security Architect
      • Review date: 2026-05-17
    6. Privacy = Personal (public-source)

      • Rationale: Publicly available MEP personal data from EP open data; GDPR applies with reduced risk due to public-official context; no special categories; DSRs handled with applicable exemptions
      • Decision maker: Security Architect & Legal
      • Review date: 2026-05-17

    • Quarterly Reviews: Every 3 months
    • Next Review: 2026-05-17
    • Triggered Reviews: Upon architecture changes, incidents, or threat landscape shifts
    • Major feature additions (e.g., user authentication, API)
    • Security incidents affecting classification
    • Regulatory requirement changes (GDPR, NIS2, EU CRA)
    • Business model changes (e.g., premium features)
    • Threat landscape evolution

    Classification Level Required Controls EU Parliament Monitor Implementation
    Confidentiality: Public TLS for transit, public access โœ… AWS S3 + CloudFront HTTPS, open repository
    Integrity: Medium Version control, code review, testing โœ… Git, PR workflow, 82% test coverage
    Availability: Medium Monitoring, manual recovery, CDN โœ… GitHub Actions monitoring, AWS S3 + CloudFront CDN
    RTO: 24 hours Automated recovery, manual backup โœ… Workflow retry, manual trigger
    RPO: 1 day Daily backups, version control โœ… Git commits, GitHub repository
    Privacy: Personal (public-source) GDPR compliance, minimization, DSR handling โœ… Public-source MEP data only, no special categories, DSRs handled with applicable exemptions

    This classification scheme aligns with ISO 27001:2022 Annex A information classification controls:

    ISO 27001:2022 Control Classification Requirement EU Parliament Monitor Implementation Status
    5.12 Classification of information Define classification levels C (Public/Internal/Confidential/Restricted) scheme โœ…
    5.13 Labelling of information Apply labels to assets Classification badges in all ISMS documents โœ…
    5.14 Information transfer Classification-based transfer rules HTTPS-only, TLS 1.3 for all transfers โœ…
    5.9 Inventory of information and other assets Asset register with classifications SBOM (technical assets) + documentation inventory โœ…
    8.12 Data leakage prevention Prevent unauthorized disclosure No PII collected, public data only โœ…
    5.33 Protection of records Records retention and protection Git immutable history, GitHub repository โœ…

    ISO 27001:2022 Classification Compliance: โœ… All 6 applicable controls implemented


    Subcategory Description Classification Alignment Status
    GV.RM-01 Risk management objectives established Public C, Moderate I, Standard A drives risk appetite โœ…
    GV.RM-02 Risk appetite established and communicated Classification CLASSIFICATION.md public documentation โœ…
    ID.AM-05 Resources prioritized by sensitivity Public-only data = lowest priority tier โœ…
    ID.AM-07 Inventories of data managed No PII inventory needed (public data only) โœ…
    ID.RA-02 Threat intelligence received and analyzed THREAT_MODEL.md cross-referenced with classification โœ…
    PR.DS-01 Data at rest protected per classification Public data โ€” Git repository integrity โœ…
    PR.DS-02 Data in transit protected per classification TLS 1.3 HTTPS consistent with all classification levels โœ…

    CIS Control Safeguard Classification-Based Implementation IG Level Status
    3.1 Establish data management process Public data classification = minimal handling requirements IG1 โœ…
    3.2 Establish data inventory SBOM + documentation inventory IG1 โœ…
    3.3 Configure data access control Public = no access controls; workflow access = least privilege IG1 โœ…
    3.7 Establish data classification scheme Confidentiality (C), Integrity (I), Availability (A) triad IG2 โœ…
    3.12 Segment data processing EP data processing isolated in GitHub Actions (ephemeral) IG2 โœ…

    ISMS-PUBLIC Policy Classification Relevance Alignment Evidence
    ๐Ÿ“‹ Information Security Policy Overall security governance framework Public classification consistent with open-source mandate
    ๐Ÿท๏ธ Classification Policy Classification scheme definition CIA triad ratings derived from this policy
    ๐Ÿ”‘ Access Control Policy Access decisions based on classification Public content = no authentication; workflow = least privilege
    ๐Ÿ”’ Cryptography Policy Encryption requirements by classification TLS 1.3 minimum consistent with public data classification
    ๐Ÿ“Š Risk Assessment Methodology Risk scoring tied to classification RTO/RPO derived from Availability classification
    ๐ŸŒ ISMS Transparency Plan Public disclosure aligned with C=Public All ISMS docs public per transparency commitment
    ๐Ÿ“ Open Source Policy Open source classification requirements Apache-2.0 license, public repository, open data
    ๐Ÿค– AI Policy AI-generated content classification News content generated by AI scripts = public classification maintained

    Classification Status: โœ… COMPLETE
    Threat Modeling Status: Ready to proceed (THREAT_MODEL.md)
    ISMS Compliance: โœ… Aligned with Hack23 ISMS Classification Framework


    This classification framework serves as the foundation for threat modeling, risk assessment, and security control selection. All security decisions must align with these classification levels.

    โ€” EU Parliament Monitor Security Team