<?xml version="1.0" encoding="UTF-8"?>
<!--
  https://bail.aimdev.site/sitemap.xml

  Why this file exists: nginx's SPA fallback (`try_files $uri $uri/index.html
  /index.html`) answers every unmatched path with the app shell, so /sitemap.xml
  came back as HTTP 200 with a page of HTML. That is worse than a 404 — a crawler
  cannot tell the sitemap is missing, it just fails to parse it. A real file on
  disk plus a `location = /sitemap.xml` block in nginx.conf wins over the
  fallback. Same reasoning, same fix as public/robots.txt.

  Only the signed-out public surface is listed: the marketing landing, the two
  legal pages, and the account-deletion page the app stores require to be
  reachable without a login. /login, /verify, /history and /profile are the
  signed-in app — one shell per route with no content until an account loads —
  and are Disallow'd in robots.txt rather than listed here.

  /privacy, /terms and /delete-account are prerendered to real static markup by
  scripts/prerender-legal.mjs, so a crawler that does not run JavaScript reads
  the actual page and not an empty <div id="root">.

  lastmod tracks the last substantive content change to each page's source
  (src/screens/Landing.tsx for /, src/screens/Legal.tsx for the other three).
  Bump it when the copy changes — a stale lastmod is worse than none.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://bail.aimdev.site/</loc>
    <lastmod>2026-08-25</lastmod>
  </url>
  <url>
    <loc>https://bail.aimdev.site/privacy</loc>
    <lastmod>2026-08-25</lastmod>
  </url>
  <url>
    <loc>https://bail.aimdev.site/terms</loc>
    <lastmod>2026-08-25</lastmod>
  </url>
  <url>
    <loc>https://bail.aimdev.site/delete-account</loc>
    <lastmod>2026-08-25</lastmod>
  </url>
</urlset>
