<?xml version="1.0" encoding="UTF-8"?>
<!--
  https://www.truveil.app/sitemap.xml — referenced from deploy/robots.txt.
  Served from the build output root (deploy/), alongside _headers and robots.txt.

  Every <loc> is the CLEAN url and must stay byte-identical to the rel=canonical
  declared on that page. The .html forms 308-redirect to these, so listing a
  .html url here would point Google at a redirect.

  TRAILING SLASHES ARE NOT UNIFORM, and the difference is measured, not assumed:
    /analysis/                     KEEPS its slash. It is a directory index
                                   (deploy/analysis/index.html); /analysis
                                   308-redirects to /analysis/.
    /analysis/<slug>               has NO slash. These are files
                                   (deploy/analysis/<slug>.html); both
                                   /analysis/<slug>/ and /analysis/<slug>.html
                                   308-redirect to the bare form.
  So the index and the articles redirect in OPPOSITE directions inside the same
  folder. No single find-and-replace normalises both. Verified by HTTP against
  the live site on 2026-08-19; re-verify rather than trusting this note if the
  directory layout changes.

  Deliberate exclusions:
    /app  — carries <meta name="robots" content="noindex, follow">. Listing a
            noindexed page here would be a contradictory signal: the sitemap
            asks for indexing while the page refuses it.
    /404  — the error page. It resolves 200 at /404 via clean-url matching and
            is noindexed for exactly that reason; it is not content.

  <lastmod> is present on the seven /analysis/ urls and absent on the other
  eight. That asymmetry is deliberate rather than an oversight. The analysis
  pages have a real, stated content date: each article carries "Current as of
  20 August 2026" on the page and datePublished in its JSON-LD, so the sitemap
  states the same date those pages state about themselves.

  The other eight still have no date worth stating. The commits touching them
  are metadata and navigation changes, so a per-file git date would claim a
  content change that did not happen. Deriving a truer date would require
  classifying which commits count as content, which is a judgement rather than
  something git records. Still omitted rather than guessed. Add it to any of the
  eight when that page gains a real content date to state.

  /samples is the eighth. It is dateless for the same reason: the page states
  no date about itself. The reports it lists each carry their own generation
  timestamp on their cover, but that is the artefact's date, not the page's,
  and a sitemap <lastmod> that moved every time one report was regenerated
  would claim a content change the listing did not make.

  No <changefreq> or <priority>: Google ignores both.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  <url><loc>https://www.truveil.app/</loc></url>
  <url><loc>https://www.truveil.app/vision</loc></url>
  <url><loc>https://www.truveil.app/methodology</loc></url>
  <url><loc>https://www.truveil.app/samples</loc></url>
  <url><loc>https://www.truveil.app/integrate</loc></url>
  <url><loc>https://www.truveil.app/pricing</loc></url>
  <url><loc>https://www.truveil.app/privacy</loc></url>
  <url><loc>https://www.truveil.app/terms</loc></url>

  <url>
    <loc>https://www.truveil.app/analysis/</loc>
    <lastmod>2026-08-20</lastmod>
  </url>
  <url>
    <loc>https://www.truveil.app/analysis/ai-agent-audit-trail-requirements</loc>
    <lastmod>2026-08-20</lastmod>
  </url>
  <url>
    <loc>https://www.truveil.app/analysis/difc-regulation-10-ai-evidence</loc>
    <lastmod>2026-08-20</lastmod>
  </url>
  <url>
    <loc>https://www.truveil.app/analysis/singapore-agentic-ai-framework</loc>
    <lastmod>2026-08-20</lastmod>
  </url>
  <url>
    <loc>https://www.truveil.app/analysis/eu-ai-act-agent-deadlines</loc>
    <lastmod>2026-08-20</lastmod>
  </url>
  <url>
    <loc>https://www.truveil.app/analysis/eu-ai-act-article-14-agents</loc>
    <lastmod>2026-08-20</lastmod>
  </url>
  <url>
    <loc>https://www.truveil.app/analysis/dpdp-rules-2025-ai-agents</loc>
    <lastmod>2026-08-20</lastmod>
  </url>

</urlset>
