Files
website/layouts/index.html
T

125 lines
6.2 KiB
HTML

{{ define "main" }}
<!-- Hero -->
<section class="hero">
<div class="container">
<div class="hero-eyebrow">Cybersecurity · M365 Governance · Open Source</div>
<h1>{{ .Params.heroTitle | default .Site.Title }}</h1>
<p class="hero-sub">{{ .Params.heroSub | default (i18n "home_hero_subtitle") }}</p>
<div class="hero-actions">
<a href="{{ "/products/" | relLangURL }}" class="btn btn-primary">{{ i18n "home_cta_products" }}</a>
<a href="{{ "/consulting/" | relLangURL }}" class="btn btn-outline">{{ i18n "home_cta_consulting" }}</a>
</div>
</div>
</section>
<!-- Products: PULSAR, ASTRAL, AURORA -->
<section class="section section-alt">
<div class="container">
<div class="section-header">
<span class="section-label">{{ i18n "home_section_products" }}</span>
<h2>{{ .Params.productsTitle | default "The M365 Governance Suite" }}</h2>
<p>{{ .Params.productsSub | default "Three complementary open-source tools for complete visibility and control over your Microsoft 365 tenant." }}</p>
</div>
<div style="overflow-x:auto; margin-bottom: 2.5rem;">
<table class="stack-table">
<thead>
<tr>
<th>Product</th>
<th>What it answers</th>
<th>Model</th>
</tr>
</thead>
<tbody>
<tr>
<td class="product-name"><a href="{{ "/products/pulsar/" | relLangURL }}">PULSAR</a></td>
<td>{{ .Params.pulsarTagline | default "What happened, when, and by whom?" }}</td>
<td><span class="badge badge-green">{{ i18n "product_free_open_source" }}</span></td>
</tr>
<tr>
<td class="product-name"><a href="{{ "/products/astral/" | relLangURL }}">ASTRAL</a></td>
<td>{{ .Params.astralTagline | default "What does my config look like and what changed?" }}</td>
<td><span class="badge badge-green">{{ i18n "product_free_open_source" }}</span></td>
</tr>
<tr>
<td class="product-name"><a href="{{ "/products/aurora/" | relLangURL }}">AURORA</a></td>
<td>{{ .Params.auroraTagline | default "What does it mean and what should I do?" }}</td>
<td><span class="badge badge-orange">{{ i18n "product_paid" }}</span></td>
</tr>
</tbody>
</table>
</div>
<div class="card-grid">
<a class="card" href="{{ "/products/pulsar/" | relLangURL }}" style="text-decoration:none;color:inherit;">
<div class="card-icon">📡</div>
<h3>PULSAR</h3>
<p>{{ .Params.pulsarDesc | default "Continuous M365 audit log ingestion with search, alerting, SIEM forwarding, and an MCP server for AI-assisted querying. Indefinite retention. Your data, your infrastructure." }}</p>
<div class="card-footer"><span class="badge badge-green">Free & Open Source</span></div>
</a>
<a class="card" href="{{ "/products/astral/" | relLangURL }}" style="text-decoration:none;color:inherit;">
<div class="card-icon">🌌</div>
<h3>ASTRAL</h3>
<p>{{ .Params.astralDesc | default "Git-tracked snapshots of M365 configuration with drift detection, PR-based review and approval, and baseline restore. Every config change, forever." }}</p>
<div class="card-footer"><span class="badge badge-green">Free & Open Source</span></div>
</a>
<a class="card" href="{{ "/products/aurora/" | relLangURL }}" style="text-decoration:none;color:inherit;">
<div class="card-icon">🌅</div>
<h3>AURORA</h3>
<p>{{ .Params.auroraDesc | default "A unified AI-assisted operations layer connecting PULSAR and ASTRAL. Cross-tool diagnostics, multi-scope orchestration, and enriched SIEM forwarding." }}</p>
<div class="card-footer"><span class="badge badge-orange">Commercial</span></div>
</a>
</div>
</div>
</section>
<!-- Services -->
<section class="section">
<div class="container">
<div class="section-header">
<span class="section-label">{{ i18n "home_section_services" }}</span>
<h2>{{ .Params.servicesTitle | default "Security That Grows Stronger" }}</h2>
<p>{{ .Params.servicesSub | default "Consulting and strategic services built around one principle: your organization should emerge from every disruption more capable than before." }}</p>
</div>
<div class="card-grid">
<a class="card" href="{{ "/consulting/" | relLangURL }}" style="text-decoration:none;color:inherit;">
<div class="card-icon">🛡️</div>
<h3>{{ i18n "consulting_title" }}</h3>
<p>{{ .Params.consultingDesc | default "The Brownhat methodology: start with what you own, close the kill chain, build retained capability. Modular engagements from 30 days upward — no monolithic programs." }}</p>
<div class="card-footer">
<span class="badge badge-blue">14 Modules</span>
<span class="badge badge-blue">NIS2 · DORA · ISO 27001</span>
</div>
</a>
<a class="card" href="{{ "/vciso/" | relLangURL }}" style="text-decoration:none;color:inherit;">
<div class="card-icon">🧭</div>
<h3>{{ i18n "vciso_title" }}</h3>
<p>{{ .Params.vcisoDesc | default "Fractional security leadership for organisations that need strategic direction without a full-time hire. Risk ownership, board reporting, vendor governance, and program management." }}</p>
<div class="card-footer">
<span class="badge badge-blue">Strategic</span>
<span class="badge badge-blue">Retainer</span>
</div>
</a>
<a class="card" href="{{ "/housekeeping/" | relLangURL }}" style="text-decoration:none;color:inherit;">
<div class="card-icon">🧹</div>
<h3>{{ i18n "housekeeping_title" }}</h3>
<p>{{ .Params.housekeepingDesc | default "A dedicated rented team that drains your attack surface continuously. Client-Directed for steady attrition, Kill-Chain for collapsing existential paths fast. The sign flip from growth to decay." }}</p>
<div class="card-footer">
<span class="badge badge-blue">Two Modes</span>
<span class="badge badge-blue">Managed Service</span>
</div>
</a>
</div>
</div>
</section>
{{ with .Content }}
<section class="section-sm">
<div class="container">{{ . }}</div>
</section>
{{ end }}
{{ end }}