<?xml version="1.0" encoding="UTF-8"?>
<!--
  Static sitemap for the public surfaces.
  Hand-maintained on purpose: the app is SSR (`prerender = false`), so
  @astrojs/sitemap would emit an empty/partial file. The public route set
  is small and stable (home, privacy, terms), so a static file
  served straight from /public (like robots.txt) is the lowest-risk correct
  fix — it bypasses the locale-redirect middleware and ships with an
  application/xml content-type.

  Canonical host is the apex (id-foundation.org); www serves identical
  content, so every <loc> pins the apex to consolidate crawl signals.
  Each page lists both locale variants + x-default per hreflang spec.
  If you add/remove a public page, update this file.

  2026-08-16: /conference and /conference/pre-register were removed with the
  conference teardown and dropped from this file — a sitemap that advertises
  404s degrades crawl trust. /unsubscribe is deliberately absent: it is a
  utility endpoint reached from email links, not something to index.

  2026-08-22: /[lang]/boussole dropped — the tool now lives only on iudi.org
  and these URLs 301 there. Listing a redirect in a sitemap is the same
  crawl-trust problem as listing a 404: a <loc> should be the final URL.
-->
<urlset
  xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml"
>
  <!-- Home -->
  <url>
    <loc>https://id-foundation.org/en</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://id-foundation.org/en" />
    <xhtml:link rel="alternate" hreflang="fr" href="https://id-foundation.org/fr" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://id-foundation.org/en" />
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://id-foundation.org/fr</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://id-foundation.org/en" />
    <xhtml:link rel="alternate" hreflang="fr" href="https://id-foundation.org/fr" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://id-foundation.org/en" />
    <priority>1.0</priority>
  </url>

  <!-- Privacy -->
  <url>
    <loc>https://id-foundation.org/en/privacy</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://id-foundation.org/en/privacy" />
    <xhtml:link rel="alternate" hreflang="fr" href="https://id-foundation.org/fr/privacy" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://id-foundation.org/en/privacy" />
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://id-foundation.org/fr/privacy</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://id-foundation.org/en/privacy" />
    <xhtml:link rel="alternate" hreflang="fr" href="https://id-foundation.org/fr/privacy" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://id-foundation.org/en/privacy" />
    <priority>0.3</priority>
  </url>

  <!-- Terms -->
  <url>
    <loc>https://id-foundation.org/en/terms</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://id-foundation.org/en/terms" />
    <xhtml:link rel="alternate" hreflang="fr" href="https://id-foundation.org/fr/terms" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://id-foundation.org/en/terms" />
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://id-foundation.org/fr/terms</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://id-foundation.org/en/terms" />
    <xhtml:link rel="alternate" hreflang="fr" href="https://id-foundation.org/fr/terms" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://id-foundation.org/en/terms" />
    <priority>0.3</priority>
  </url>
</urlset>
