<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://kamrankhandev.hashnode.dev</loc>
    <lastmod>2026-10-19T05:23:33.540Z</lastmod>
    <changefreq>always</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/when-an-admin-deletes-a-user-kill-their-tokens-first-the-line-that-prevents-zombie-sessions</loc>
    <lastmod>2026-10-19T05:23:14.089Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/your-update-endpoint-shouldn-t-demand-every-field-the-sometimes-pattern-in-my-updateuserrequest</loc>
    <lastmod>2026-10-19T05:20:57.414Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/one-env-var-for-your-api-s-allowed-origins-the-cors-setup-that-survived-localhost-staging-and-github-pages</loc>
    <lastmod>2026-10-18T05:41:31.286Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/don-t-fetch-what-the-user-can-t-see-conditional-parallel-loading-on-the-dashboard</loc>
    <lastmod>2026-10-18T05:39:23.766Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/stop-showing-registration-failed-render-laravel-s-422-errors-under-each-field</loc>
    <lastmod>2026-10-18T05:37:49.029Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/never-hash-a-password-in-your-controller-let-the-model-s-hashed-cast-do-it</loc>
    <lastmod>2026-10-17T05:13:20.324Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/your-logout-should-kill-one-token-not-every-device-what-currentaccesstoken-actually-does</loc>
    <lastmod>2026-10-17T05:12:11.582Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/don-t-make-users-log-in-after-registering-return-the-token-from-your-register-endpoint</loc>
    <lastmod>2026-10-17T05:11:05.920Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/never-trust-the-token-in-localstorage-why-my-frontend-re-fetches-me-on-every-reload</loc>
    <lastmod>2026-10-15T05:14:57.355Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/same-401-whether-the-email-is-wrong-or-the-password-is-why-my-login-never-says-which-field-failed</loc>
    <lastmod>2026-10-15T05:13:48.459Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/your-register-endpoint-should-ignore-the-role-field-the-privilege-escalation-guard-i-ship-in-one-line</loc>
    <lastmod>2026-10-15T05:12:29.896Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/every-saas-ships-dead-ends-the-404-page-and-redirect-map-i-keep-in-every-kit</loc>
    <lastmod>2026-10-14T05:16:24.220Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/one-layout-component-for-your-whole-saas-the-sidebar-shell-every-page-shares</loc>
    <lastmod>2026-10-14T05:15:04.270Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/your-dashboard-numbers-should-be-four-count-queries-the-metrics-endpoint-i-ship-with-every-kit</loc>
    <lastmod>2026-10-14T05:13:33.621Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/validate-strangers-and-returning-users-differently-my-register-vs-login-requests</loc>
    <lastmod>2026-10-12T21:56:39.155Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/your-api-should-never-return-the-model-what-userresource-keeps-out-of-my-responses</loc>
    <lastmod>2026-10-12T21:55:30.836Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/ship-a-clickable-demo-with-no-backend-the-in-memory-api-seam-behind-my-axios-client</loc>
    <lastmod>2026-10-12T21:52:54.432Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/one-env-var-between-vite-and-laravel-how-i-wire-the-react-dev-server-to-the-api</loc>
    <lastmod>2026-10-12T10:15:41.326Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/your-admin-api-needs-a-self-destruct-guard-why-i-block-admins-from-deleting-their-own-account</loc>
    <lastmod>2026-10-12T10:14:21.096Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/paginate-15-on-day-one-search-on-day-thirty-what-my-admin-users-table-actually-ships</loc>
    <lastmod>2026-10-12T10:12:56.795Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/role-based-access-with-one-reusable-middleware-and-a-frontend-guard-to-match</loc>
    <lastmod>2026-10-11T08:41:10.361Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/one-axios-client-for-every-api-call-bearer-injection-and-401-auto-logout</loc>
    <lastmod>2026-10-11T08:39:51.910Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/your-saas-should-survive-a-page-refresh-how-session-restore-actually-works</loc>
    <lastmod>2026-10-11T08:38:39.988Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/10-feature-tests-that-keep-my-auth-flow-honest</loc>
    <lastmod>2026-10-10T05:20:19.039Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/your-saas-demo-should-boot-in-five-minutes-the-zero-config-setup-i-ship-with-every-kit</loc>
    <lastmod>2026-10-10T05:18:48.450Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/archive</loc>
    <lastmod>2026-10-19T05:23:33.540Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://kamrankhandev.hashnode.dev/recommendations</loc>
    <lastmod>2026-10-19T05:23:33.540Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.4</priority>
  </url>
</urlset>