DATA_MODEL.md

April 21, 2026 ยท View on GitHub

Hack23 Logo

๐Ÿ“Š Hack23 Homepage โ€” Data Model

Content Model: Static HTML/CSS Website
Corporate Website Content Structure and Relationships

Owner Version Status Review Cycle

License OpenSSF Scorecard

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


DocumentFocusDescription
๐Ÿ›๏ธ ArchitectureC4 ModelSystem structure and containers
๐Ÿ“Š Data ModelDataContent model (this document)
๐Ÿ”„ FlowchartProcessesContent and deployment workflows
๐Ÿ“ˆ State DiagramStatesContent and deployment lifecycle
๐Ÿง  MindmapConceptsSystem conceptual relationships
๐Ÿ›ก๏ธ Security ArchitectureSecuritySecurity controls
๐ŸŽฏ Threat ModelThreatsSTRIDE / MITRE ATT&CK analysis
๐Ÿ”„ BCP PlanResilienceBusiness continuity & recovery
๐Ÿ”š End-of-Life StrategyLifecycleTechnology lifecycle management
๐Ÿ›ก๏ธ CRA AssessmentComplianceEU Cyber Resilience Act conformity
๐Ÿš€ Future Data ModelRoadmapPlanned content model enhancements

๐ŸŽฏ Overview

The Hack23 homepage is a static HTML/CSS website with no backend database. The "data model" represents the content structure, page relationships, metadata schema, and SEO structured data that form the information architecture of hack23.com.

Content Architecture Principles

  • โœ… Static-First: All content is pre-rendered HTML โ€” no dynamic data loading
  • โœ… Multilingual: 14 language variants with consistent structure
  • โœ… SEO-Optimized: Schema.org structured data on every page
  • โœ… Accessible: WCAG 2.1 AA compliant content structure
  • โœ… Security-Transparent: Public ISMS documentation integrated into site

๐Ÿ“ Content Entity Model

%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#e3f2fd", "primaryTextColor": "#01579b", "lineColor": "#0288d1", "secondaryColor": "#f1f8e9", "tertiaryColor": "#fff8e1"}}}%%
erDiagram
    WEBSITE ||--o{ PAGE : contains
    PAGE ||--o{ TRANSLATION : "has_variants"
    PAGE ||--o{ META_TAG : "has_metadata"
    PAGE ||--o{ BREADCRUMB : "has_navigation"
    PAGE ||--o{ SCHEMA_ORG : "has_structured_data"

    PROJECT ||--|{ PROJECT_PAGE : "has_overview"
    PROJECT ||--|{ FEATURES_PAGE : "has_features"
    PROJECT ||--|{ DOCS_PAGE : "has_documentation"

    BLOG_POST ||--|| PAGE : "is_a"
    SERVICE_PAGE ||--|| PAGE : "is_a"

    WEBSITE {
        string domain "hack23.com"
        string hosting "AWS S3 + CloudFront"
        int totalHtmlFiles "1353"
        int englishSourcePages "105"
        int languageCount "14"
        int translatedPagesPerLanguage "96"
    }

    PAGE {
        string filename PK
        string title
        string description
        string lang
        string type "page|blog|project|docs|features"
        string canonical_url
    }

    TRANSLATION {
        string filename PK
        string lang "en|sv|ko|ar|da|de|es|fi|fr|he|ja|nl|no|zh"
        string suffix "_sv|_ko|_ar|..."
        string original_page FK
    }

    PROJECT {
        string name PK
        string repo_url
        string description
        string tech_stack
    }

    META_TAG {
        string property
        string content
        string type "og|twitter|standard"
    }

    SCHEMA_ORG {
        string type "Organization|WebPage|FAQPage|BreadcrumbList"
        string json_ld
    }
``$

---

## ๐Ÿ“„ \text{Page} \text{Types}

**\text{Total} \text{HTML} \text{files} \text{in} \text{repository}:** **1{,}353** (105 \text{English} \text{source} \text{pages} + 13 \text{language} \text{variants}  \times  96 \text{pages} \text{each})

### \text{Page} \text{Hierarchy} (\text{English} \text{source} \text{counts})

| \text{Type} | \text{Count} (\text{EN}) | \text{Pattern} | \text{Description} |
|------|-----------|---------|-------------|
| **\text{Homepage}** | 1 | $index.html` | Main landing page |
| **Project Overview** | 6 | `{project}.html` / `{project}-project.html` | Product showcase pages (CIA, CIA Compliance Manager, Black Trigram, EU Parliament MCP Server, Riksdagsmonitor, EU Parliament Monitor) |
| **Project Features** | 6 | `{project}-features.html` | Feature detail pages |
| **Project Docs** | 6 | `{project}-docs.html` | Documentation pages with ISMS cards |
| **Projects Index** | 1 | `projects.html` | Portfolio landing page (the Hack23 Homepage repo is the 7th project in the portfolio, documented via this README/site) |
| **Blog Posts** | 26 | `blog-*.html` | Security, compliance, AI, Discordian framework articles |
| **Discordian ISMS Pages** | 41 | `discordian-*.html` | Discordian-framed ISMS topic explainers |
| **Industry Pages** | 3 | `industries-*.html` | Vertical-specific consulting offerings |
| **ISO 27001 Articles** | 4 | `iso-27001-*.html` | Long-form thought leadership |
| **Service / Company Pages** | 4 | `services.html`, `why-hack23.html`, `accessibility-statement.html`, `security-assessment-checklist.html` | Consulting offerings & company info |
| **FAQ / Examples** | 2 | `cia-triad-faq.html`, `breadcrumb-example.html` | Helper / reference pages |
| **Topical Articles** | 2 | `swedish-election-2026.html`, `blog.html` (index) | Topical / aggregator pages |
| **Sitemap (HTML)** | 1 | `sitemap.html` | HTML sitemap (XML in `sitemap.xml$) |
| **\text{Translated} \text{pages}** | 96  \times  13 = 1{,}248 | $*_{lang}.html` | Localised variants for sv, ko, ar, zh, de, fi, fr, es, ja, he, nl, da, no |

### Project Page Structure

Each open-source project follows a three-page pattern:

```mermaid
%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#2196F3", "primaryTextColor": "#1a1a2e", "lineColor": "#455A64", "secondaryColor": "#e8f5e9", "tertiaryColor": "#fff8e1", "primaryBorderColor": "#1565C0"}}}%%
graph TD
    P[Project Overview<br/>project.html] --> F[Features Page<br/>project-features.html]
    P --> D[Documentation Page<br/>project-docs.html]
    D --> ISMS[ISMS Documentation Cards<br/>Links to GitHub repo docs]

    style P fill:#2979FF,stroke:#0D47A1,color:#fff
    style F fill:#00C853,stroke:#00796B,color:#fff
    style D fill:#FFD600,stroke:#F57F17,color:#000

Projects Documented (Hack23 Product Portfolio)

The Hack23 product portfolio currently spans 7 projects, with 6 having dedicated 3-page (overview / features / docs) site sections and the 7th being the Hack23 Homepage repository itself (documented via this site, README, and ISMS docs):

ProjectOverviewFeaturesDocsRepository
๐Ÿ” Citizen Intelligence Agency (CIA)cia-project.htmlcia-features.htmlcia-docs.htmlHack23/cia
๐Ÿ“Š CIA Compliance Managercompliance-manager.htmlcia-compliance-manager-features.htmlcia-compliance-manager-docs.htmlHack23/cia-compliance-manager
๐ŸŽฎ Black Trigram (ํ‘๊ด˜)black-trigram.htmlblack-trigram-features.htmlblack-trigram-docs.htmlHack23/blacktrigram
๐Ÿ”Œ European Parliament MCP Servereuropean-parliament-mcp.htmleuropean-parliament-mcp-features.htmleuropean-parliament-mcp-docs.htmlHack23/European-Parliament-MCP-Server
๐Ÿ—ณ๏ธ Riksdagsmonitorriksdagsmonitor.htmlriksdagsmonitor-features.htmlriksdagsmonitor-docs.htmlHack23/riksdagsmonitor
๐Ÿ‡ช๐Ÿ‡บ EU Parliament Monitoreuparliamentmonitor.htmleuparliamentmonitor-features.htmleuparliamentmonitor-docs.htmlHack23/euparliamentmonitor
๐ŸŒ Hack23 Homepageindex.html, projects.htmlwhy-hack23.htmlREADME.md, this DATA_MODEL.md, full ISMS portfolioHack23/homepage

๐ŸŒ Internationalization Model

Language Support Matrix

LanguageCodeSuffixStatus
Englishen(none)โœ… Primary
Swedishsv_svโœ… Complete
Koreanko_koโœ… Complete
Arabicar_arโœ… Complete (RTL)
Danishda_daโœ… Complete
Germande_deโœ… Complete
Spanishes_esโœ… Complete
Finnishfi_fiโœ… Complete
Frenchfr_frโœ… Complete
Hebrewhe_heโœ… Complete (RTL)
Japaneseja_jaโœ… Complete
Dutchnl_nlโœ… Complete
Norwegianno_noโœ… Complete
Chinesezh_zhโœ… Complete

๐Ÿ“‹ SEO Structured Data Model

Schema.org Types Used

%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#2196F3", "primaryTextColor": "#1a1a2e", "lineColor": "#455A64", "secondaryColor": "#e8f5e9", "tertiaryColor": "#fff8e1", "primaryBorderColor": "#1565C0"}}}%%
graph TD
    Org[Organization<br/>hack23.com] --> WP[WebPage<br/>Every page]
    WP --> BL[BreadcrumbList<br/>Navigation path]
    WP --> FAQ[FAQPage<br/>FAQ sections]
    WP --> SVC[Service<br/>Consulting offerings]
    WP --> Article[Article / BlogPosting<br/>blog-*.html]
    WP --> SR[SoftwareApplication / SoftwareSourceCode<br/>Project pages]
    Org --> WS[WebSite<br/>Site metadata + SearchAction]

    style Org fill:#2979FF,stroke:#0D47A1,color:#fff
    style WP fill:#00C853,stroke:#00796B,color:#fff
    style FAQ fill:#FFD600,stroke:#F57F17,color:#000
    style SVC fill:#FF9800,stroke:#E65100,color:#fff
    style Article fill:#9C27B0,stroke:#4A148C,color:#fff

๐Ÿ”’ Data Security

Classification per ISMS

Data TypeConfidentialityIntegrityAvailability
Website ContentPublicLowStandard
Blog PostsPublicLowStandard
ISMS DocumentationPublicMediumStandard
ConfigurationInternalMediumHigh
Deployment SecretsConfidentialHighHigh

All data classification follows the Hack23 Classification Framework.