<?xml version="1.0" encoding="UTF-8"?>
<!--
  Every canonical URL on halligan.dev. Paths are extensionless because
  wrangler.jsonc serves assets with html_handling "auto-trailing-slash", so
  /privacy resolves to privacy.html — these are the URLs the <link rel=canonical>
  on each page points at, and the two must not drift apart.

  lastmod is the date the page content actually changed. If you edit a page,
  update its date here; a sitemap that claims everything changed today is a
  sitemap crawlers learn to ignore.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  <url>
    <loc>https://halligan.dev/</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>

  <url>
    <loc>https://halligan.dev/start</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>

  <url>
    <loc>https://halligan.dev/report</loc>
    <lastmod>2026-08-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://halligan.dev/about</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>

  <url>
    <loc>https://halligan.dev/security</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.5</priority>
  </url>

  <url>
    <loc>https://halligan.dev/privacy</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>

  <url>
    <loc>https://halligan.dev/terms</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>

</urlset>
