<?xml version="1.0" encoding="UTF-8"?>
<!--
  Only URLs whose served content actually describes the URL.

  `render.yaml` rewrites `/*` to `/index.html`, so every SPA route returns the same
  route-neutral fallback markup with no JavaScript. Listing `/teardown`, `/audit`,
  `/sample` or `/privacy` here would therefore ask crawlers to index four URLs that
  all serve identical, non-specific content — telling them a page exists at an
  address whose response does not describe it. That is a worse outcome than leaving
  them out, so they are out.

  What remains is accurate under any hosting behaviour:
    - `/`             the site root, which the route-neutral fallback genuinely describes.
    - `/proof/*.html` real static files, served directly and never rewritten.

  The SPA routes belong here again as soon as something emits route-accurate HTML
  for them — a prerender step or per-route files under `dist/` — and not before.
  Session-scoped routes (`/audit/:sessionId` and below, `/metrics/:metric_key`) stay
  out permanently: they are per-visitor and have nothing to index.

  This file exists at all because /sitemap.xml previously returned HTTP 200 with
  `content-type: text/html` — the SPA catch-all served index.html, so there was no
  sitemap but a route claiming to be one, which is worse for a crawler than a 404.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://getdataproof.com/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://getdataproof.com/proof/onboarding-knowledge-base.html</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://getdataproof.com/proof/metric-trust-teardown.html</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>
