<?xml version="1.0" encoding="UTF-8"?>
<!-- Final URLs only, exactly as each page's canonical tag prints them: prerendered pages end in "/" (Cloudflare 307s the bare path). Indexable pages only: nothing noindex (/login, /signup, per-book pages), nothing under /app, /api or /auth. lastmod only where a date is printed or recorded: each blog post's `updated` in lib/blog.ts, and the "Last updated" line on /privacy/ and /terms/; no other URL carries one. test/seo-discovery.test.ts pins all of it. -->
<!-- SITE_GATE is on: only the pages the gate lets through are listed (lib/siteGate.ts isExemptPath). When the gate opens, add back /, /pricing/, /faq/, /sample/, /showcase and /kdp-ai-disclosure/. -->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://www.shadowwriter-ai.com/blog/</loc><changefreq>weekly</changefreq><priority>0.6</priority></url>
  <url><loc>https://www.shadowwriter-ai.com/blog/kdp-ai-disclosure-guide/</loc><lastmod>2026-10-12</lastmod><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://www.shadowwriter-ai.com/terms/</loc><lastmod>2026-10-13</lastmod><changefreq>monthly</changefreq><priority>0.3</priority></url>
  <url><loc>https://www.shadowwriter-ai.com/privacy/</loc><lastmod>2026-10-13</lastmod><changefreq>monthly</changefreq><priority>0.3</priority></url>
</urlset>
