<?xml version="1.0" encoding="UTF-8"?>
<!--
  Hand-maintained. plnty.app is served by THIS app (Astro) for marketing routes and by
  two rewrites for the rest: /docs/* -> plnty-docs.vercel.app (apps/docs, Starlight) and
  /:path* -> plane3.vercel.app (the SPA). Neither of those ships a sitemap of its own, so
  every indexable URL on the domain has to be declared here.

  The SPA is deliberately absent: its routes carry X-Robots-Tag noindex (apps/web/vercel.json)
  because they sit behind auth and render nothing useful to a crawler. /subscribe/confirm is
  absent for the same reason, by its own `noindex` prop: the URL means nothing without a token.

  ⚠ `pnpm gate:marketing-headers` CHECKS THIS FILE. It already covered the marketing
  routes; the DOCS half was checked by nobody until 2026-08-13, and it had drifted:
  /docs/team-spaces/spaces/ was written on 08-08, linked in the Starlight sidebar and
  live in production, and missing from here for five days. The gate now diffs this file
  against the pages on disk in BOTH apps and fails either way, so a page that exists
  must be listed and a listed URL must exist. Run it after adding or renaming a page.

  Starlight maps <path>.md to /docs/<path>/ (trailing slash) and index.md to /docs/.
  Pages with draft: true (styleguide) are NOT built and must stay out.

  <lastmod> is the file's real git commit date, not the day the sitemap was touched.
  Google discounts lastmod it catches lying, so a blanket "today" across 82 URLs is worse
  than none at all. Most marketing dates are 2026-08-13 because every one of those pages
  had its title and description rewritten that day.

  TWO ARE 2026-08-14, and the pair is a worked example of the rule above. On that day the
  homepage hero, tools and partner folds were rewritten and its title and description were
  re-derived from them, so / genuinely changed; careers.astro's description carried the
  retired positioning line in its tail and changed with it. NOTHING ELSE MOVED, and that is
  deliberate: the same commit rewrote the Organization JSON-LD in BaseLayout.astro, which
  renders into all 83 URLs here. Bumping every one of them for a site-wide schema tweak is
  exactly the blanket "today" this note warns about, and it would cost the honest signal on
  the two pages that did change. Site-wide chrome is not page content.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  <!-- Marketing -->
  <url>
    <loc>https://plnty.app/</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://plnty.app/pricing</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://plnty.app/about</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://plnty.app/enterprise</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/creators</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/contact</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/security</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://plnty.app/careers</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://plnty.app/creators/apply</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://plnty.app/education</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.4</priority>
  </url>

  <!-- Docs (apps/docs, served at /docs/* via rewrite) -->
  <url>
    <loc>https://plnty.app/docs/</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/team-spaces/managing-members-and-roles/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/team-spaces/provenance-for-compliance/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/team-spaces/shared-chains/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/team-spaces/shared-credit-pool/</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/team-spaces/shared-loras/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/team-spaces/shared-storage/</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/team-spaces/spaces/</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/team-spaces/working-as-a-team/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/3d/3d-on-a-2d-canvas/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/3d/export-formats/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/3d/live-ai-render/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/3d/remeshing-and-retopology/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/3d/the-pathtracer/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/boards/board-settings/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/boards/creating-and-naming/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/boards/embedding-a-board/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/boards/sharing-a-board/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/boards/versions-and-recovery/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/bringing-your-work-in/actions-from-an-asset/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/bringing-your-work-in/cinema-4d/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/bringing-your-work-in/importing-a-mesh/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/bringing-your-work-in/uploading-files/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/chains/chaining-tools/</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/chains/reusing-a-chain/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/chains/what-a-chain-is/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/credits/watching-your-balance/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/credits/what-a-failed-run-costs/</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/credits/what-costs-what/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/credits/when-you-run-out/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/get-the-work-out/downloading/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/get-the-work-out/formats/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/get-the-work-out/handoff-to-a-client/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/looks-and-loras/applying-one-look-to-a-set/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/looks-and-loras/training-a-lora/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/looks-and-loras/what-a-lora-is/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/prompting/muse/</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/prompting/the-prompt-card/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/prompting/your-creative-preferences/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/start-here/tools-as-creative-instruments/</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/start-here/what-plnty-is/</loc>
    <lastmod>2026-08-07</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/start-here/your-first-board/</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/start-here/your-first-generation/</loc>
    <lastmod>2026-08-07</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/the-asset-library/automatic-metadata/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/the-asset-library/provenance/</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/the-asset-library/when-a-file-comes-back/</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/the-asset-library/where-your-work-lives/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/the-asset-library/your-storage-in-one-place/</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/the-canvas/frames-and-grouping/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/the-canvas/links-embeds-and-colour-palettes/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/the-canvas/moving-around/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/the-canvas/notes-comments-and-voice-memos/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/the-canvas/selecting-and-arranging/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/the-canvas/sketching-and-shapes/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/the-canvas/working-at-the-same-time/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/using-a-tool/how-a-tool-works/</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/using-a-tool/locking-a-card/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/using-a-tool/reading-the-credit-pill/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/using-a-tool/settings-quality-and-size/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/using-a-tool/swapping-the-model/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/using-a-tool/variables-and-batch-runs/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/using-a-tool/when-a-run-fails/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/what-you-can-make/3d-assets/</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/what-you-can-make/images/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/what-you-can-make/music-and-sound/</loc>
    <lastmod>2026-08-07</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/what-you-can-make/vectors/</loc>
    <lastmod>2026-08-07</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/what-you-can-make/video/</loc>
    <lastmod>2026-08-07</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/workspaces/moving-work-between-workspaces/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/workspaces/personal-and-team/</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/workspaces/switching-and-what-changes/</loc>
    <lastmod>2026-08-11</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://plnty.app/docs/using-plnty/workspaces/what-a-workspace-is/</loc>
    <lastmod>2026-08-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- Legal -->
  <url>
    <loc>https://plnty.app/legal/terms</loc>
    <lastmod>2026-08-11</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://plnty.app/legal/privacy</loc>
    <lastmod>2026-08-11</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
</urlset>
