<?xml version="1.0" encoding="UTF-8"?>
<!--
  Public marketing pages only. Deliberately excluded:
    - auth and account flows (/login, /signup, /forgot-password, /reset-password,
      /verify-email, /admin-login, /setup-account)
    - token-gated entry points (/invite/:token, /referral, /attorney-invite)
    - authenticated dashboards (/client, /lawyer, /funder, /admin)
    - /apply-now-1, which is a redirect to /apply and must not be indexed itself
  Keep lastmod current when a page's content changes materially. Each value is
  the date that page's own sources last changed, not a shared build stamp — a
  single date across every URL tells search engines nothing about which page
  moved, and one that never advances is worse than none. Deliberately not
  generated from git on every build: that would bump a page for a styling-only
  commit, and an inflated lastmod is a signal search engines learn to ignore.

  ===========================================================================
  (That rule is '=' rather than '-': a run of hyphens is illegal inside an XML
  comment, and it made this whole file fail to parse. A sitemap that is not
  well-formed can be rejected outright, taking every URL below with it.)

  prerender-only entries

  scripts/prerender.js also reads "prerender-only" comments from this file.
  Those routes get real static HTML but are NOT advertised for indexing.

  The five case-type pages sit there because their state-law claims have not
  been signed off — see the sign-off table in
  docs/superpowers/specs/2026-07-31-case-type-pages-design.md and the noindex
  note in src/data/pageMeta.js. They are live and linked from the footer, just
  held out of search until that review completes.

  They still need prerendering. Without it the SPA fallback answers these five
  URLs with the prerendered homepage: the homepage's own content and title under
  a case-type address, and no robots tag at all, because the noindex only exists
  once React has run. Prerendering them puts each page's real content and its
  own noindex into the static HTML, which both removes the duplicate-content
  problem and makes the hold work for crawlers that do not execute JavaScript.

  When legal signs off: delete the prerender-only line and add a normal <url>
  block for that path, and drop noindex from CASE_TYPE_PAGE_META in
  src/data/pageMeta.js. The assertion in pageMeta.test.js enforces that those
  two halves move together.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <!-- prerender-only: /auto-accident-funding -->
  <!-- prerender-only: /rideshare-accident-funding -->
  <!-- prerender-only: /slip-and-fall-funding -->
  <!-- prerender-only: /dog-bite-funding -->
  <!-- prerender-only: /medical-malpractice-funding -->
  <url>
    <loc>https://mycaseloan.com/</loc>
    <lastmod>2026-08-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://mycaseloan.com/apply</loc>
    <lastmod>2026-08-05</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://mycaseloan.com/faq</loc>
    <lastmod>2026-08-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://mycaseloan.com/for-law-firms</loc>
    <lastmod>2026-08-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://mycaseloan.com/for-funders</loc>
    <lastmod>2026-08-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://mycaseloan.com/contact</loc>
    <lastmod>2026-08-04</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://mycaseloan.com/terms</loc>
    <lastmod>2026-08-04</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://mycaseloan.com/privacy</loc>
    <lastmod>2026-08-04</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
</urlset>
