Skip to content

Commit 04f2515

Browse files
Merge pull request #9 from himanshusaxenagithub/cursor/layman-friendly-landing-5d7f
Tighten landing: tell the STIG story once
2 parents a3b2cd6 + 7d9a2d2 commit 04f2515

3 files changed

Lines changed: 33 additions & 62 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
# Changelog
22

3+
## v0.6.5 — 2026-09-13
4+
5+
### Changed — less repetition on the start page
6+
7+
- “What is a STIG?” is one short definition plus the three-panel diagram.
8+
The extra three cards and the caption that restated the same steps are gone.
9+
- “What this tool does” is product actions only (pick, select, download,
10+
approve, report). The separate “How it works” section is folded into that.
11+
312
## v0.6.4 — 2026-09-13
413

514
### Changed — layman-friendly start page

‎docs/index.html‎

Lines changed: 17 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -85,13 +85,6 @@
8585
.why p{margin:0;color:var(--muted);font-size:14px}
8686
.diagram{margin:14px 0 6px;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fafcfe}
8787
.diagram img{display:block;width:100%;height:auto}
88-
.diagram figcaption{margin:10px 4px 2px;color:var(--muted);font-size:13px}
89-
.idea{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0 8px;align-items:stretch}
90-
.idea article{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--paper)}
91-
.idea h4{margin:10px 0 6px;font-size:15px}
92-
.idea p{margin:0;color:var(--muted);font-size:13.5px}
93-
.idea .arrowish{display:none}
94-
.idea-icon{width:100%;height:72px}
9588
.does{margin:8px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px}
9689
.does li{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--paper);
9790
display:flex;gap:12px;align-items:flex-start}
@@ -113,8 +106,6 @@
113106
.hero h2{font-size:22px}
114107
.flow-wide{display:none}
115108
.flow-fallback{display:block}
116-
.idea{grid-template-columns:1fr}
117-
.idea-wide{display:none}
118109
}
119110
@media (max-width:640px){ .stat{flex-basis:calc(50% - 10px)} }
120111
</style>
@@ -161,89 +152,53 @@ <h3>Almost nobody uses them</h3>
161152
</article>
162153
<article>
163154
<h3>This tool does the interpreting</h3>
164-
<p>You get a ranked plan in everyday language, a scanner you run locally, and a report you can hand to a board, an insurer, or an auditor — without buying a product or creating an account.</p>
155+
<p>No account, nothing to buy. You read the checklist here, then run a scanner on your own computer.</p>
165156
</article>
166157
</div>
167158

168159
<h3>What is a STIG?</h3>
169-
<p class="sub">A <b>STIG</b> (Security Technical Implementation Guide) is a DoD checklist of settings that lock down a common system. Think of it as a very complete “make this computer harder to break into” list — hundreds of items, ranked by how serious a miss would be.</p>
170-
<div class="idea" aria-label="A STIG in three steps">
171-
<article>
172-
<svg class="idea-icon" viewBox="0 0 200 72" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
173-
<rect x="18" y="8" width="164" height="12" rx="3" fill="#eef2f6"/><circle cx="28" cy="14" r="3" fill="#c0392b"/>
174-
<rect x="18" y="26" width="140" height="12" rx="3" fill="#eef2f6"/><circle cx="28" cy="32" r="3" fill="#a8761f"/>
175-
<rect x="18" y="44" width="152" height="12" rx="3" fill="#eef2f6"/><circle cx="28" cy="50" r="3" fill="#1e7a54"/>
176-
</svg>
177-
<h4>1. Hundreds of settings</h4>
178-
<p>Each STIG is a long official checklist — typically 160 to 257 rules on a Mac or Windows PC.</p>
179-
</article>
180-
<article>
181-
<svg class="idea-icon" viewBox="0 0 200 72" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
182-
<rect x="16" y="6" width="168" height="18" rx="4" fill="#fbecea"/><text x="26" y="19" fill="#c0392b" font-size="11" font-family="sans-serif" font-weight="700">CAT I first</text>
183-
<rect x="16" y="28" width="168" height="18" rx="4" fill="#fdf5e6"/><text x="26" y="41" fill="#a8761f" font-size="11" font-family="sans-serif" font-weight="700">Then CAT II</text>
184-
<rect x="16" y="50" width="168" height="18" rx="4" fill="#eaf3ee"/><text x="26" y="63" fill="#1e7a54" font-size="11" font-family="sans-serif" font-weight="700">Then CAT III</text>
185-
</svg>
186-
<h4>2. A ranked plan</h4>
187-
<p>This site restates each rule in everyday language and puts the most serious items first.</p>
188-
</article>
189-
<article>
190-
<svg class="idea-icon" viewBox="0 0 200 72" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
191-
<rect x="62" y="6" width="76" height="48" rx="5" fill="#16243b"/>
192-
<rect x="68" y="12" width="64" height="32" rx="2" fill="#eef2f6"/>
193-
<circle cx="100" cy="28" r="9" fill="#1e7a54"/>
194-
<path d="M95 28 l3 4 8-9" fill="none" stroke="#fff" stroke-width="2"/>
195-
<rect x="88" y="54" width="24" height="6" fill="#16243b"/>
196-
</svg>
197-
<h4>3. Check your machine</h4>
198-
<p>You download a local scanner, approve each check, and get a report — nothing is scanned in this browser.</p>
199-
</article>
200-
</div>
201-
<figure class="diagram idea-wide">
202-
<img src="img/stig-idea.svg" alt="Three panels: a long list of security settings, then a ranked plan labelled CAT I, CAT II and CAT III, then a computer with a check mark.">
203-
<figcaption>Hundreds of settings → a ranked plan in plain English → a check of your own machine.</figcaption>
160+
<p class="sub">A <b>STIG</b> (Security Technical Implementation Guide) is a DoD checklist that locks down a common system. Each one has a few hundred settings, ranked by how serious a miss would be: CAT I first, then II, then III.</p>
161+
<figure class="diagram">
162+
<img src="img/stig-idea.svg" alt="A long checklist of settings becomes a ranked CAT I, II and III plan, then a check of your own computer.">
204163
</figure>
205164

206165
<h3>What this tool does</h3>
207-
<p class="sub">You stay in control. This website never reaches into your computer. The downloaded program will not run a check until you read it and type your name.</p>
166+
<p class="sub">This page never scans. You pick a computer, choose rules, download a program, approve each check on that machine, and get a report.</p>
208167
<ol class="does">
209168
<li>
210169
<span class="stepn">1</span>
211-
<div><b>Pick MacBook or Windows</b><span>The matching DoD checklist for this project’s validated release is loaded here.</span></div>
170+
<div><b>Pick MacBook or Windows</b><span>Load the matching validated checklist.</span></div>
212171
</li>
213172
<li>
214173
<span class="stepn">2</span>
215-
<div><b>Read the rules in plain English</b><span>Each item says what it asks of you, how serious it is, and whether a machine can check it.</span></div>
174+
<div><b>Read the rules in plain English</b><span>What it asks, how serious, and whether a machine can check it.</span></div>
216175
</li>
217176
<li>
218177
<span class="stepn">3</span>
219-
<div><b>Choose what to scan</b><span>Tick the rules you care about — all of them, the serious ones, or a short first pass.</span></div>
178+
<div><b>Choose what to scan</b><span>Tick all of them, the serious ones, or a short first pass.</span></div>
220179
</li>
221180
<li>
222181
<span class="stepn">4</span>
223-
<div><b>Download a local scanner</b><span>A zip for that computer, already pointed at your selection. Nothing runs in this browser.</span></div>
182+
<div><b>Download a local scanner</b><span>A zip for that computer, already pointed at your selection.</span></div>
224183
</li>
225184
<li>
226185
<span class="stepn">5</span>
227-
<div><b>Approve every check</b><span>On your machine, read each command and type your name. Unapproved checks stay off.</span></div>
186+
<div><b>Approve every check</b><span>On your machine, read each command and type your name.</span></div>
228187
</li>
229188
<li>
230189
<span class="stepn">6</span>
231-
<div><b>Get a report and PDF</b><span>Pass, fail, and a remaining-risk story you can keep or hand over.</span></div>
190+
<div><b>Get a report and PDF</b><span>Pass, fail, and a remaining-risk story you can hand over.</span></div>
232191
</li>
233192
</ol>
234-
235-
<h3>How it works, start to finish</h3>
236-
<p class="sub">The website is only the front door. Selection happens here; approval and scanning happen on the computer you picked.</p>
237193
<figure class="diagram">
238-
<img class="flow-wide" src="img/process-flow.svg" alt="Five steps: this website, select rules, download a scanner, approve and scan on your computer, then read the results.">
194+
<img class="flow-wide" src="img/process-flow.svg" alt="Five product steps: this website, select rules, download a scanner, approve and scan on your computer, then read the results.">
239195
<ol class="flow-fallback">
240-
<li><strong>1 · This website</strong> Learn what a STIG is at <a href="https://stig.hsaxena.com">stig.hsaxena.com</a> and pick Mac or Windows.</li>
241-
<li><strong>2 · Select</strong> Read the rules in plain English and tick the ones to scan.</li>
242-
<li><strong>3 · Download</strong> Save a zip built for that selection. This page never scans.</li>
243-
<li><strong>4 · Approve &amp; scan</strong> Open the program on your computer. Type your name to approve each check.</li>
244-
<li><strong>5 · Results</strong> A local report and PDF: what passed, what failed, and the remaining risk.</li>
196+
<li><strong>1 · This website</strong> Pick Mac or Windows at <a href="https://stig.hsaxena.com">stig.hsaxena.com</a>.</li>
197+
<li><strong>2 · Select</strong> Tick the rules to put in the scanner.</li>
198+
<li><strong>3 · Download</strong> Save a zip built for that selection.</li>
199+
<li><strong>4 · Approve &amp; scan</strong> Open it on your computer and type your name.</li>
200+
<li><strong>5 · Results</strong> A local report and PDF.</li>
245201
</ol>
246-
<figcaption>Website → select → download → approve and scan locally → report.</figcaption>
247202
</figure>
248203

249204
<div class="os-block" id="os-pick">

‎tests/test_site.py‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,9 @@ def test_landing_explains_stigs_before_hosting_caveats(self):
9797
self.assertIn("img/process-flow.svg", html)
9898
self.assertTrue((ROOT / "docs" / "img" / "stig-idea.svg").is_file())
9999
self.assertTrue((ROOT / "docs" / "img" / "process-flow.svg").is_file())
100+
import xml.etree.ElementTree as ET
101+
for name in ("stig-idea.svg", "process-flow.svg"):
102+
ET.parse(ROOT / "docs" / "img" / name)
100103
landing = html.split('id="s-landing"', 1)[1].split('id="s-rules"', 1)[0]
101104
self.assertIn("Technical notes", landing)
102105
self.assertLess(landing.find("<details"), landing.find("dl.dod.cyber.mil"))
@@ -105,6 +108,10 @@ def test_landing_explains_stigs_before_hosting_caveats(self):
105108
self.assertNotIn("dl.dod.cyber.mil", hero)
106109
self.assertNotIn("CORS", hero)
107110
self.assertNotIn("SHA-256", hero)
111+
self.assertNotIn("1. Hundreds of settings", html)
112+
self.assertNotIn("How it works, start to finish", html)
113+
self.assertEqual(landing.count("img/stig-idea.svg"), 1)
114+
self.assertEqual(landing.count("Hundreds of settings"), 0)
108115

109116
def test_site_js_builds_a_selection_not_a_remote_scan(self):
110117
js = (ROOT / "docs" / "site.js").read_text(encoding="utf-8")

0 commit comments

Comments
 (0)