<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <!-- Exclusion guidance: do not list /404.html in this sitemap. -->
  <!-- The 404 page should remain noindex and is intentionally omitted. -->
  <url><loc>https://johnbelcher.dev/</loc><lastmod>2026-06-28</lastmod></url>
  <url><loc>https://johnbelcher.dev/about.html</loc><lastmod>2026-06-28</lastmod></url>
  <url><loc>https://johnbelcher.dev/contact.html</loc><lastmod>2026-06-28</lastmod></url>
  <url><loc>https://johnbelcher.dev/resume.html</loc><lastmod>2026-06-28</lastmod></url>
  <url><loc>https://johnbelcher.dev/portfolio/</loc><lastmod>2026-06-28</lastmod></url>
  <url><loc>https://johnbelcher.dev/portfolio/case-study-1.html</loc><lastmod>2026-06-28</lastmod></url>
  <url><loc>https://johnbelcher.dev/portfolio/case-study-2.html</loc><lastmod>2026-06-28</lastmod></url>
  <url><loc>https://johnbelcher.dev/portfolio/case-study-3.html</loc><lastmod>2026-06-28</lastmod></url>
  <url><loc>https://johnbelcher.dev/portfolio/case-study-4.html</loc><lastmod>2026-06-28</lastmod></url>
  <url><loc>https://johnbelcher.dev/portfolio/case-study-5.html</loc><lastmod>2026-06-28</lastmod></url>
  <url><loc>https://johnbelcher.dev/blog/</loc><lastmod>2026-07-09</lastmod></url>
  <url><loc>https://johnbelcher.dev/blog/entries/sim-swapping-cybersecurity-guide.html</loc><lastmod>2026-07-09</lastmod></url>
  <url><loc>https://johnbelcher.dev/blog/entries/building-mergepdf-soc-style-python-pdf-tool.html</loc><lastmod>2026-07-07</lastmod></url>
  <url><loc>https://johnbelcher.dev/blog/entries/anthropic-owl-study.html</loc><lastmod>2026-07-03</lastmod></url>
  <url><loc>https://johnbelcher.dev/blog/entries/costs-of-unpreparedness.html</loc><lastmod>2026-06-28</lastmod></url>
  <url><loc>https://johnbelcher.dev/blog/entries/designing-encrypted-journal-cli.html</loc><lastmod>2026-06-28</lastmod></url>
  <url><loc>https://johnbelcher.dev/blog/entries/designing-linusec.html</loc><lastmod>2026-07-01</lastmod></url>
  <url><loc>https://johnbelcher.dev/blog/entries/should-orgs-pay-cyber-ransom.html</loc><lastmod>2026-06-28</lastmod></url>
  <url><loc>https://johnbelcher.dev/blog/entries/username-recon-python-script.html</loc><lastmod>2026-06-28</lastmod></url>
</urlset>
