<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://ctroenv.vercel.app</loc>
<lastmod>2026-06-30T23:29:16.237Z</lastmod>
<changefreq>monthly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog</loc>
<lastmod>2026-06-30T23:29:16.237Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/getting-started</loc>
<lastmod>2026-06-30T23:28:34.275Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/getting-started/quick-start</loc>
<lastmod>2026-06-30T23:28:34.231Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/getting-started/core-concepts</loc>
<lastmod>2026-06-30T23:28:34.299Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/define-env</loc>
<lastmod>2026-06-30T23:28:34.199Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/string</loc>
<lastmod>2026-06-30T23:28:34.223Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/number</loc>
<lastmod>2026-06-30T23:28:34.207Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/boolean</loc>
<lastmod>2026-06-30T23:28:34.191Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/semver</loc>
<lastmod>2026-06-30T23:28:34.223Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/pick</loc>
<lastmod>2026-06-30T23:28:34.211Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/ip</loc>
<lastmod>2026-06-30T23:28:34.211Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/uuid</loc>
<lastmod>2026-06-30T23:28:34.223Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/chainable</loc>
<lastmod>2026-06-30T23:28:34.195Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/refinements</loc>
<lastmod>2026-06-30T23:28:34.215Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/errors</loc>
<lastmod>2026-06-30T23:28:34.203Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/schema-composition</loc>
<lastmod>2026-06-30T23:28:34.219Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/security</loc>
<lastmod>2026-06-30T23:28:34.219Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/custom-validators</loc>
<lastmod>2026-06-30T23:28:34.223Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/watch-env</loc>
<lastmod>2026-06-30T23:28:34.247Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/cli/index</loc>
<lastmod>2026-06-30T23:28:34.187Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/cli/validate</loc>
<lastmod>2026-06-30T23:28:34.191Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/cli/generate</loc>
<lastmod>2026-06-30T23:28:34.183Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/cli/check</loc>
<lastmod>2026-06-30T23:28:34.183Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/cli/docs</loc>
<lastmod>2026-06-30T23:28:34.183Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/cli/init</loc>
<lastmod>2026-06-30T23:28:34.267Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/cli/configuration</loc>
<lastmod>2026-06-30T23:28:34.183Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/node</loc>
<lastmod>2026-06-30T23:28:34.267Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/vite</loc>
<lastmod>2026-06-30T23:28:34.271Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/nextjs</loc>
<lastmod>2026-06-30T23:28:34.267Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/migration/from-t3-env</loc>
<lastmod>2026-06-30T23:28:34.263Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/migration/from-envalid</loc>
<lastmod>2026-06-30T23:28:34.259Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/migration/from-dotenv</loc>
<lastmod>2026-06-30T23:28:34.255Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/build-vs-runtime-validation</loc>
<lastmod>2026-06-30T23:28:34.007Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/chain-order-gotcha</loc>
<lastmod>2026-06-30T23:28:34.007Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/cicd-env-validation</loc>
<lastmod>2026-06-30T23:28:34.007Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/cloudflare-workers</loc>
<lastmod>2026-06-30T23:28:34.007Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/composite-source-detection</loc>
<lastmod>2026-06-30T23:28:34.007Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/custom-validators</loc>
<lastmod>2026-06-30T23:28:34.007Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/debugging-env-errors</loc>
<lastmod>2026-06-30T23:28:34.007Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/deno-and-bun-support</loc>
<lastmod>2026-06-30T23:28:34.007Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/error-handling-patterns</loc>
<lastmod>2026-06-30T23:28:34.007Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/migrating-from-dotenv</loc>
<lastmod>2026-06-30T23:28:34.019Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/monorepo-env</loc>
<lastmod>2026-06-30T23:28:34.179Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/nextjs-adapter-patterns</loc>
<lastmod>2026-06-30T23:28:34.155Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/node-adapter-deep-dive</loc>
<lastmod>2026-06-30T23:28:34.167Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/performance-and-bundle-size</loc>
<lastmod>2026-06-30T23:28:34.019Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/proxy-traps-deep-dive</loc>
<lastmod>2026-06-30T23:28:34.131Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/schema-composition-for-library-authors</loc>
<lastmod>2026-06-30T23:28:34.135Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/secret-masking</loc>
<lastmod>2026-06-30T23:28:34.143Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/testing-env-vars</loc>
<lastmod>2026-06-30T23:28:34.155Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/turbopack-and-quality</loc>
<lastmod>2026-06-30T23:28:34.159Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/typescript-inference-tricks</loc>
<lastmod>2026-06-30T23:28:34.167Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/v1-0-0</loc>
<lastmod>2026-06-30T23:28:34.167Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/v1-0-1</loc>
<lastmod>2026-06-30T23:28:34.175Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/v1-1-0</loc>
<lastmod>2026-06-30T23:28:34.175Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/v1-1-1</loc>
<lastmod>2026-06-30T23:28:34.175Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/v1-2-0</loc>
<lastmod>2026-06-30T23:28:34.179Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/vite-build-time-validation</loc>
<lastmod>2026-06-30T23:28:34.179Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/watch-env-reactivity</loc>
<lastmod>2026-06-30T23:28:34.203Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/why-ctroenv</loc>
<lastmod>2026-06-30T23:28:34.179Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
</urlset>
