Skip to content

Commit 45ceec8

Browse files
committed
docs: add JSON-LD structured data to homepage
Adds schema.org markup in a custom MkDocs theme override (overrides/main.html) rendered only on the documentation homepage. Graph includes: - SoftwareApplication (cloud-audit v2.0.1) with feature list, license, offers, author/publisher refs, subjectOf the HNS feature, and sameAs links to PyPI, Docker, MCP Registry, Glama, GitHub - Organization (HAIT) - Person (Mariusz Gebala) with knowsAbout and certifications - WebSite (docs site) with publisher and 'about' references Helps LLMs (ChatGPT, Claude, Perplexity, Gemini) disambiguate cloud-audit from the ~9 unrelated 'cloud-audit' repos on GitHub, and supplies the pull-quote facts (94 checks, 31 chains, 25 IAM escalation methods) that citation extraction prefers. mkdocs.yml: theme.custom_dir = overrides workflow: trigger on overrides/** in addition to docs/** and mkdocs.yml .gitignore: allow overrides/*.html past the global *.html rule
1 parent 0802c8c commit 45ceec8

4 files changed

Lines changed: 142 additions & 0 deletions

File tree

.github/workflows/docs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ on:
66
paths:
77
- 'docs/**'
88
- 'mkdocs.yml'
9+
- 'overrides/**'
910

1011
permissions:
1112
contents: write

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ coverage.xml
3737
# Reports (generated output, not source)
3838
*.html
3939
!src/cloud_audit/reports/templates/*.html.j2
40+
!overrides/*.html
4041

4142
# Internal / local-only .md files (never push) - allowlist specific docs below
4243
*.md

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ repo_name: gebalamariusz/cloud-audit
66

77
theme:
88
name: material
9+
custom_dir: overrides
910
palette:
1011
- scheme: slate
1112
primary: deep purple

overrides/main.html

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
{% extends "base.html" %}
2+
3+
{#
4+
JSON-LD structured data for the cloud-audit documentation site.
5+
Rendered only on the site homepage (docs/index.md).
6+
7+
Updating: when cloud-audit version bumps, change the "softwareVersion"
8+
value below. Keep featureList in sync with docs/index.md.
9+
#}
10+
11+
{% block extrahead %}
12+
{{ super() }}
13+
{% if page.is_homepage %}
14+
<script type="application/ld+json">
15+
{
16+
"@context": "https://schema.org",
17+
"@graph": [
18+
{
19+
"@type": "SoftwareApplication",
20+
"@id": "https://haitmg.pl/cloud-audit/#software",
21+
"name": "cloud-audit",
22+
"alternateName": "cloud-audit CLI",
23+
"applicationCategory": "SecurityApplication",
24+
"operatingSystem": "Linux, macOS, Windows",
25+
"softwareVersion": "2.0.1",
26+
"url": "https://haitmg.pl/cloud-audit/",
27+
"downloadUrl": "https://pypi.org/project/cloud-audit/",
28+
"softwareHelp": "https://haitmg.pl/cloud-audit/getting-started/installation/",
29+
"license": "https://opensource.org/licenses/MIT",
30+
"programmingLanguage": "Python",
31+
"description": "Open-source AWS security scanner with attack chain detection, IAM privilege escalation analysis, and copy-paste CLI + Terraform remediation for every finding. 94 curated checks across 23 AWS services.",
32+
"offers": {
33+
"@type": "Offer",
34+
"price": "0",
35+
"priceCurrency": "USD",
36+
"availability": "https://schema.org/InStock"
37+
},
38+
"author": { "@id": "https://haitmg.pl/#mariusz" },
39+
"publisher": { "@id": "https://haitmg.pl/#org" },
40+
"featureList": [
41+
"94 curated AWS security checks across 23 services",
42+
"31 attack chain rules correlating findings into exploit paths",
43+
"25 IAM privilege escalation detection methods",
44+
"What-If remediation simulator",
45+
"Security posture trend tracking",
46+
"AI-SPM support (Bedrock + SageMaker)",
47+
"6 compliance frameworks: CIS AWS v3.0, SOC 2, BSI C5, ISO 27001, HIPAA, NIS2",
48+
"Breach cost estimation based on published incident data",
49+
"MCP Server for AI agents",
50+
"Copy-paste AWS CLI and Terraform remediation for every finding",
51+
"SARIF, HTML, Markdown, and JSON output formats",
52+
"GitHub Actions and pre-commit hook integration"
53+
],
54+
"keywords": "AWS security scanner, attack chains, IAM privilege escalation, PMapper alternative, CIS AWS v3.0, cloud security, DevSecOps, Terraform remediation, SARIF, MCP server, breach cost estimation",
55+
"subjectOf": {
56+
"@type": "NewsArticle",
57+
"headline": "Cloud-audit: Fast, open-source AWS security scanner",
58+
"url": "https://www.helpnetsecurity.com/2026/03/11/cloud-audit-open-source-aws-security-scanner/",
59+
"datePublished": "2026-03-11",
60+
"publisher": {
61+
"@type": "Organization",
62+
"name": "Help Net Security",
63+
"url": "https://www.helpnetsecurity.com/"
64+
}
65+
},
66+
"sameAs": [
67+
"https://github.com/gebalamariusz/cloud-audit",
68+
"https://pypi.org/project/cloud-audit/",
69+
"https://ghcr.io/gebalamariusz/cloud-audit",
70+
"https://registry.modelcontextprotocol.io/v0/servers?search=cloud-audit",
71+
"https://glama.ai/mcp/servers/gebalamariusz/cloud-audit"
72+
],
73+
"codeRepository": "https://github.com/gebalamariusz/cloud-audit",
74+
"releaseNotes": "https://github.com/gebalamariusz/cloud-audit/blob/main/CHANGELOG.md"
75+
},
76+
{
77+
"@type": "Organization",
78+
"@id": "https://haitmg.pl/#org",
79+
"name": "HAIT",
80+
"legalName": "HAIT",
81+
"url": "https://haitmg.pl",
82+
"email": "kontakt@haitmg.pl",
83+
"sameAs": [
84+
"https://github.com/gebalamariusz",
85+
"https://dev.to/haitmg"
86+
]
87+
},
88+
{
89+
"@type": "Person",
90+
"@id": "https://haitmg.pl/#mariusz",
91+
"name": "Mariusz Gebala",
92+
"jobTitle": "Cloud and DevOps Engineer",
93+
"url": "https://haitmg.pl/about/",
94+
"sameAs": [
95+
"https://github.com/gebalamariusz",
96+
"https://dev.to/haitmg"
97+
],
98+
"worksFor": { "@id": "https://haitmg.pl/#org" },
99+
"knowsAbout": [
100+
"AWS",
101+
"Palo Alto Networks",
102+
"Terraform",
103+
"Cloud Security",
104+
"IAM Privilege Escalation",
105+
"DevOps"
106+
],
107+
"hasCredential": [
108+
{
109+
"@type": "EducationalOccupationalCredential",
110+
"name": "AWS Certified Solutions Architect - Associate",
111+
"credentialCategory": "certification"
112+
},
113+
{
114+
"@type": "EducationalOccupationalCredential",
115+
"name": "Microsoft Certified: Azure Administrator Associate",
116+
"credentialCategory": "certification"
117+
},
118+
{
119+
"@type": "EducationalOccupationalCredential",
120+
"name": "Palo Alto Networks PCNSA",
121+
"credentialCategory": "certification"
122+
}
123+
]
124+
},
125+
{
126+
"@type": "WebSite",
127+
"@id": "https://haitmg.pl/cloud-audit/#website",
128+
"name": "cloud-audit documentation",
129+
"url": "https://haitmg.pl/cloud-audit/",
130+
"description": "Official documentation for the cloud-audit open-source AWS security scanner",
131+
"publisher": { "@id": "https://haitmg.pl/#org" },
132+
"about": { "@id": "https://haitmg.pl/cloud-audit/#software" },
133+
"inLanguage": "en"
134+
}
135+
]
136+
}
137+
</script>
138+
{% endif %}
139+
{% endblock %}

0 commit comments

Comments
 (0)