<?xml version="1.0" encoding="UTF-8"?>
<!--
  Lists only pages that actually exist and are worth indexing.

  Deliberately excluded:
    /admin/  — private dashboard
    /join/   — single-use invite codes; indexing them would publish live invites
    /sitemap-articles.xml — the articleSitemap function reads a catalog.json that
                            does not exist, and public/articles/ holds unrendered
                            markdown. Add this back when there is a render pipeline.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://duonota.app/</loc>
    <lastmod>2026-09-06</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://duonota.app/help</loc>
    <lastmod>2026-09-06</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://duonota.app/privacy</loc>
    <lastmod>2026-09-06</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://duonota.app/terms</loc>
    <lastmod>2026-09-06</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
</urlset>
