<?xml version="1.0" encoding="UTF-8"?>
<!-- C8 (0.27.b) — public routes only (auth-gated /app/* is excluded).

     TP-329 (2026-09-19) — /login and /signup REMOVED. Signups are OFF
     server-side (demo pivot 2026-08-09, CC Brief #63), so submitting them for
     indexing asked Google to rank two doors that do not open. They are NOT
     noindex and they still emit a self-referential canonical — they are simply
     no longer advertised.

     🔒 EVERY <loc> HERE MUST MATCH THE CANONICAL THE APP EMITS FOR THAT ROUTE,
     BYTE-FOR-BYTE. `canonicalUrlFor()` in `src/lib/seo/canonical-url.ts` is the
     other end of this contract: the root carries a trailing slash, every other
     route carries none. A trailing-slash disagreement between these two files
     IS the "Alternate page with proper canonical tag" verdict this brief was
     raised to remove.

     🔒 The host is a literal here (a static file reaches no module graph) — it
     is item 3 on `src/lib/brand.ts`'s host-literal list. -->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://rv.allthingsspatial.io/</loc><lastmod>2026-09-19</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
  <url><loc>https://rv.allthingsspatial.io/pricing</loc><lastmod>2026-09-19</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://rv.allthingsspatial.io/about</loc><lastmod>2026-09-19</lastmod><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://rv.allthingsspatial.io/terms</loc><lastmod>2026-09-19</lastmod><changefreq>yearly</changefreq><priority>0.3</priority></url>
  <url><loc>https://rv.allthingsspatial.io/privacy</loc><lastmod>2026-09-19</lastmod><changefreq>yearly</changefreq><priority>0.3</priority></url>
</urlset>
