DATA_MODEL.md
April 21, 2026 ยท View on GitHub
๐ Hack23 Homepage โ Data Model
Content Model: Static HTML/CSS Website
Corporate Website Content Structure and Relationships
๐ Document Owner: CEO | ๐ Version: 1.1 | ๐
Last Updated: 2026-04-21 (UTC)
๐ Review Cycle: Quarterly | โฐ Next Review: 2026-07-21
๐ท๏ธ Classification:
๐ Related Documentation
| Document | Focus | Description |
|---|---|---|
| ๐๏ธ Architecture | C4 Model | System structure and containers |
| ๐ Data Model | Data | Content model (this document) |
| ๐ Flowchart | Processes | Content and deployment workflows |
| ๐ State Diagram | States | Content and deployment lifecycle |
| ๐ง Mindmap | Concepts | System conceptual relationships |
| ๐ก๏ธ Security Architecture | Security | Security controls |
| ๐ฏ Threat Model | Threats | STRIDE / MITRE ATT&CK analysis |
| ๐ BCP Plan | Resilience | Business continuity & recovery |
| ๐ End-of-Life Strategy | Lifecycle | Technology lifecycle management |
| ๐ก๏ธ CRA Assessment | Compliance | EU Cyber Resilience Act conformity |
| ๐ Future Data Model | Roadmap | Planned 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):
| Project | Overview | Features | Docs | Repository |
|---|---|---|---|---|
| ๐ Citizen Intelligence Agency (CIA) | cia-project.html | cia-features.html | cia-docs.html | Hack23/cia |
| ๐ CIA Compliance Manager | compliance-manager.html | cia-compliance-manager-features.html | cia-compliance-manager-docs.html | Hack23/cia-compliance-manager |
| ๐ฎ Black Trigram (ํ๊ด) | black-trigram.html | black-trigram-features.html | black-trigram-docs.html | Hack23/blacktrigram |
| ๐ European Parliament MCP Server | european-parliament-mcp.html | european-parliament-mcp-features.html | european-parliament-mcp-docs.html | Hack23/European-Parliament-MCP-Server |
| ๐ณ๏ธ Riksdagsmonitor | riksdagsmonitor.html | riksdagsmonitor-features.html | riksdagsmonitor-docs.html | Hack23/riksdagsmonitor |
| ๐ช๐บ EU Parliament Monitor | euparliamentmonitor.html | euparliamentmonitor-features.html | euparliamentmonitor-docs.html | Hack23/euparliamentmonitor |
| ๐ Hack23 Homepage | index.html, projects.html | why-hack23.html | README.md, this DATA_MODEL.md, full ISMS portfolio | Hack23/homepage |
๐ Internationalization Model
Language Support Matrix
| Language | Code | Suffix | Status |
|---|---|---|---|
| English | en | (none) | โ Primary |
| Swedish | sv | _sv | โ Complete |
| Korean | ko | _ko | โ Complete |
| Arabic | ar | _ar | โ Complete (RTL) |
| Danish | da | _da | โ Complete |
| German | de | _de | โ Complete |
| Spanish | es | _es | โ Complete |
| Finnish | fi | _fi | โ Complete |
| French | fr | _fr | โ Complete |
| Hebrew | he | _he | โ Complete (RTL) |
| Japanese | ja | _ja | โ Complete |
| Dutch | nl | _nl | โ Complete |
| Norwegian | no | _no | โ Complete |
| Chinese | zh | _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 Type | Confidentiality | Integrity | Availability |
|---|---|---|---|
| Website Content | Public | Low | Standard |
| Blog Posts | Public | Low | Standard |
| ISMS Documentation | Public | Medium | Standard |
| Configuration | Internal | Medium | High |
| Deployment Secrets | Confidential | High | High |
All data classification follows the Hack23 Classification Framework.
Related ISMS Policies
- ๐ Secure Development Policy โ Content development standards
- ๐ Information Security Policy โ Data handling requirements
- ๐ Cryptography Policy โ Encryption standards for data at rest