<?xml version="1.0" encoding="UTF-8"?>
<!--
  Update <lastmod> when a page's content actually changes, not on every upload — a sitemap that
  claims everything changed today teaches crawlers to ignore the field.

  Every <loc> is EXTENSIONLESS, matching the canonical in each document and the form the shipped
  app uses (tinkrite-app/eas.json hard-codes /legal/privacy and /legal/terms). The files on disk
  are privacy.html and terms.html; the host's clean-URL handling maps between them. Do not list
  the .html form here — that would put two URLs in front of crawlers for one document.

  The two legal URLs were held back while legal/*.html still contained unfilled [[PLACEHOLDER]]
  tokens. That gate is now passed: `grep -rn '\[\[' legal/*.html` returns nothing, the tk-todo
  wrappers are gone, and both documents carry an effective date. They are listed below. If the
  legal/ directory is ever excluded from an upload again, comment these two back out first —
  a URL that 404s earns crawl errors.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">

  <url>
    <loc>https://tinkrite.com/</loc>
    <lastmod>2026-08-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>1.0</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://tinkrite.com/"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://tinkrite.com/fr/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://tinkrite.com/"/>
  </url>

  <url>
    <loc>https://tinkrite.com/fr/</loc>
    <lastmod>2026-08-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>1.0</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://tinkrite.com/"/>
    <xhtml:link rel="alternate" hreflang="fr" href="https://tinkrite.com/fr/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://tinkrite.com/"/>
  </url>

  <!--
    lastmod is the policy's effective date, not the day the head was last edited: what a crawler
    should care about here is when the DOCUMENT changed. Both pages state "August 2026" with no
    day, so 2026-08-01 is used consistently with datePublished/dateModified in their structured
    data. If the real effective date has a day, correct all three together.
  -->
  <url>
    <loc>https://tinkrite.com/legal/privacy</loc>
    <lastmod>2026-08-01</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.5</priority>
  </url>

  <url>
    <loc>https://tinkrite.com/legal/terms</loc>
    <lastmod>2026-08-01</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.5</priority>
  </url>

</urlset>
