<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <!-- LASTMOD MOVES WITH THE PAGE, OR IT IS WORSE THAN ABSENT.
       These dates are a recrawl HINT, and a hint that is wrong is a hint
       against you: on 2026-09-03 the footer, the meta description and the
       favicon had all changed on every page below while this file still
       said 2026-08-05, so the one signal we get to send Google was telling
       it there was nothing new to come back for — at exactly the moment we
       most wanted a recrawl. Bump the dates on the pages a change actually
       touches, in the same commit as the change. Do NOT bump all seven out
       of habit: a sitemap that claims everything changed every time is one
       Google learns to discount, which costs us the hint permanently. -->
  <url>
    <loc>https://touchlineanalysis.com/</loc>
    <lastmod>2026-09-13</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <!-- Payment gateways check that these are reachable and indexed before they
       approve a merchant account (BUSINESS-OPS-CHECKLIST.md row 11). -->
  <url>
    <loc>https://touchlineanalysis.com/privacy</loc>
    <lastmod>2026-09-05</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://touchlineanalysis.com/terms</loc>
    <lastmod>2026-09-03</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://touchlineanalysis.com/refund</loc>
    <lastmod>2026-09-03</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <!-- Contact is on the gateway's required list alongside the three above
       (BUSINESS-OPS-CHECKLIST.md row 11) — real address and phone, reachable
       and indexed. It also carries the published Grievance Officer route at
       /privacy#grievance, which is why it is indexed rather than merely
       reachable. Help earns its priority on its own: it is the page people
       search for by name once they are already using the app. -->
  <url>
    <loc>https://touchlineanalysis.com/contact</loc>
    <lastmod>2026-09-03</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://touchlineanalysis.com/help</loc>
    <lastmod>2026-09-03</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://touchlineanalysis.com/report</loc>
    <lastmod>2026-09-03</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <!-- Deliberately absent: /join, /payment-success and /payment-failed. Each
       is a private landing for one person mid-transaction, carries
       noindex, and would be a nonsense search result. -->
</urlset>
