<?xml version="1.0" encoding="UTF-8"?>
<!-- SOURCE OF TRUTH: this file (frontend/public/ is Vite's publicDir, copied
     into backend/public on every build — after emptyOutDir wipes it). Never
     edit a sitemap.xml under backend/public; it is build output and editing
     it ships nothing. See docs/systems/deployment/README.md.

     Only canonical, publicly indexable URLs belong here. /login and /register
     canonicalize to the homepage (SpaController), and /projects is an
     authenticated area — none of them should be listed.
     See docs/systems/seo/frontpage-prerender.md ("Canonical policy"). -->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
        http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">

  <!-- Homepage (build-time prerendered marketing page) -->
  <url>
    <loc>https://framefill.com/</loc>
    <lastmod>2026-07-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>

  <!-- Terms of Service -->
  <url>
    <loc>https://framefill.com/terms</loc>
    <lastmod>2026-07-23</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>

  <!-- Privacy Policy -->
  <url>
    <loc>https://framefill.com/privacy</loc>
    <lastmod>2026-07-23</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>

  <!-- Open Source -->
  <url>
    <loc>https://framefill.com/open-source</loc>
    <lastmod>2026-07-23</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>

</urlset>
