<?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-25T09:02:49.155Z</lastmod>
<changefreq>monthly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog</loc>
<lastmod>2026-06-25T09:02:49.155Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/getting-started</loc>
<lastmod>2026-06-25T09:02:10.376Z</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-25T09:02:10.392Z</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-25T09:02:10.388Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/define-env</loc>
<lastmod>2026-06-25T09:02:10.296Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/string</loc>
<lastmod>2026-06-25T09:02:10.448Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/number</loc>
<lastmod>2026-06-25T09:02:10.344Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/boolean</loc>
<lastmod>2026-06-25T09:02:10.364Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/semver</loc>
<lastmod>2026-06-25T09:02:10.364Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/pick</loc>
<lastmod>2026-06-25T09:02:10.380Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/ip</loc>
<lastmod>2026-06-25T09:02:10.280Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/uuid</loc>
<lastmod>2026-06-25T09:02:10.368Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/chainable</loc>
<lastmod>2026-06-25T09:02:10.300Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/refinements</loc>
<lastmod>2026-06-25T09:02:10.360Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/errors</loc>
<lastmod>2026-06-25T09:02:10.276Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/schema-composition</loc>
<lastmod>2026-06-25T09:02:10.408Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/security</loc>
<lastmod>2026-06-25T09:02:10.432Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/core/custom-validators</loc>
<lastmod>2026-06-25T09:02:10.252Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/cli/index</loc>
<lastmod>2026-06-25T09:02:10.220Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/cli/validate</loc>
<lastmod>2026-06-25T09:02:10.300Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/cli/generate</loc>
<lastmod>2026-06-25T09:02:10.220Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/cli/check</loc>
<lastmod>2026-06-25T09:02:10.248Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/cli/docs</loc>
<lastmod>2026-06-25T09:02:10.216Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/cli/init</loc>
<lastmod>2026-06-25T09:02:10.228Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/cli/configuration</loc>
<lastmod>2026-06-25T09:02:10.216Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/node</loc>
<lastmod>2026-06-25T09:02:10.412Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/vite</loc>
<lastmod>2026-06-25T09:02:10.416Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/nextjs</loc>
<lastmod>2026-06-25T09:02:10.488Z</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-25T09:02:10.400Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/migration/from-envalid</loc>
<lastmod>2026-06-25T09:02:10.396Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/docs/v1/migration/from-dotenv</loc>
<lastmod>2026-06-25T09:02:10.392Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/build-vs-runtime-validation</loc>
<lastmod>2026-06-25T09:02:09.960Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/chain-order-gotcha</loc>
<lastmod>2026-06-25T09:02:09.972Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/cicd-env-validation</loc>
<lastmod>2026-06-25T09:02:09.972Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/cloudflare-workers</loc>
<lastmod>2026-06-25T09:02:09.952Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/composite-source-detection</loc>
<lastmod>2026-06-25T09:02:09.984Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/custom-validators</loc>
<lastmod>2026-06-25T09:02:10.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/debugging-env-errors</loc>
<lastmod>2026-06-25T09:02:10.020Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/deno-and-bun-support</loc>
<lastmod>2026-06-25T09:02:10.004Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/error-handling-patterns</loc>
<lastmod>2026-06-25T09:02:10.012Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/migrating-from-dotenv</loc>
<lastmod>2026-06-25T09:02:10.020Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/monorepo-env</loc>
<lastmod>2026-06-25T09:02:10.104Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/nextjs-adapter-patterns</loc>
<lastmod>2026-06-25T09:02:10.044Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/node-adapter-deep-dive</loc>
<lastmod>2026-06-25T09:02:10.108Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/performance-and-bundle-size</loc>
<lastmod>2026-06-25T09:02:10.080Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/proxy-traps-deep-dive</loc>
<lastmod>2026-06-25T09:02:10.048Z</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-25T09:02:10.088Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/secret-masking</loc>
<lastmod>2026-06-25T09:02:10.132Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/testing-env-vars</loc>
<lastmod>2026-06-25T09:02:10.108Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/turbopack-and-quality</loc>
<lastmod>2026-06-25T09:02:10.124Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/typescript-inference-tricks</loc>
<lastmod>2026-06-25T09:02:10.180Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/v1-0-0</loc>
<lastmod>2026-06-25T09:02:10.212Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/v1-0-1</loc>
<lastmod>2026-06-25T09:02:10.192Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/v1-1-0</loc>
<lastmod>2026-06-25T09:02:10.184Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/v1-1-1</loc>
<lastmod>2026-06-25T09:02:10.180Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/v1-2-0</loc>
<lastmod>2026-06-25T09:02:10.212Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/vite-build-time-validation</loc>
<lastmod>2026-06-25T09:02:10.228Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ctroenv.vercel.app/blog/why-ctroenv</loc>
<lastmod>2026-06-25T09:02:10.268Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
</urlset>
