<?xml version="1.0" encoding="UTF-8"?>
<!--
  LEADR sitemap.
  - Marketing pages live at the root (/, /terms, /privacy).
  - The /app/* surface is intentionally excluded — it's auth-gated
    and disallowed in robots.txt so search engines don't waste budget
    on pages that redirect to sign-in.
  - All listed routes are statically prerendered by scripts/prerender.mjs
    so crawlers receive real HTML, not a blank <div id="root">.
  - lastmod is bumped manually on substantive copy changes; small
    style tweaks don't justify a re-crawl request.

  ⚠️ MANUAL = DRIFTS. Refreshed 2026-07-28 after sitting at 2026-06-05 for
  seven weeks, across the 07-11 landing structure pass AND a legal change
  (the privacy policy stopped naming Stripe). A stale lastmod on a page whose
  legal text changed is the one case where this actually costs something —
  crawlers use it to prioritise re-crawl, so the correction went unsignalled.
  Each route's date is the last commit touching its source; check with:
    /        -> git log -1 --date=short --format=%ad -- src/pages/Landing
    /terms   -> git log -1 --date=short --format=%ad -- src/pages/Legal/Terms.tsx
    /privacy -> git log -1 --date=short --format=%ad -- src/pages/Legal/Privacy.tsx
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://leadrlabs.com/</loc>
    <lastmod>2026-07-28</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://leadrlabs.com/terms</loc>
    <lastmod>2026-07-25</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://leadrlabs.com/privacy</loc>
    <lastmod>2026-07-25</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
</urlset>
