<?xml version="1.0" encoding="UTF-8"?>
<!--
  starflash.ai — the WEBSITE.

  Marketing and product-information pages only. This deliberately contains no sensor
  pages, no station pages, no place or network pages, and nothing from
  search.starflash.ai. The sensor index is proprietary platform data and is not
  published to search engines.

  Every URL below returns HTTP 200 with its own distinct content.

  TWO KINDS OF PAGE LIVE HERE, AND THE DIFFERENCE MATTERS
    - SPA routes (/, /platform, /pricing, /about, /engine, /platform/new-features,
      /blog, /contact) are rendered by the React bundle, which injects per-route title
      and body content server-side.
    - Function routes (/platform/search, /platform/sensors, /platform/dashboards,
      /platform/api, /insights, /insights/*, /legal/*) are server-rendered by Pages
      Functions and return complete HTML before any JavaScript runs. An unknown URL
      under these prefixes returns a REAL 404, not a soft one.

  Excluded on purpose:
    /platform/docs and /platform/formats render the how-to-use body verbatim (duplicates);
    /products, /studio and /terms are dead route references the app itself 404s;
    /signin, /signup and the password-reset routes are noindex;
    /articles/* is a 301 to /insights/* and must not be listed as a destination.

  Individual /blog posts remain deliberately absent. The slugs in the bundle
  (why-real-time-sensors-matter, ai-training-on-real-world-data, launching-realityai) are
  DATA for the /blog listing, not routes: the router declares no /blog/:slug, so each
  renders the app's own "404 Oops! Page not found" at HTTP 200. Verified in a browser.
  They belong here only once real post pages exist. The /insights articles below are the
  server-rendered replacement and do not have that problem.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  <!-- Home -->
  <url>
    <loc>https://starflash.ai/</loc>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
  </url>

  <!-- Platform -->
  <url>
    <loc>https://starflash.ai/platform</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://starflash.ai/platform/search</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://starflash.ai/platform/sensors</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://starflash.ai/platform/dashboards</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://starflash.ai/platform/api</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://starflash.ai/platform/new-features</loc>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Pricing -->
  <url>
    <loc>https://starflash.ai/pricing</loc>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Insights -->
  <url>
    <loc>https://starflash.ai/insights</loc>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://starflash.ai/insights/weather-stations</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://starflash.ai/insights/air-quality-sensors</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://starflash.ai/insights/parking-sensors</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Company -->
  <url>
    <loc>https://starflash.ai/about</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://starflash.ai/contact</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://starflash.ai/engine</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://starflash.ai/blog</loc>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- Legal (footer) -->
  <url>
    <loc>https://starflash.ai/legal/privacy</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://starflash.ai/legal/terms</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>

  <!--
    /lightstar and /nebulas are omitted. Both return HTTP 200, but their titles and bodies
    disagree: /lightstar is titled "LightStar | StarFlash" while its h1 reads "StarFlash
    Earth". A page whose title contradicts its content is a quality signal working against
    us. They belong back in this file once that mismatch is resolved.
  -->
</urlset>
