<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  <!-- The hand-maintained URLs. Add new app pages here.

       The help centre is NOT listed here: it is 322 generated URLs and lives in
       sitemap-help.xml, which scripts/build-help-pages.mjs writes at build time and git ignores.
       Both are referenced from sitemap.xml, which is a sitemap index.

       Keeping them apart is the point — a generated file never touches a tracked one, so a local
       build cannot leave this file showing as modified. -->

  <!-- Homepage -->
  <url>
    <loc>https://www.learningclarity.ai/</loc>
    <lastmod>2026-04-27</lastmod>
  </url>

  <!-- Legal pages.

       TRAILING SLASH REQUIRED. These are prerendered directory indexes (dist/privacypolicy/index.html)
       and production 308s the unslashed form, so the slashed URL is the one that answers directly —
       and the one scripts/prerender.ts now writes as each page's rel=canonical.
       src/test/spaRouting.test.ts holds the two in agreement. -->
  <url>
    <loc>https://www.learningclarity.ai/privacypolicy/</loc>
    <lastmod>2026-04-19</lastmod>
  </url>
  <url>
    <loc>https://www.learningclarity.ai/termsofservice/</loc>
    <lastmod>2026-04-19</lastmod>
  </url>

  <!-- Public certificate verification (dynamic but indexable) -->
  <!-- Individual /verify/:credentialId URLs are user-generated and should NOT
       be listed here. The pattern itself is kept out of the sitemap intentionally. -->

</urlset>
