<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://morningstack.app/</loc>
    <lastmod>2026-05-25</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://morningstack.app/privacy</loc>
    <lastmod>2026-05-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://morningstack.app/terms</loc>
    <lastmod>2026-05-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://morningstack.app/contact</loc>
    <lastmod>2026-05-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://morningstack.app/cookies</loc>
    <lastmod>2026-05-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
</urlset>
<!--
  /refund is intentionally omitted from the sitemap AND served with
  robots noindex per docs/design/CLAIMS-AUDIT.md:11. The page exists
  for existing-customer self-service confirmation (footer-linked from
  every page), but it describes the post-charge self-serve refund
  button — surfacing that mechanism as a pre-purchase search result
  would contradict the asymmetric "trial cancels free / post-charge
  needs friction" design. Footer link remains because existing
  customers need to find it; sitemap+noindex blocks pre-purchase
  search-engine discovery.
-->
