audit-labs/audit-labs.dev

The website for Audit Labs.

clone: git clone https://gitbay.org/audit-labs/audit-labs.dev.git

8b4e9b808fb982bb16e2d4f4c6bad10bf15e34e3

verified · cmc

author: Christian Cleberg <hello@cleberg.net> · 2026-02-21T23:01:52Z

update page design
 index.html | 741 ++++++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 631 insertions(+), 110 deletions(-)

diff --git a/index.html b/index.html
index be09795..091e741 100644
--- a/index.html
+++ b/index.html
@@ -3,132 +3,653 @@
 <head>
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title>Audit Labs | Evidence Automation & Compliance Tools</title>
-    <script src="https://cdn.tailwindcss.com"></script>
-    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
+    <title>Audit Labs | Open-Source Audit Automation</title>
+    <link rel="preconnect" href="https://fonts.googleapis.com">
+    <link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;700&family=DM+Serif+Display:ital@0;1&family=DM+Sans:wght@400;500;600&display=swap" rel="stylesheet">
     <style>
-        @import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&family=Inter:wght@400;600;800&display=swap');
-        
-        body { font-family: 'Inter', sans-serif; }
-        .mono { font-family: 'JetBrains Mono', monospace; }
-        .hero-gradient { background: radial-gradient(circle at 50% 50%, #111827 0%, #000000 100%); }
+        *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
+
+        :root {
+            --black: #0a0a0a;
+            --off-white: #f4f1eb;
+            --warm-white: #faf8f4;
+            --amber: #d97706;
+            --amber-light: #fbbf24;
+            --green: #15803d;
+            --green-muted: #166534;
+            --gray-1: #1c1c1c;
+            --gray-2: #2e2e2e;
+            --gray-3: #6b6b6b;
+            --gray-4: #a3a3a3;
+            --gray-5: #d4d4d4;
+            --border: #e5e1d8;
+        }
+
+        body {
+            font-family: 'DM Sans', sans-serif;
+            background: var(--warm-white);
+            color: var(--black);
+            line-height: 1.6;
+        }
+
+        .mono { font-family: 'IBM Plex Mono', monospace; }
+        .serif { font-family: 'DM Serif Display', serif; }
+
+        /* NAV */
+        nav {
+            position: sticky;
+            top: 0;
+            z-index: 100;
+            background: var(--warm-white);
+            border-bottom: 1px solid var(--border);
+            padding: 0 2rem;
+        }
+
+        .nav-inner {
+            max-width: 1100px;
+            margin: 0 auto;
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+            height: 60px;
+        }
+
+        .logo {
+            font-family: 'IBM Plex Mono', monospace;
+            font-weight: 700;
+            font-size: 1.1rem;
+            letter-spacing: -0.02em;
+            color: var(--black);
+            text-decoration: none;
+        }
+
+        .logo span { color: var(--amber); }
+
+        .nav-links {
+            display: flex;
+            gap: 2rem;
+            align-items: center;
+            list-style: none;
+        }
+
+        .nav-links a {
+            font-family: 'IBM Plex Mono', monospace;
+            font-size: 0.78rem;
+            color: var(--gray-3);
+            text-decoration: none;
+            transition: color 0.15s;
+        }
+
+        .nav-links a:hover { color: var(--black); }
+
+        .nav-links .btn-github {
+            background: var(--black);
+            color: var(--off-white);
+            padding: 0.45rem 1rem;
+            border-radius: 4px;
+            font-size: 0.75rem;
+            transition: background 0.15s;
+        }
+
+        .nav-links .btn-github:hover { background: var(--gray-2); color: var(--off-white); }
+
+        /* HERO */
+        .hero {
+            background: var(--black);
+            color: var(--off-white);
+            padding: 7rem 2rem 5rem;
+            position: relative;
+            overflow: hidden;
+        }
+
+        .hero::before {
+            content: '';
+            position: absolute;
+            inset: 0;
+            background-image:
+                repeating-linear-gradient(0deg, transparent, transparent 39px, rgba(255,255,255,0.03) 39px, rgba(255,255,255,0.03) 40px),
+                repeating-linear-gradient(90deg, transparent, transparent 39px, rgba(255,255,255,0.03) 39px, rgba(255,255,255,0.03) 40px);
+            pointer-events: none;
+        }
+
+        .hero-inner {
+            max-width: 1100px;
+            margin: 0 auto;
+            position: relative;
+        }
+
+        .hero-label {
+            font-family: 'IBM Plex Mono', monospace;
+            font-size: 0.7rem;
+            letter-spacing: 0.15em;
+            text-transform: uppercase;
+            color: var(--amber-light);
+            margin-bottom: 1.5rem;
+            display: flex;
+            align-items: center;
+            gap: 0.5rem;
+        }
+
+        .hero-label::before {
+            content: '';
+            display: inline-block;
+            width: 1.5rem;
+            height: 1px;
+            background: var(--amber-light);
+        }
+
+        h1 {
+            font-family: 'DM Serif Display', serif;
+            font-size: clamp(2.8rem, 6vw, 5rem);
+            font-weight: 400;
+            line-height: 1.1;
+            letter-spacing: -0.02em;
+            margin-bottom: 1.5rem;
+            max-width: 700px;
+        }
+
+        h1 em {
+            font-style: italic;
+            color: var(--amber-light);
+        }
+
+        .hero-desc {
+            font-size: 1.05rem;
+            color: #a09a8e;
+            max-width: 540px;
+            margin-bottom: 2.5rem;
+            line-height: 1.75;
+        }
+
+        .hero-actions {
+            display: flex;
+            gap: 1rem;
+            flex-wrap: wrap;
+            margin-bottom: 4rem;
+        }
+
+        .btn-primary {
+            background: var(--amber);
+            color: #fff;
+            text-decoration: none;
+            padding: 0.75rem 1.5rem;
+            border-radius: 4px;
+            font-family: 'IBM Plex Mono', monospace;
+            font-size: 0.8rem;
+            font-weight: 500;
+            transition: background 0.15s;
+        }
+
+        .btn-primary:hover { background: var(--amber-light); color: #000; }
+
+        .btn-secondary {
+            background: transparent;
+            color: var(--gray-4);
+            text-decoration: none;
+            padding: 0.75rem 1.5rem;
+            border-radius: 4px;
+            font-family: 'IBM Plex Mono', monospace;
+            font-size: 0.8rem;
+            border: 1px solid var(--gray-2);
+            transition: border-color 0.15s, color 0.15s;
+        }
+
+        .btn-secondary:hover { border-color: var(--gray-4); color: var(--off-white); }
+
+        /* Terminal block */
+        .terminal {
+            background: #111;
+            border: 1px solid #2a2a2a;
+            border-radius: 8px;
+            overflow: hidden;
+            max-width: 600px;
+        }
+
+        .terminal-bar {
+            background: #1a1a1a;
+            border-bottom: 1px solid #2a2a2a;
+            padding: 0.6rem 1rem;
+            display: flex;
+            gap: 0.4rem;
+            align-items: center;
+        }
+
+        .dot { width: 10px; height: 10px; border-radius: 50%; }
+        .dot-red { background: #ff5f57; }
+        .dot-yellow { background: #febc2e; }
+        .dot-green { background: #28c840; }
+
+        .terminal-body {
+            padding: 1.25rem 1.5rem;
+            font-family: 'IBM Plex Mono', monospace;
+            font-size: 0.82rem;
+            line-height: 1.9;
+        }
+
+        .t-prompt { color: #5a9060; }
+        .t-cmd { color: #e8e0d0; }
+        .t-comment { color: #555; }
+        .t-out { color: #7a9f7a; }
+        .t-path { color: #d4a862; }
+        .t-dim { color: #444; }
+
+        /* REPOS SECTION */
+        .repos {
+            padding: 5rem 2rem;
+            background: var(--warm-white);
+            border-bottom: 1px solid var(--border);
+        }
+
+        .section-inner {
+            max-width: 1100px;
+            margin: 0 auto;
+        }
+
+        .section-header {
+            display: flex;
+            justify-content: space-between;
+            align-items: baseline;
+            margin-bottom: 3rem;
+            flex-wrap: wrap;
+            gap: 1rem;
+        }
+
+        h2 {
+            font-family: 'DM Serif Display', serif;
+            font-size: clamp(1.8rem, 3vw, 2.4rem);
+            font-weight: 400;
+            line-height: 1.2;
+        }
+
+        .section-link {
+            font-family: 'IBM Plex Mono', monospace;
+            font-size: 0.75rem;
+            color: var(--gray-3);
+            text-decoration: none;
+            border-bottom: 1px solid var(--gray-5);
+            padding-bottom: 1px;
+            transition: color 0.15s;
+        }
+
+        .section-link:hover { color: var(--black); }
+
+        .repo-grid {
+            display: grid;
+            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
+            gap: 1.5rem;
+        }
+
+        .repo-card {
+            background: #fff;
+            border: 1px solid var(--border);
+            border-radius: 8px;
+            padding: 2rem;
+            text-decoration: none;
+            color: inherit;
+            display: block;
+            transition: border-color 0.15s, box-shadow 0.15s;
+            position: relative;
+        }
+
+        .repo-card:hover {
+            border-color: var(--amber);
+            box-shadow: 0 4px 20px rgba(0,0,0,0.06);
+        }
+
+        .repo-tag {
+            font-family: 'IBM Plex Mono', monospace;
+            font-size: 0.65rem;
+            text-transform: uppercase;
+            letter-spacing: 0.1em;
+            color: var(--amber);
+            background: #fef3c7;
+            padding: 0.2rem 0.5rem;
+            border-radius: 3px;
+            display: inline-block;
+            margin-bottom: 1rem;
+        }
+
+        .repo-card h3 {
+            font-family: 'IBM Plex Mono', monospace;
+            font-size: 0.95rem;
+            font-weight: 700;
+            margin-bottom: 0.6rem;
+            color: var(--black);
+        }
+
+        .repo-card p {
+            font-size: 0.9rem;
+            color: var(--gray-3);
+            line-height: 1.65;
+            margin-bottom: 1.5rem;
+        }
+
+        .repo-langs {
+            display: flex;
+            gap: 0.5rem;
+            flex-wrap: wrap;
+        }
+
+        .lang-badge {
+            font-family: 'IBM Plex Mono', monospace;
+            font-size: 0.65rem;
+            background: var(--off-white);
+            border: 1px solid var(--border);
+            color: var(--gray-3);
+            padding: 0.15rem 0.5rem;
+            border-radius: 3px;
+        }
+
+        /* TOOLS SECTION */
+        .tools {
+            padding: 5rem 2rem;
+            background: #fff;
+            border-bottom: 1px solid var(--border);
+        }
+
+        .tools-intro {
+            max-width: 550px;
+            margin-bottom: 3rem;
+        }
+
+        .tools-intro p {
+            color: var(--gray-3);
+            font-size: 0.95rem;
+            margin-top: 0.75rem;
+            line-height: 1.7;
+        }
+
+        .tool-list {
+            display: grid;
+            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
+            gap: 1px;
+            background: var(--border);
+            border: 1px solid var(--border);
+            border-radius: 8px;
+            overflow: hidden;
+        }
+
+        .tool-item {
+            background: #fff;
+            padding: 1.75rem;
+            transition: background 0.15s;
+        }
+
+        .tool-item:hover { background: var(--warm-white); }
+
+        .tool-icon {
+            font-family: 'IBM Plex Mono', monospace;
+            font-size: 0.7rem;
+            color: var(--amber);
+            margin-bottom: 0.75rem;
+            letter-spacing: 0.05em;
+        }
+
+        .tool-item h4 {
+            font-family: 'IBM Plex Mono', monospace;
+            font-size: 0.85rem;
+            font-weight: 700;
+            margin-bottom: 0.5rem;
+            color: var(--black);
+        }
+
+        .tool-item p {
+            font-size: 0.82rem;
+            color: var(--gray-3);
+            line-height: 1.6;
+        }
+
+        /* FRAMEWORKS */
+        .frameworks {
+            padding: 3.5rem 2rem;
+            background: var(--warm-white);
+            border-bottom: 1px solid var(--border);
+        }
+
+        .frameworks-inner {
+            max-width: 1100px;
+            margin: 0 auto;
+            display: flex;
+            align-items: center;
+            gap: 3rem;
+            flex-wrap: wrap;
+        }
+
+        .frameworks-label {
+            font-family: 'IBM Plex Mono', monospace;
+            font-size: 0.68rem;
+            letter-spacing: 0.12em;
+            text-transform: uppercase;
+            color: var(--gray-4);
+            white-space: nowrap;
+        }
+
+        .frameworks-list {
+            display: flex;
+            gap: 2.5rem;
+            flex-wrap: wrap;
+            align-items: center;
+        }
+
+        .framework-tag {
+            font-family: 'IBM Plex Mono', monospace;
+            font-size: 0.8rem;
+            font-weight: 700;
+            color: var(--gray-3);
+            letter-spacing: 0.05em;
+        }
+
+        /* FOOTER */
+        footer {
+            background: var(--black);
+            color: var(--gray-4);
+            padding: 3rem 2rem;
+        }
+
+        .footer-inner {
+            max-width: 1100px;
+            margin: 0 auto;
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+            flex-wrap: wrap;
+            gap: 1.5rem;
+        }
+
+        .footer-logo {
+            font-family: 'IBM Plex Mono', monospace;
+            font-weight: 700;
+            font-size: 0.9rem;
+            color: var(--gray-4);
+            text-decoration: none;
+        }
+
+        .footer-logo span { color: var(--amber); }
+
+        .footer-left p {
+            font-size: 0.78rem;
+            color: var(--gray-2);
+            margin-top: 0.4rem;
+        }
+
+        .footer-links {
+            display: flex;
+            gap: 1.5rem;
+            align-items: center;
+        }
+
+        .footer-links a {
+            font-family: 'IBM Plex Mono', monospace;
+            font-size: 0.75rem;
+            color: var(--gray-3);
+            text-decoration: none;
+            transition: color 0.15s;
+        }
+
+        .footer-links a:hover { color: var(--off-white); }
+
+        /* ANIMATIONS */
+        @keyframes fadeUp {
+            from { opacity: 0; transform: translateY(16px); }
+            to { opacity: 1; transform: translateY(0); }
+        }
+
+        .hero-label { animation: fadeUp 0.5s ease both; }
+        h1 { animation: fadeUp 0.5s ease 0.1s both; }
+        .hero-desc { a[<35;7;2Mnimation: fadeUp 0.5s ease 0.2s both; }
+        .hero-actions { animation: fadeUp 0.5s ease 0.3s both; }
+        .terminal { animation: fadeUp 0.5s ease 0.4s both; }
+
+        /* RESPONSIVE */
+        @media (max-width: 640px) {
+            .nav-links a:not(.btn-github):not(:last-child) { display: none; }
+            h1 { font-size: 2.4rem; }
+        }
     </style>
 </head>
-<body class="bg-gray-50 text-gray-900">
+<body>
 
-    <nav class="border-b border-gray-200 bg-white sticky top-0 z-50">
-        <div class="max-w-6xl mx-auto px-6 py-4 flex justify-between items-center">
-            <div class="flex items-center space-x-2">
-                <div class="w-8 h-8 bg-black flex items-center justify-center rounded">
-                    <i class="fas fa-microscope text-white text-sm"></i>
-                </div>
-                <span class="text-xl font-extrabold tracking-tight italic">AUDIT<span class="text-blue-600">LABS</span></span>
-            </div>
-            <div class="space-x-8 mono text-sm font-medium">
-                <a href="#automation" class="hover:text-blue-600">Automation</a>
-                <a href="#frameworks" class="hover:text-blue-600">Frameworks</a>
-                <a href="https://github.com/audit-labs" class="bg-black text-white px-4 py-2 rounded hover:bg-gray-800 transition">GitHub</a>
-            </div>
+<nav>
+    <div class="nav-inner">
+        <a href="/" class="logo">AUDIT<span>LABS</span></a>
+        <ul class="nav-links">
+            <li><a href="https://github.com/audit-labs/audit-tools">Tools</a></li>
+            <li><a href="https://github.com/audit-labs/tutorials">Tutorials</a></li>
+            <li><a href="https://github.com/audit-labs" class="btn-github">GitHub →</a></li>
+        </ul>
+    </div>
+</nav>
+
+<header class="hero">
+    <div class="hero-inner">
+        <div class="hero-label">Open-source · Free to use</div>
+        <h1>Automate the<br><em>evidence trail.</em></h1>
+        <p class="hero-desc">
+            Scripts, queries, and guides that help auditors programmatically gather evidence from real environments — databases, Linux systems, cloud platforms, and more.
+        </p>
+        <div class="hero-actions">
+            <a href="https://github.com/audit-labs/audit-tools" class="btn-primary">Browse the tools</a>
+            <a href="https://github.com/audit-labs/tutorials" class="btn-secondary">See tutorials</a>
         </div>
-    </nav>
-
-    <header class="hero-gradient text-white py-24 px-6 text-center">
-        <div class="max-w-4xl mx-auto">
-            <h1 class="text-5xl md:text-6xl font-extrabold mb-6 tracking-tight">
-                Automate the <span class="text-blue-500">Evidence Trail.</span>
-            </h1>
-            <p class="text-xl text-gray-400 mb-10 leading-relaxed">
-                We build open-source tools, automation, and tutorials that help auditors and compliance teams programmatically gather evidence from complex environments.
-            </p>
-            <div class="inline-block bg-gray-900 rounded-lg p-1 border border-gray-700 shadow-2xl">
-                <div class="bg-black rounded-md px-6 py-3 mono text-left text-sm md:text-base border border-gray-800">
-                    <span class="text-green-500">$</span> audit-labs collect --framework SOX --target all<br>
-                    <span class="text-blue-400">Scanning connected systems...</span><br>
-                    <span class="text-gray-500">Evidence bundled in ./compliance_output/</span>
-                </div>
+
+        <div class="terminal">
+            <div class="terminal-bar">
+                <di[<35;7;3Mv class="dot dot-red"></div>
+                <div class="dot dot-yellow"></div>
+                <div class="dot dot-green"></div>
             </div>
-        </div>
-    </header>
-
-    <section id="frameworks" class="py-16 bg-white border-b">
-        <div class="max-w-6xl mx-auto px-6">
-            <p class="text-center text-sm font-bold uppercase tracking-widest text-gray-500 mb-8">Supporting Assessments For</p>
-            <div class="flex flex-wrap justify-center gap-8 md:gap-16 opacity-70 grayscale">
-                <span class="text-2xl font-black">SOX</span>
-                <span class="text-2xl font-black">SOC 1-3</span>
-                <span class="text-2xl font-black">ISO 27001</span>
-                <span class="text-2xl font-black">NIST</span>
+            <div class="terminal-body">
+                <span class="t-comment"># Pull user access report from a PostgreSQL database</span><br>
+                <span class="t-prompt">$</span> <span class="t-cmd">python3 databases/postgres/user_access.py</span><br>
+                <span class="t-out">✓ Connected to audit_db</span><br>
+                <span class="t-out">✓ Exported 142 rows → </span><span class="t-path">output/user_access_2025-01.csv</span><br>
+                <span class="t-dim">──────────────────────────────────</span><br>
+                <span class="t-comment"># Sample 25 items using random seed for reproducibility</span><br>
+                <span class="t-prompt">$</span> <span class="t-cmd">python3 sampling/random_sample.py --n 25 --seed 42</span><br>
+                <span class="t-out">✓ Sample written → </span><span class="t-path">output/sample_25.csv</span>
             </div>
         </div>
-    </section>
-
-    <section id="automation" class="py-20 px-6">
-        <div class="max-w-6xl mx-auto">
-            <div class="text-center mb-16">
-                <h2 class="text-3xl font-bold mb-4">Evidence as Code</h2>
-                <p class="text-gray-600 max-w-2xl mx-auto">We replace manual screenshots and manual checks with automated scripts that interface directly with your technology stack.</p>
-            </div>
-
-            <div class="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
-                <div class="bg-white p-8 border border-gray-200 rounded-xl shadow-sm hover:border-blue-500 transition">
-                    <div class="w-12 h-12 bg-blue-50 text-blue-600 rounded-lg flex items-center justify-center mb-6">
-                        <i class="fab fa-aws text-2xl"></i>
-                    </div>
-                    <h3 class="font-bold text-xl mb-2">Cloud Infrastructure</h3>
-                    <p class="text-gray-600 text-sm mb-4">Automated collection for AWS environments, ensuring access controls and configurations meet audit standards.</p>
-                </div>
-
-                <div class="bg-white p-8 border border-gray-200 rounded-xl shadow-sm hover:border-blue-500 transition">
-                    <div class="w-12 h-12 bg-orange-50 text-orange-600 rounded-lg flex items-center justify-center mb-6">
-                        <i class="fab fa-git-alt text-2xl"></i>
-                    </div>
-                    <h3 class="font-bold text-xl mb-2">Source Control</h3>
-                    <p class="text-gray-600 text-sm mb-4">Validation tools for GitHub and GitLab settings, branch protections, and developer access compliance.</p>
-                </div>
-
-                <div class="bg-white p-8 border border-gray-200 rounded-xl shadow-sm hover:border-blue-500 transition">
-                    <div class="w-12 h-12 bg-purple-50 text-purple-600 rounded-lg flex items-center justify-center mb-6">
-                        <i class="fas fa-database text-2xl"></i>
-                    </div>
-                    <h3 class="font-bold text-xl mb-2">Database Admin</h3>
-                    <p class="text-gray-600 text-sm mb-4">Scripts to audit database administrator accounts, password rotations, and privilege levels.</p>
-                </div>
+    </div>
+</header>
 
-                <div class="bg-white p-8 border border-gray-200 rounded-xl shadow-sm hover:border-blue-500 transition">
-                    <div class="w-12 h-12 bg-red-50 text-red-600 rounded-lg flex items-center justify-center mb-6">
-                        <i class="fas fa-hdd text-2xl"></i>
-                    </div>
-                    <h3 class="font-bold text-xl mb-2">Mainframe (RACF)</h3>
-                    <p class="text-gray-600 text-sm mb-4">Custom automation for legacy environments including RACF access logs and system authority.</p>
-                </div>
-
-                <div class="bg-white p-8 border border-gray-200 rounded-xl shadow-sm hover:border-blue-500 transition">
-                    <div class="w-12 h-12 bg-green-50 text-green-600 rounded-lg flex items-center justify-center mb-6">
-                        <i class="fas fa-book text-2xl"></i>
-                    </div>
-                    <h3 class="font-bold text-xl mb-2">Tutorials & Docs</h3>
-                    <p class="text-gray-600 text-sm mb-4">Step-by-step guides on how to build your own audit automation using Python, CLI, and APIs.</p>
+<section class="repos">
+    <div class="section-inner">
+        <div class="section-header">
+            <h2>Two repos.<br>Pick what you need.</h2>
+            <a href="https://github.com/audit-labs" class="section-link">View all on GitHub →</a>
+        </div>
+        <div class="repo-grid">
+            <a href="https://github.com/audit-labs/audit-tools" class="repo-card">
+                <div class="repo-tag">Tools</div>
+                <h3>audit-labs/audit-tools</h3>
+                <p>Ready-to-run scripts for common audit procedures: pseudo-random sampling, GITC extraction, database user access, Linux OS reports, and more. Use as-is or adapt to your environment.</p>
+                <div class="repo-langs">
+                    <span class="lang-badge">Python</span>
+                    <span class="lang-badge">Shell</span>
+                    <span class="lang-badge">SQL</span>
                 </div>
-
-                <div class="bg-gray-900 p-8 border border-gray-800 rounded-xl shadow-sm flex flex-col justify-center items-center text-center">
-                    <p class="text-white font-bold mb-2">Have a unique system?</p>
-                    <a href="https://github.com/audit-labs" class="text-blue-400 hover:underline text-sm">Request a Custom Tool →</a>
+            </a>
+            <a href="https://github.com/audit-labs/tutorials" class="repo-card">
+                <div class="repo-tag">Tutorials</div>
+                <h3>audit-labs/tutorials</h3>
+                <p>Step-by-step guides on building your own audit automation using Python, the CLI, and APIs. Good starting point if you're new to scripting or want to extend existing tools.</p>
+                <div class="repo-langs">
+                    <span class="lang-badge">Jupyter</span>
+                    <span class="lang-badge">Python</span>
+                    <span class="lang-badge">Markdown</span>
                 </div>
-            </div>
+            </a>
         </div>
-    </section>
+    </div>
+</section>
 
-    <footer class="bg-white border-t py-12 px-6">
-        <div class="max-w-6xl mx-auto flex flex-col md:flex-row justify-between items-center">
-            <div class="mb-4 md:mb-0">
-                <span class="text-lg font-extrabold italic">AUDIT<span class="text-blue-600">LABS</span></span>
-                <p class="text-gray-500 text-xs mt-1">© 2025 Audit Labs. A two-person team building for the community.</p>
+<section class="tools">
+    <div class="section-inner">
+        <div class="tools-intro">
+            <h2>What's in the toolbox</h2>
+            <p>Coverage across the systems auditors most commonly deal with, with more being added.</p>
+        </div>
+        <div class="tool-list">
+            <div class="tool-item">
+                <div class="tool-icon">[ DB ]</div>
+                <h4>Databases</h4>
+                <p>User access, privilege levels, password rotation checks — for PostgreSQL, MySQL, and others.</p>
+            </div>
+            <div class="tool-item">
+                <div class="tool-icon">[ OS ]</div>
+                <h4>Linux / OS</h4>
+                <p>Shell scripts to generate system reports: users, groups, sudoers, login history, and more.</p>
+            </div>
+            <div class="tool-item">
+                <div class="tool-icon">[ ~ ]</div>
+                <h4>Sampling</h4>
+                <p>Reproducible pseudo-random sampling with a fixed seed — a core procedure for most audits.</p>
+            </div>
+            <div class="tool-item">
+                <div class="tool-icon">[ PM ]</div>
+                <h4>Project Management</h4>
+                <p>Tracking and visualization utilities for audit project data and findings.</p>
             </div>
-            <div class="flex space-x-6 text-gray-400">
-                <a href="https://github.com/audit-labs" class="hover:text-black"><i class="fab fa-github text-2xl"></i></a>
+            <div class="tool-item">
+                <div class="tool-icon">[ APP ]</div>
+                <h4>Applications</h4>
+                <p>Scripts targeting specific application-layer controls across common enterprise software.</p>
             </div>
+            <div class="tool-item">
+                <div class="tool-icon">[ + ]</div>
+                <h4>Contributions welcome</h4>
+                <p>Fork, add a script for your stack, and open a PR. All audit-relevant tools considered.</p>
+            </div>
+        </div>
+    </div>
+</section>
+
+<section class="frameworks">
+    <div class[<35;7;4M[<35;8;4M="frameworks-inner">
+        <span class="frameworks-label">Used in assessments for</span>
+        <div class="frameworks-list">
+            <span class="framework-tag">SOX</span>
+            <span class="framework-tag">SOC 1 / 2</span>
+            <span class="framework-tag">ISO 27001</span>
+            <span class="framework-tag">NIST CSF</span>
+            <span class="framework-tag">ITGC</span>
+        </div>
+    </div>
+</section>
+
+<footer>
+    <div class="footer-inner">
+        <div class="footer-left">
+            <a href="/" class="footer-logo">AUDIT<span>LABS</span></a>
+            <p>© 2025 Audit Labs — a two-person team building for the community.</p>
+        </div>
+        <div class="footer-links">
+            <a href="https://github.com/audit-la[<35;9;5Mbs/audit-tools">audit-tools</a>
+            <a href="https://github.com/audit-labs/tutorials">tutorials</a>
+            <a href="https://github.com/audit-labs">GitHub</a>
         </div>
-    </footer>
+    </div>
+</footer>
 
 </body>
 </html>