Systematic Classification Excellence Through Impact Analysis
Open Source Intelligence Platform Classification Framework
๐ 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
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:
EU Parliament Monitor is classified as:
Project Type: Static site generator for European Parliament intelligence
| Impact Category | Financial | Operational | Reputational | Regulatory |
|---|---|---|---|---|
| ๐ Confidentiality Breach | ||||
| โ Integrity Compromise | ||||
| โฑ๏ธ Availability Loss |
Justification:
Impact if Compromised: Negligible - Data already public
Justification:
Impact if Compromised: Moderate - Public misinformation, trust erosion
Justification:
Impact if Compromised: Low - Delayed content, limited operational impact
EU Parliament Monitor Context: Low-cost infrastructure (AWS S3 + CloudFront), volunteer-driven, no revenue generation.
EU Parliament Monitor Context: Static site generator, GitHub Actions automation, manual fallback available.
EU Parliament Monitor Context: Transparency-focused intelligence platform, volunteer open source project.
EU Parliament Monitor Context: Public open data, no PII, GDPR compliant by design, transparency-aligned.
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)
Controls Required:
EU Parliament Monitor Classification: Moderate (Level 2)
Controls Required:
EU Parliament Monitor Classification: Moderate (Level 2)
Controls Required:
EU Parliament Monitor Classification: Personal (public-source, public-official context)
GDPR Compliance Status:
EU Parliament Monitor Classification: Medium (24 hours)
Recovery Strategy:
Acceptable Downtime: 24 hours (content generation can be delayed without critical impact)
EU Parliament Monitor Classification: Daily (24 hours)
Data Loss Strategy:
Acceptable Data Loss: Up to 24 hours of generated content (regenerable from source)
Primary Type:
Secondary Types:
Characteristics:
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:
Why Integrity Varies (Low to High):
Why Availability is Medium/Low:
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:
%%{
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:
Data Volumes:
Duration: 15-30 minutes per execution
Classification Impact: Public input โ Public output (no classification change)
Controls:
Processing Steps:
Duration: Permanent (Git version control)
Classification Impact: Public storage with integrity controls
Controls:
Storage Characteristics:
Duration: Real-time (CDN caching)
Classification Impact: Public access with availability controls
Controls:
Availability:
Duration: Automatic (Git version history)
Classification Impact: Public historical record
Controls:
Archive Characteristics:
Duration: N/A (no permanent deletion)
Classification Impact: Public record preservation
Policy:
Rationale for No Deletion:
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:
โ Transmission:
โ Sharing:
โ Disposal:
โ Access Control:
โ Encryption:
โ Logging:
โ Backup:
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:
| 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:
| 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:
Duration: Automated (classification rules applied)
Responsibility: Security Architect (policy), automated systems (execution)
Classification Criteria:
Classification Result: ๐ข Public / ๐ก Medium Integrity / ๐ก Medium Availability
Duration: Automatic (badge generation)
Responsibility: Documentation templates, markdown badges
Labeling Methods:
EU Parliament Monitor Labeling:
[][][]Duration: Throughout data lifecycle
Responsibility: Automated systems, security controls
Public Data Handling:
Duration: 15-30 minutes per execution
Responsibility: LLM content generation, translation services
Processing Steps:
Duration: Permanent (Git version control)
Responsibility: Git, GitHub repository
Storage Controls:
Duration: Minutes (AWS S3 + CloudFront deployment)
Responsibility: GitHub Actions, AWS S3, Amazon CloudFront
Deployment Controls:
Duration: Continuous
Responsibility: GitHub Actions, Git logs, AWS CloudFront, AWS S3, AWS CloudTrail
Monitoring Methods:
Duration: Quarterly (every 3 months)
Responsibility: Security Architect, CEO approval
Review Triggers:
Review Outcomes:
Duration: Permanent
Responsibility: Git version history, GitHub repository
Archiving Method:
Duration: N/A (no permanent deletion)
Responsibility: Security Architect policy decision
EU Parliament Monitor Policy:
Initial Classification Decisions:
Confidentiality = Public (Level 1)
Integrity = Medium (Level 2)
Availability = Medium (Level 2)
RTO = 24 hours
RPO = 1 day
Privacy = Personal (public-source)
| 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