<?xml version="1.0" encoding="UTF-8"?>
<!--
  GENERATED FILE - do not hand-edit. Run `npm run sitemap` after changing which pages are
  public; the route table lives in scripts/build-sitemap.mjs.

  Every lastmod below is the git committer date of the files that render that page, never the
  day this file was written. A sitemap that claims everything changed today is a sitemap
  Google stops trusting.

  No changefreq and no priority. Google has said plainly that it ignores both, and priority
  is meaningless anyway on a site with two indexable pages - it only ever expressed a
  ranking BETWEEN your own URLs. Emitting them would be decoration pretending to be a signal.

  Not listed, on purpose:
    /login, /signup, /recover
      account forms, sent as X-Robots-Tag: noindex from vercel.json
    /try
      not a page but an action - loading it starts a guest session, so a crawler that renders JS creates data
    /capture
      single-use QR phone-pairing surface, noindex
    /join/:token
      unguessable share links, noindex nofollow - listing them defeats the point
    /notebook/:id, /note/:id, /study, /ask, /search, /tags
      behind RequireAuth, so a crawler only ever sees the redirect to /login
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://unote-six.vercel.app/</loc>
    <lastmod>2026-08-09</lastmod>
  </url>
  <url>
    <loc>https://unote-six.vercel.app/sitemap</loc>
    <lastmod>2026-08-09</lastmod>
  </url>
  <url>
    <loc>https://unote-six.vercel.app/download</loc>
    <lastmod>2026-08-09</lastmod>
  </url>
</urlset>
