<?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-25T02:15:52.922Z</lastmod>
<changefreq>monthly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog</loc>
<lastmod>2026-06-25T02:15:52.922Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/getting-started</loc>
<lastmod>2026-06-25T02:15:13.463Z</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-25T02:15:13.479Z</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-25T02:15:13.507Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/define-env</loc>
<lastmod>2026-06-25T02:15:13.411Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/string</loc>
<lastmod>2026-06-25T02:15:13.483Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/number</loc>
<lastmod>2026-06-25T02:15:13.431Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/boolean</loc>
<lastmod>2026-06-25T02:15:13.395Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/semver</loc>
<lastmod>2026-06-25T02:15:13.719Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/pick</loc>
<lastmod>2026-06-25T02:15:13.439Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/ip</loc>
<lastmod>2026-06-25T02:15:13.443Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/uuid</loc>
<lastmod>2026-06-25T02:15:13.511Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/chainable</loc>
<lastmod>2026-06-25T02:15:13.383Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/refinements</loc>
<lastmod>2026-06-25T02:15:13.459Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/errors</loc>
<lastmod>2026-06-25T02:15:13.399Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/schema-composition</loc>
<lastmod>2026-06-25T02:15:13.475Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/security</loc>
<lastmod>2026-06-25T02:15:13.459Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/custom-validators</loc>
<lastmod>2026-06-25T02:15:13.423Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/cli/index</loc>
<lastmod>2026-06-25T02:15:13.351Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/cli/validate</loc>
<lastmod>2026-06-25T02:15:13.431Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/cli/generate</loc>
<lastmod>2026-06-25T02:15:13.347Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/cli/check</loc>
<lastmod>2026-06-25T02:15:13.379Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/cli/docs</loc>
<lastmod>2026-06-25T02:15:13.347Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/cli/init</loc>
<lastmod>2026-06-25T02:15:13.351Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/cli/configuration</loc>
<lastmod>2026-06-25T02:15:13.347Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/node</loc>
<lastmod>2026-06-25T02:15:13.611Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/vite</loc>
<lastmod>2026-06-25T02:15:13.543Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/nextjs</loc>
<lastmod>2026-06-25T02:15:13.555Z</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-25T02:15:13.499Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/migration/from-envalid</loc>
<lastmod>2026-06-25T02:15:13.495Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/migration/from-dotenv</loc>
<lastmod>2026-06-25T02:15:13.487Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/build-vs-runtime-validation</loc>
<lastmod>2026-06-25T02:15:13.287Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/chain-order-gotcha</loc>
<lastmod>2026-06-25T02:15:13.247Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/cicd-env-validation</loc>
<lastmod>2026-06-25T02:15:13.247Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/cloudflare-workers</loc>
<lastmod>2026-06-25T02:15:13.247Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/composite-source-detection</loc>
<lastmod>2026-06-25T02:15:13.211Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/custom-validators</loc>
<lastmod>2026-06-25T02:15:13.247Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/debugging-env-errors</loc>
<lastmod>2026-06-25T02:15:13.287Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/deno-and-bun-support</loc>
<lastmod>2026-06-25T02:15:13.267Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/error-handling-patterns</loc>
<lastmod>2026-06-25T02:15:13.271Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/migrating-from-dotenv</loc>
<lastmod>2026-06-25T02:15:13.287Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/monorepo-env</loc>
<lastmod>2026-06-25T02:15:13.271Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/nextjs-adapter-patterns</loc>
<lastmod>2026-06-25T02:15:13.303Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/node-adapter-deep-dive</loc>
<lastmod>2026-06-25T02:15:13.303Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/performance-and-bundle-size</loc>
<lastmod>2026-06-25T02:15:13.331Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/proxy-traps-deep-dive</loc>
<lastmod>2026-06-25T02:15:13.315Z</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-25T02:15:13.339Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/secret-masking</loc>
<lastmod>2026-06-25T02:15:13.307Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/testing-env-vars</loc>
<lastmod>2026-06-25T02:15:13.335Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/turbopack-and-quality</loc>
<lastmod>2026-06-25T02:15:13.315Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/typescript-inference-tricks</loc>
<lastmod>2026-06-25T02:15:13.347Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/v1-0-0</loc>
<lastmod>2026-06-25T02:15:13.323Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/v1-0-1</loc>
<lastmod>2026-06-25T02:15:13.331Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/v1-1-0</loc>
<lastmod>2026-06-25T02:15:13.335Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/v1-1-1</loc>
<lastmod>2026-06-25T02:15:13.343Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/v1-2-0</loc>
<lastmod>2026-06-25T02:15:13.343Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/vite-build-time-validation</loc>
<lastmod>2026-06-25T02:15:13.379Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/why-ctroenv</loc>
<lastmod>2026-06-25T02:15:13.343Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
</urlset>
