<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
<url>
<loc>https://ashishsrivastav.com/</loc>
<lastmod>2026-08-25T10:08:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/about</loc>
<lastmod>2026-07-28T18:45:33.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/projects</loc>
<lastmod>2026-07-28T18:45:33.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tags</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/llms.txt</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.3</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/series</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/2</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/3</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/4</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/5</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/6</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/7</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/8</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/9</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/10</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/11</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/12</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/13</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/14</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/15</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/16</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/17</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/18</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/19</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/20</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/21</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/22</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/23</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/24</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/25</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/26</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/27</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/28</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/29</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/page/30</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/calling-mtls-services-restclient-webclient</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Calling%20mTLS%20Services%20With%20RestClient%20and%20WebClient</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/calling-mtls-services-restclient-webclient/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/designing-an-attribute-model</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Designing%20an%20Attribute%20Model%20for%20ABAC</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/designing-an-attribute-model/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-27T08:26:39.246Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/sglang-radixattention-explained</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=SGLang's%20RadixAttention%2C%20Explained</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/sglang-radixattention-explained/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-27T08:26:13.312Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/llm-load-test-real-traffic</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20an%20LLM%20Load%20Test%20That%20Reflects%20Real%20Traffic</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/llm-load-test-real-traffic/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-27T08:26:05.081Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/unsloth-fine-tuning-faster-single-gpu</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Unsloth%3A%20Fine-Tuning%202x%20Faster%20on%20One%20GPU</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/unsloth-fine-tuning-faster-single-gpu/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-27T06:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/jailbreak-detection-classifiers-heuristics-cost</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Jailbreak%20Detection%3A%20Classifiers%2C%20Heuristics%2C%20and%20Cost</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/09/jailbreak-detection-classifiers-heuristics-cost/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-27T05:29:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/pii-redaction-layer-llm-logs</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20a%20PII%20Redaction%20Layer%20for%20LLM%20Logs</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/09/pii-redaction-layer-llm-logs/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-27T02:33:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/owasp-top-10-llm-applications-applied</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OWASP%20Top%2010%20for%20LLM%20Applications%2C%20Applied</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/09/owasp-top-10-llm-applications-applied/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-26T23:37:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/shadow-traffic-llm-deployments</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Shadow%20Traffic%20for%20LLM%20Deployments</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/09/shadow-traffic-llm-deployments/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-26T20:41:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/acr-values-amr-authentication-strength</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=acr_values%20and%20amr%3A%20Requesting%20Authentication%20Strength</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/acr-values-amr-authentication-strength/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-26T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/zero-downtime-model-rollouts</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Zero-Downtime%20Model%20Rollouts%3A%20Strategies%20for%20Continuous%20ML%20Availability</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/09/zero-downtime-model-rollouts/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-26T17:45:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/kubernetes-gpu-scheduling-sharing-mig</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Kubernetes%20GPU%20Management%3A%20Beyond%20Passthrough</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/09/kubernetes-gpu-scheduling-sharing-mig/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-26T14:49:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/estimating-llm-costs-before-you-build</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Estimating%20LLM%20Costs%20Before%20You%20Build</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/09/estimating-llm-costs-before-you-build/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-26T11:53:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/multi-provider-failover-litellm</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Multi-Provider%20Failover%20with%20LiteLLM</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/09/multi-provider-failover-litellm/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-26T08:57:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/prompt-caching-across-providers</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Prompt%20Caching%20Across%20Providers%3A%20A%20Practical%20Comparison</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/09/prompt-caching-across-providers/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-26T06:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/statistical-significance-llm-evals</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Statistical%20Significance%20in%20LLM%20Evals</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/statistical-significance-llm-evals/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-26T03:04:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/ragas-deepeval-trulens-compared</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Ragas%2C%20DeepEval%2C%20and%20TruLens%20Compared</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/ragas-deepeval-trulens-compared/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-26T00:08:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/building-eval-harness-promptfoo</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20an%20Eval%20Harness%20with%20promptfoo</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/building-eval-harness-promptfoo/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-25T21:12:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oidc-dynamic-client-registration-rfc-7591</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OIDC%20Dynamic%20Client%20Registration%20(RFC%207591)</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/oidc-dynamic-client-registration-rfc-7591/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-25T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/model-merging-slerp-ties-dare</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Model%20Merging%3A%20SLERP%2C%20TIES%2C%20and%20DARE</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/model-merging-slerp-ties-dare/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-25T18:16:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/continued-pretraining-domain-adaptation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Continued%20Pretraining%20for%20Domain%20Adaptation</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/continued-pretraining-domain-adaptation/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-25T15:20:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/function-calling-fine-tune-small-model</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Function-Calling%20Fine-Tunes%3A%20Teaching%20a%20Small%20Model%20Your%20Tools</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/function-calling-fine-tune-small-model/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-25T12:24:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/catastrophic-forgetting-diagnose-prevent</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Catastrophic%20Forgetting%3A%20Diagnosing%20and%20Preventing%20It</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/catastrophic-forgetting-diagnose-prevent/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-25T09:28:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/axolotl-configs-explained-line-by-line</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Axolotl%20Configs%20Explained%20Line%20by%20Line</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/axolotl-configs-explained-line-by-line/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-25T06:32:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/streaming-agent-progress-to-ui</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Streaming%20Agent%20Progress%20to%20a%20UI%20Without%20Losing%20Your%20Mind</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/streaming-agent-progress-to-ui/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-25T00:39:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/durable-execution-agents-temporal</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Durable%20Execution%20for%20Agents%20with%20Temporal</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/durable-execution-agents-temporal/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-24T21:43:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/comparing-open-source-ldap-solutions</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Comparing%20Open-Source%20LDAP%20Solutions%3A%20OpenLDAP%2C%20389%20DS%2C%20and%20FreeIPA</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/comparing-open-source-ldap-solutions/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-24T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/langgraph-crewai-pydantic-ai-raw-sdk</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=LangGraph%20vs%20CrewAI%20vs%20Pydantic%20AI%20vs%20Raw%20SDK</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/langgraph-crewai-pydantic-ai-raw-sdk/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-24T18:47:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/evaluating-tool-calling-accuracy</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Evaluating%20Tool-Calling%20Accuracy</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/evaluating-tool-calling-accuracy/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-24T15:51:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/coding-agents-how-they-edit-code</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Coding%20Agents%3A%20How%20They%20Actually%20Edit%20Code</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/coding-agents-how-they-edit-code/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-24T12:55:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/computer-use-agents-architecture-limits</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Computer-Use%20Agents%3A%20Architecture%20and%20Limits</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/computer-use-agents-architecture-limits/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-24T09:59:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/building-deep-research-agent</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20a%20Deep%20Research%20Agent%3A%20Multi-Agent%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/building-deep-research-agent/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-24T07:03:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/agent-observability-what-to-log</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Agent%20Observability%3A%20What%20to%20Log%20at%20Every%20Step</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/agent-observability-what-to-log/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-24T04:07:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/why-agents-loop-forever-five-fixes</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Why%20Your%20Agent%20Loops%20Forever%20(and%20Five%20Fixes)</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/why-agents-loop-forever-five-fixes/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-24T01:10:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/cost-control-agent-loops</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Cost%20Control%20for%20Agent%20Loops%3A%20Budgets%20%26%20Kill%20Switches</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/cost-control-agent-loops/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-23T22:14:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/agent-sandboxing-untrusted-code</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Agent%20Sandboxing%3A%20Running%20Untrusted%20Tool%20Code%20Safely</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/agent-sandboxing-untrusted-code/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-23T19:18:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/identity-broker-vs-identity-provider</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Identity%20Broker%20vs%20Identity%20Provider%3A%20Architectural%20Distinctions</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/identity-broker-vs-identity-provider/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-23T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/mcp-server-for-internal-api</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20an%20MCP%20Server%20for%20Your%20Internal%20API</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/mcp-server-for-internal-api/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-23T16:22:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/text-to-sql-over-real-schemas</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Text-to-SQL%20Over%20Real%20Schemas%3A%20Linking%2C%20Validation%2C%20and%20Correction</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/text-to-sql-over-real-schemas/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-23T13:26:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/incremental-indexing-vector-store-fresh</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Incremental%20Indexing%3A%20Keeping%20Your%20Vector%20Store%20Fresh</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/incremental-indexing-vector-store-fresh/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-23T10:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/caching-strategies-rag-pipelines</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Caching%20Strategies%20for%20RAG%20Pipelines</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/caching-strategies-rag-pipelines/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-23T07:34:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/rag-hallucination-detection-groundedness</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=RAG%20Hallucination%20Detection%20with%20Groundedness%20Scoring</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/rag-hallucination-detection-groundedness/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-23T04:38:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/citation-system-users-trust</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20a%20Citation%20System%20Users%20Actually%20Trust</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/citation-system-users-trust/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-23T01:42:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/contextual-retrieval-chunk-prefixing</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Contextual%20Retrieval%3A%20Chunk%20Prefixing%2C%20Implemented</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/contextual-retrieval-chunk-prefixing/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-22T22:45:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/hyde-query-expansion-do-they-help</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=HyDE%20and%20Query%20Expansion%3A%20Do%20They%20Still%20Help%3F</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/hyde-query-expansion-do-they-help/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-22T19:49:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/ciam-vs-workforce-identity-management</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=CIAM%20vs%20Workforce%20Identity%20Management%3A%20Architectural%20Divergence</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/ciam-vs-workforce-identity-management/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-22T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/query-rewriting-underrated-rag-upgrade</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Query%20Rewriting%3A%20The%20Underrated%20RAG%20Upgrade</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/query-rewriting-underrated-rag-upgrade/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-22T16:53:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/pgvector-100-million-vectors-lessons</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=pgvector%20at%20100%20Million%20Vectors%3A%20Lessons%20Learned</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/pgvector-100-million-vectors-lessons/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-22T13:57:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/chunking-pdfs-tables-columns-scans</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Chunking%20Complex%20PDFs%3A%20Tables%2C%20Columns%20%26%20Scans</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/chunking-pdfs-tables-columns-scans/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-22T11:01:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/fine-tuning-embedding-model-domain-retrieval</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Fine-Tuning%20an%20Embedding%20Model%20for%20Domain%20Retrieval</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/fine-tuning-embedding-model-domain-retrieval/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-22T08:05:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/batch-apis-cutting-costs-async-workloads</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Batch%20APIs%3A%20Cutting%20Costs%20in%20Half%20for%20Async%20Workloads</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/batch-apis-cutting-costs-async-workloads/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-22T05:09:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/function-calling-vs-structured-output</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Function%20Calling%20vs%20Structured%20Output%3A%20Choosing%20an%20Interface</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/function-calling-vs-structured-output/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-22T02:13:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/getting-reliable-json-out-of-any-model</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Getting%20Reliable%20JSON%20Out%20of%20Any%20Model</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/getting-reliable-json-out-of-any-model/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-21T23:17:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/cold-starts-serverless-gpu-inference</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Cold%20Starts%20in%20Serverless%20GPU%20Inference%20and%20How%20to%20Kill%20Them</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/cold-starts-serverless-gpu-inference/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-21T20:21:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/building-your-own-idp-what-it-costs</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20Your%20Own%20Identity%20Provider%3A%20What%20It%20Really%20Costs</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/building-your-own-idp-what-it-costs/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-21T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/cpu-inference-2026-what-is-viable</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=CPU%20Inference%20in%202026%3A%20What's%20Actually%20Viable</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/cpu-inference-2026-what-is-viable/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-21T17:24:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/inference-apple-silicon-mlx</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Inference%20on%20Apple%20Silicon%20with%20MLX</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/inference-apple-silicon-mlx/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-21T14:28:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/llm-inference-amd-mi300x-field-report</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Running%20LLM%20Inference%20on%20AMD%20MI300X%3A%20A%20Field%20Report</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/llm-inference-amd-mi300x-field-report/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-21T11:32:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/pagedattention-vs-radixattention</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=PagedAttention%20vs%20RadixAttention%3A%20Solving%20KV%20Cache%20Fragmentation%20and%20Redundancy</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/pagedattention-vs-radixattention/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-21T08:36:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/chunked-prefill-tail-latency</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Chunked%20Prefill%3A%20Smoothing%20Out%20Your%20Tail%20Latency</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/chunked-prefill-tail-latency/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-21T05:40:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/continuous-batching-illustrated</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Continuous%20Batching%2C%20Illustrated</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/continuous-batching-illustrated/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-21T02:44:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/flashattention-3-what-changed</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=FlashAttention%203%3A%20What%20Changed%20and%20What%20It%20Buys%20You</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/flashattention-3-what-changed/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-20T23:48:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/medusa-eagle-lookahead-decoding-compared</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Medusa%2C%20EAGLE%2C%20and%20Lookahead%20Decoding%20Compared</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/medusa-eagle-lookahead-decoding-compared/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-20T20:52:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/cors-configuration-that-doesnt-break-auth</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=CORS%20Configuration%20That%20Doesn't%20Break%20Your%20Auth</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/cors-configuration-that-doesnt-break-auth/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-20T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/speculative-decoding-2x-throughput</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Speculative%20Decoding%3A%202x%20Throughput%20for%20Free%3F</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/speculative-decoding-2x-throughput/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-20T17:56:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/streaming-tokens-sse-websockets-guide</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Streaming%20Tokens%20Over%20SSE%20and%20WebSockets%3A%20A%20Practical%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/streaming-tokens-sse-websockets-guide/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-20T14:59:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tensorrt-llm-when-complexity-pays-off</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=TensorRT-LLM%3A%20When%20the%20Extra%20Build%20Complexity%20Pays%20Off</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/tensorrt-llm-when-complexity-pays-off/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-20T12:03:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/ollama-vs-vllm-vs-llamacpp-runtime-comparison</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Ollama%20vs%20vLLM%20vs%20llama.cpp%3A%20Picking%20the%20Right%20Runtime</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/ollama-vs-vllm-vs-llamacpp-runtime-comparison/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-20T09:07:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/run-first-open-weights-model-locally-ollama</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Run%20Your%20First%20Open-Weights%20Model%20Locally%20with%20Ollama</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/run-first-open-weights-model-locally-ollama/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-20T06:11:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/scaling-laws-what-they-predict</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Scaling%20Laws%20and%20What%20They%20Predict</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/scaling-laws-what-they-predict/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-20T03:15:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tokenization-bpe-unigram-why-it-breaks</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Tokenization%3A%20BPE%2C%20Unigram%2C%20and%20Why%20It%20Breaks</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/tokenization-bpe-unigram-why-it-breaks/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-20T00:19:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/feed-forward-network-key-value-memory</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=FFN%20as%20Key-Value%20Memory%20%7C%20Transformers%20Under%20the%20Hood</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/feed-forward-network-key-value-memory/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-19T21:23:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/shibboleth-idp-configuration-for-engineers</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Shibboleth%20IdP%20Configuration%20for%20Engineers</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/shibboleth-idp-configuration-for-engineers/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-19T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/normalization-residual-streams</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Normalization%20and%20Residual%20Streams%3A%20Stabilizing%20Transformer%20Training</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/normalization-residual-streams/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-19T18:27:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/positional-encodings-sinusoidal-rope-alibi</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Positional%20Encodings%3A%20Sinusoidal%2C%20RoPE%2C%20and%20ALiBi</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/positional-encodings-sinusoidal-rope-alibi/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-19T15:31:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/mha-gqa-mla-attention-variants</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Multi-Head%2C%20Grouped-Query%2C%20and%20Multi-Head%20Latent%20Attention</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/mha-gqa-mla-attention-variants/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-19T12:34:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/attention-derived-first-principles</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Attention%2C%20Derived%20From%20First%20Principles</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/attention-derived-first-principles/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-19T09:38:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/red-teaming-llm-application</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Red-Teaming%20LLM%20Applications%3A%20A%20Practical%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/red-teaming-llm-application/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-19T06:42:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/pii-detection-redaction-llm-pipelines</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=PII%20Detection%20and%20Redaction%20in%20LLM%20Pipelines</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/pii-detection-redaction-llm-pipelines/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-19T03:46:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/input-output-guardrails-in-practice</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Input%20and%20Output%20Guardrails%20in%20Practice</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/input-output-guardrails-in-practice/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-19T00:50:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/prompt-injection-direct-indirect-unsolved</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Prompt%20Injection%3A%20Direct%2C%20Indirect%2C%20and%20Why%20It's%20Unsolved</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/prompt-injection-direct-indirect-unsolved/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-18T21:54:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/test-saml-idp-simplesamlphp</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Setting%20Up%20a%20Test%20SAML%20IdP%20With%20SimpleSAMLphp</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/test-saml-idp-simplesamlphp/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-18T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/llm-threat-model</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=The%20LLM%20Threat%20Model%3A%20Trust%20Boundaries%20%26%20AppSec%20Strategies</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/llm-threat-model/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-18T18:58:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/long-context-vs-retrieval-comparison</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Long-Context%20Models%20vs%20Retrieval%3A%20An%20Honest%20Comparison</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/long-context-vs-retrieval-comparison/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-18T16:02:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/structured-context-schemas-xml-delimiters</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Structured%20Context%3A%20XML%20Tags%2C%20and%20Delimiters</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/structured-context-schemas-xml-delimiters/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-18T13:06:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/context-compaction-summaries-scratchpads-handoffs</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Context%20Compaction%3A%20Summaries%2C%20Scratchpads%2C%20and%20Handoffs</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/context-compaction-summaries-scratchpads-handoffs/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-18T10:09:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/lost-in-the-middle-problem-workarounds</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=The%20Lost-in-the-Middle%20Problem%20and%20How%20to%20Route%20Around%20It</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/lost-in-the-middle-problem-workarounds/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-18T07:13:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/context-engineering-new-prompt-engineering</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Context%20Engineering%20Is%20the%20New%20Prompt%20Engineering</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/context-engineering-new-prompt-engineering/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-18T04:17:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/incident-response-ai-systems</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Incident%20Response%20for%20AI%20Systems</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/incident-response-ai-systems/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-18T01:21:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/token-budgets-quotas-chargeback</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Token%20Budgets%2C%20Quotas%20%26%20Chargeback%20%7C%20LLMOps</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/token-budgets-quotas-chargeback/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-17T22:25:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/model-gateways-multi-provider-routing</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Model%20Gateways%20and%20Multi-Provider%20Routing</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/model-gateways-multi-provider-routing/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-17T19:29:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/saml-metadata-exchange-trust-establishment</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=SAML%20Metadata%20Exchange%20and%20Trust%20Establishment</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/saml-metadata-exchange-trust-establishment/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-17T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/rate-limits-retries-graceful-degradation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Rate%20Limits%2C%20Retries%2C%20and%20Graceful%20Degradation</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/rate-limits-retries-graceful-degradation/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-17T16:33:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/semantic-caching-that-saves-money</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Semantic%20Caching%20That%20Actually%20Saves%20Money</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/semantic-caching-that-saves-money/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-17T13:37:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tracing-llm-calls-opentelemetry</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Tracing%20LLM%20Calls%20with%20OpenTelemetry</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/tracing-llm-calls-opentelemetry/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-17T10:41:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/prompt-management-versioning-rollback</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Prompt%20Management%2C%20Versioning%2C%20and%20Rollback</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/prompt-management-versioning-rollback/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-17T07:45:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/reference-architecture-llm-application</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=The%20Reference%20Architecture%20for%20an%20LLM%20Application</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/reference-architecture-llm-application/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-17T04:48:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/regression-testing-prompts-models</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Regression%20Testing%20for%20Prompts%20and%20Models</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/regression-testing-prompts-models/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-17T01:52:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/task-specific-metrics-rag-agents-extraction</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Task-Specific%20Metrics%20for%20RAG%2C%20Agents%2C%20and%20Extraction</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/task-specific-metrics-rag-agents-extraction/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-16T22:56:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/llm-as-a-judge-making-it-reliable</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=LLM-as-a-Judge%3A%20Making%20It%20Reliable</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/llm-as-a-judge-making-it-reliable/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-16T20:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/spring-security-saml-working-integration</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Spring%20Security%20SAML%3A%20A%20Working%20Integration</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/spring-security-saml-working-integration/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-16T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/golden-dataset-from-production-traffic</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20a%20Golden%20Dataset%20From%20Production%20Traffic</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/golden-dataset-from-production-traffic/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-16T17:04:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/why-your-eval-suite-is-lying</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Why%20Your%20Eval%20Suite%20Is%20Lying%20to%20You</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/why-your-eval-suite-is-lying/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-16T14:08:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/router-architectures-small-first-escalation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Router%20Architectures%3A%20Small%20Model%20First%2C%20Big%20Model%20on%20Escalation</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/router-architectures-small-first-escalation/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-16T11:12:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/on-device-inference-gguf-mlx-onnx</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=On-Device%20Inference%20with%20GGUF%2C%20MLX%2C%20and%20ONNX%20Runtime</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/on-device-inference-gguf-mlx-onnx/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-16T08:16:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/pruning-sparsity-for-inference</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Pruning%20and%20Sparsity%20for%20Inference</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/pruning-sparsity-for-inference/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-16T05:20:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/knowledge-distillation-logits-sequences-rationales</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Knowledge%20Distillation%3A%20Logits%2C%20Sequences%2C%20and%20Rationales</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/knowledge-distillation-logits-sequences-rationales/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-16T02:23:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/small-language-models-winning-real-workloads</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Why%20Small%20Language%20Models%20Are%20Winning%20Real%20Workloads</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/small-language-models-winning-real-workloads/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-15T23:27:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/dataset-versioning-lineage</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Dataset%20Versioning%20and%20Lineage%20with%20DVC</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/dataset-versioning-lineage/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-15T20:31:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/cas-vs-saml-choosing-between-them</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=CAS%20vs%20SAML%3A%20Choosing%20Between%20Them</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/cas-vs-saml-choosing-between-them/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-15T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/annotation-pipelines-inter-rater-agreement</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Annotation%20Pipelines%20and%20Inter-Rater%20Agreement</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/annotation-pipelines-inter-rater-agreement/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-15T17:35:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/deduplication-decontamination-leakage</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Deduplication%2C%20Decontamination%2C%20and%20Leakage</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/deduplication-decontamination-leakage/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-15T14:39:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/synthetic-data-generation-without-collapse</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Synthetic%20Data%20Generation%20That%20Doesn't%20Collapse</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/synthetic-data-generation-without-collapse/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-15T11:43:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/data-quality-beats-quantity-evidence</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Data%20Quality%20Beats%20Data%20Quantity%3A%20The%20Evidence</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/data-quality-beats-quantity-evidence/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-15T08:47:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/reasoning-models-long-cot-training</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Reasoning%20Models%3A%20How%20Long-CoT%20Training%20Works</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/reasoning-models-long-cot-training/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-15T05:51:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/reward-hacking-how-to-catch-it</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Reward%20Hacking%20and%20How%20to%20Catch%20It</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/reward-hacking-how-to-catch-it/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-15T02:55:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/grpo-verifiable-rewards</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=GRPO%20and%20the%20Rise%20of%20Verifiable%20Rewards</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/grpo-verifiable-rewards/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-14T23:58:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/dpo-preference-optimization-without-reward-model</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=DPO%3A%20Preference%20Optimization%20Without%20a%20Reward%20Model</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/dpo-preference-optimization-without-reward-model/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-14T21:02:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/non-human-identity-governance-agents</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Non-Human%20Identity%20Governance%20for%20Agents</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/non-human-identity-governance-agents/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-14T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/rlhf-step-by-step</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=RLHF%2C%20Step%20by%20Step</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/rlhf-step-by-step/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-14T18:06:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/post-training-stack-sft-reward-models-rl</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=The%20Post-Training%20Stack%3A%20SFT%2C%20Reward%20Models%2C%20and%20RL</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/post-training-stack-sft-reward-models-rl/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-14T15:10:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/merging-exporting-serving-lora-adapter</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Merging%2C%20Exporting%2C%20and%20Serving%20Your%20Adapter</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/merging-exporting-serving-lora-adapter/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-14T12:14:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/evaluating-fine-tune-against-base-model</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Evaluating%20a%20Fine-Tune%20Against%20the%20Base%20Model</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/evaluating-fine-tune-against-base-model/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-14T09:18:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/fine-tuning-hyperparameters-that-matter</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Hyperparameters%20That%20Actually%20Matter</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/fine-tuning-hyperparameters-that-matter/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-14T06:22:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/building-supervised-fine-tuning-dataset</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20a%20Supervised%20Fine-Tuning%20Dataset</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/building-supervised-fine-tuning-dataset/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-14T03:26:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/qlora-fine-tuning-70b-single-gpu</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=QLoRA%3A%20Fine-Tuning%20a%2070B%20on%20One%20GPU</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/qlora-fine-tuning-70b-single-gpu/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-14T00:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/lora-explained-rank-by-rank</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=LoRA%20Explained%3A%20Rank%20by%20Rank%20Guide%20for%20ML%20Engineers</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/lora-explained-rank-by-rank/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-13T21:34:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/detecting-account-takeover-credential-stuffing</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Detecting%20Account%20Takeover%20and%20Credential%20Stuffing</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/detecting-account-takeover-credential-stuffing/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-13T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/full-fine-tuning-vs-peft-memory-math</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Full%20Fine-Tuning%20vs%20PEFT%3A%20The%20Memory%20Math</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/full-fine-tuning-vs-peft-memory-math/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-13T18:37:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/should-you-fine-tune-decision-framework</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Should%20You%20Fine-Tune%3F%20A%20Decision%20Framework</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/should-you-fine-tune-decision-framework/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-13T15:41:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/measuring-retrieval-quality-recall-ndcg-mrr</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Measuring%20Retrieval%20Quality%3A%20Recall%40k%2C%20nDCG%2C%20and%20MRR</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/measuring-retrieval-quality-recall-ndcg-mrr/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-13T12:45:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/multimodal-retrieval-images-tables-pdfs</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Multimodal%20Retrieval%3A%20Images%2C%20Tables%2C%20and%20PDFs</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/multimodal-retrieval-images-tables-pdfs/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-13T09:49:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/metadata-filtering-vector-search-scale</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Metadata%20Filtering%20at%20Scale%3A%20Vector%20Search</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/metadata-filtering-vector-search-scale/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-13T06:53:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/late-interaction-retrieval-colbert-colpali</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Late%20Interaction%20Retrieval%20with%20ColBERT%20and%20ColPali</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/late-interaction-retrieval-colbert-colpali/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-13T03:57:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/ann-indexes-hnsw-ivf-diskann-compared</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=ANN%20Indexes%3A%20HNSW%2C%20IVF%2C%20and%20DiskANN%20Compared</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/ann-indexes-hnsw-ivf-diskann-compared/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-13T01:01:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/how-embeddings-encode-meaning</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=How%20Embeddings%20Encode%20Meaning</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/how-embeddings-encode-meaning/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-12T22:05:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/agent-memory-forgetting-decay-consolidation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Forgetting%20on%20Purpose%3A%20Decay%2C%20Conflict%2C%20and%20Consolidation</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/agent-memory-forgetting-decay-consolidation/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-12T19:09:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/knowledge-graphs-agent-memory</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Knowledge%20Graphs%20as%20Agent%20Memory</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/knowledge-graphs-agent-memory/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-12T16:12:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/long-term-memory-episodic-semantic-procedural</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Long-Term%20Memory%3A%20Episodic%2C%20Semantic%2C%20and%20Procedural</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/long-term-memory-episodic-semantic-procedural/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-12T13:16:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/agent-short-term-memory-summarization-compaction</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Short-Term%20Memory%3A%20Summarization%20and%20Compaction</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/agent-short-term-memory-summarization-compaction/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-12T10:20:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/agent-memory-vs-context</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Agent%20Memory%20vs%20Context%3A%20Drawing%20the%20Line</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/agent-memory-vs-context/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-12T07:24:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/running-mcp-servers-production</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Running%20MCP%20Servers%20in%20Production</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/running-mcp-servers-production/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-12T04:28:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/mcp-authentication-authorization</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Authentication%20and%20Authorization%20for%20MCP%20Servers</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/mcp-authentication-authorization/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-12T01:32:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/mcp-transport-stdio-http-streamable</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=MCP%20Transport%20Layers%3A%20stdio%2C%20HTTP%2C%20and%20Streamable%20HTTP</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/mcp-transport-stdio-http-streamable/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-11T22:36:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/mcp-tools-resources-prompts-primitives</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Tools%2C%20Resources%2C%20and%20Prompts%3A%20The%20Three%20MCP%20Primitives</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/mcp-tools-resources-prompts-primitives/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-11T19:40:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/identity-analytics-algorithms-that-work</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Identity%20Analytics%3A%20Which%20Algorithms%20Actually%20Work</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/identity-analytics-algorithms-that-work/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-11T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/building-first-mcp-server-python</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20Your%20First%20MCP%20Server%20in%20Python</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/building-first-mcp-server-python/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-11T16:44:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/testing-debugging-nondeterministic-agents</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Testing%20and%20Debugging%20Non-Deterministic%20Agents</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/testing-debugging-nondeterministic-agents/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-11T13:47:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/human-in-the-loop-approvals-safe-side-effects</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Human-in-the-Loop%2C%20Approvals%2C%20and%20Safe%20Side%20Effects</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/human-in-the-loop-approvals-safe-side-effects/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-11T10:51:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/multi-agent-orchestrator-handoff-swarm</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Multi-Agent%20Systems%3A%20Orchestrator%2C%20Handoff%2C%20and%20Swarm</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/multi-agent-orchestrator-handoff-swarm/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-11T07:55:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/state-machines-graphs-agent-control-flow</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=State%20Machines%20and%20Graphs%20for%20Agent%20Control%20Flow</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/state-machines-graphs-agent-control-flow/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-11T04:59:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/designing-tools-llm-can-use</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Designing%20Tools%20an%20LLM%20Can%20Actually%20Use</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/designing-tools-llm-can-use/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-11T02:03:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tool-calling-loop-from-scratch</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=The%20Tool-Calling%20Loop%2C%20Implemented%20From%20Scratch</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/tool-calling-loop-from-scratch/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-10T23:07:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/what-makes-a-program-an-agent</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=What%20Makes%20a%20Program%20an%20Agent%3F%20%7C%20AI%20Arch</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/what-makes-a-program-an-agent/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-10T20:11:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/threat-model-ai-agent-identity</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=The%20Threat%20Model%20for%20AI%20Agent%20Identity</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/threat-model-ai-agent-identity/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-10T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/evaluating-agentic-rag-systems</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Evaluating%20Agentic%20RAG%3A%20Trajectory%2C%20Ragas%20%26%20Metrics</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/evaluating-agentic-rag-systems/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-10T17:15:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/multi-hop-retrieval-latency-control</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Multi-Hop%20Retrieval%20Without%20Runaway%20Latency</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/multi-hop-retrieval-latency-control/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-10T14:19:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/graphrag-when-relationships-beat-similarity</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=GraphRAG%3A%20When%20Relationships%20Beat%20Similarity</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/graphrag-when-relationships-beat-similarity/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-10T11:22:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/self-correcting-rag-reflection-retry</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Self-Correcting%20RAG%3A%20Reflection%20and%20Retry%20Loops</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/self-correcting-rag-reflection-retry/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-10T08:26:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/query-planning-decomposition-rag</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Query%20Planning%20and%20Decomposition%20in%20Agentic%20RAG</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/query-planning-decomposition-rag/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-10T05:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/static-pipelines-to-agentic-retrieval</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Agentic%20RAG%3A%20From%20Static%20Pipelines%20to%20Adaptive%20Retrieval</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/static-pipelines-to-agentic-retrieval/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-10T02:34:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/shipping-rag-monitoring-freshness-feedback</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Shipping%20RAG%3A%20Monitoring%2C%20Freshness%2C%20and%20Feedback%20Loops</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/shipping-rag-monitoring-freshness-feedback/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-09T23:38:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/prompt-assembly-citations-grounding</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Prompt%20Assembly%2C%20Citations%2C%20and%20Grounding</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/prompt-assembly-citations-grounding/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-09T20:42:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/risk-based-authentication-ml-scoring</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Risk-Based%20Authentication%20With%20ML%20Scoring</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/risk-based-authentication-ml-scoring/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-09T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/reranking-cheapest-quality-win-rag</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Reranking%3A%20The%20Cheapest%20Quality%20Win%20in%20RAG</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/reranking-cheapest-quality-win-rag/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-09T17:46:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/hybrid-search-bm25-dense-retrieval</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Hybrid%20Search%3A%20Combining%20BM25%20and%20Dense%20Retrieval</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/hybrid-search-bm25-dense-retrieval/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-09T14:50:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/vector-databases-compared-pgvector-qdrant-milvus-lancedb</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Vector%20DB%20Comparison%3A%20pgvector%2C%20Qdrant%2C%20Milvus%2C%20LanceDB</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/vector-databases-compared-pgvector-qdrant-milvus-lancedb/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-09T11:54:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/choosing-embedding-model-2026</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Choosing%20an%20Embedding%20Model%20in%202026</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/choosing-embedding-model-2026/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-09T08:58:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/chunking-strategies-real-documents</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Chunking%20Strategies%20That%20Survive%20Real%20Documents</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/chunking-strategies-real-documents/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-09T06:01:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/autoscaling-llm-workloads-cold-start</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Autoscaling%20LLM%20Workloads%20Without%20Cold-Start%20Pain</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/autoscaling-llm-workloads-cold-start/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-09T03:05:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/multi-node-inference-ray-kubernetes</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Multi-Node%20Inference%20with%20Ray%20and%20Kubernetes</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/multi-node-inference-ray-kubernetes/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-09T00:09:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/disaggregated-prefill-decode-serving</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Disaggregated%20Prefill%20%26%20Decode%3A%20Optimizing%20LLM%20Serving</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/disaggregated-prefill-decode-serving/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-08T21:13:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/token-revocation-and-introspection</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Token%20Revocation%20and%20Introspection</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/token-revocation-and-introspection/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-08T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/expert-parallelism-all-to-all-bottleneck</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Expert%20Parallelism%20and%20the%20All-to-All%20Bottleneck</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/expert-parallelism-all-to-all-bottleneck/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-08T18:17:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/mixture-of-experts-serving-math</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=How%20Mixture-of-Experts%20Changes%20Your%20Serving%20Math</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/mixture-of-experts-serving-math/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-08T15:21:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tensor-pipeline-expert-parallelism-compared</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Tensor%2C%20Pipeline%2C%20and%20Expert%20Parallelism%20Compared</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/tensor-pipeline-expert-parallelism-compared/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-08T12:25:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/self-hosting-vs-api-llm-decision</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=When%20Self-Hosting%20Beats%20an%20API%20(and%20When%20It%20Doesn't)</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/self-hosting-vs-api-llm-decision/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-08T09:29:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/spot-reserved-serverless-gpu-capacity-strategy</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Spot%2C%20Reserved%2C%20or%20Serverless%20GPUs%3A%20Picking%20a%20Capacity%20Strategy</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/spot-reserved-serverless-gpu-capacity-strategy/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-08T06:33:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/cost-per-million-tokens-honest-model</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Cost%20per%20Million%20Tokens%3A%20Building%20an%20Honest%20Model</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/cost-per-million-tokens-honest-model/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-08T03:36:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/roofline-analysis-llm-serving</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Roofline%20Analysis%20for%20LLM%20Serving</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/roofline-analysis-llm-serving/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-08T00:40:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/reading-gpu-spec-sheet-flops-bandwidth</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Reading%20a%20GPU%20Spec%20Sheet%3A%20FLOPs%2C%20Bandwidth%2C%20and%20What%20Binds%20You</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/reading-gpu-spec-sheet-flops-bandwidth/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-07T21:44:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/single-logout-vs-universal-logout</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Single%20Logout%20vs%20Universal%20Logout</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/single-logout-vs-universal-logout/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-07T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/deploying-quantized-model-end-to-end</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Deploying%20a%20Quantized%20Model%20End%20to%20End</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/deploying-quantized-model-end-to-end/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-07T18:48:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/measuring-quantization-damage-beyond-perplexity</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Measuring%20Quantization%20Damage%3A%20Perplexity%20Isn't%20Enough</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/measuring-quantization-damage-beyond-perplexity/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-07T15:52:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/kv-cache-quantization-quality</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Quantizing%20the%20KV%20Cache%20Without%20Wrecking%20Quality</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/kv-cache-quantization-quality/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-07T12:56:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/gptq-vs-awq-vs-bitsandbytes-comparison</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=GPTQ%20vs%20AWQ%20vs%20Bitsandbytes%3A%20A%20Practical%20Comparison</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/gptq-vs-awq-vs-bitsandbytes-comparison/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-07T10:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/int8-fp8-int4-choosing-quantization-format</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=INT8%2C%20FP8%2C%20and%20INT4%3A%20Choosing%20a%20Format%20for%20Your%20Hardware</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/int8-fp8-int4-choosing-quantization-format/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-07T07:04:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/why-quantization-works-precision-range-outliers</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Why%20Quantization%20Works%3A%20Precision%2C%20Range%2C%20and%20Outliers</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/why-quantization-works-precision-range-outliers/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-07T04:08:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/benchmarking-load-testing-vllm-deployment</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Benchmarking%20and%20Load-Testing%20a%20vLLM%20Deployment</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/benchmarking-load-testing-vllm-deployment/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-07T01:11:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/vllm-multi-lora-adapters-serving</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=LoRA%20Adapters%20at%20Serve%20Time%20with%20vLLM%20Multi-LoRA</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/vllm-multi-lora-adapters-serving/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-06T22:15:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/structured-output-guided-decoding-vllm</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Structured%20Output%20and%20Guided%20Decoding%20in%20vLLM</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/structured-output-guided-decoding-vllm/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-06T19:19:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oidc-session-management-front-channel-logout</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OIDC%20Session%20Management%20and%20Front-Channel%20Logout</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/oidc-session-management-front-channel-logout/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-06T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tensor-pipeline-parallelism-vllm</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Tensor%20and%20Pipeline%20Parallelism%20in%20vLLM</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/tensor-pipeline-parallelism-vllm/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-06T16:23:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/prefix-caching-vllm-when-it-wins</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Prefix%20Caching%20in%20vLLM%3A%20When%20It%20Wins%20and%20When%20It%20Doesn't</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/prefix-caching-vllm-when-it-wins/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-06T13:27:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/serve-huggingface-models-vllm-openai-api</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Serving%20Hugging%20Face%20Models%20with%20vLLM's%20OpenAI-Compatible%20API</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/serve-huggingface-models-vllm-openai-api/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-06T07:35:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/vllm-architecture-pagedattention-scheduler</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=vLLM%20Architecture%3A%20PagedAttention%20and%20the%20Scheduler</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/vllm-architecture-pagedattention-scheduler/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-06T04:39:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/first-production-inference-server-walkthrough</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Your%20First%20Production%20Inference%20Server%3A%20A%20Complete%20Walkthrough</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/first-production-inference-server-walkthrough/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-06T01:43:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/sampling-parameters-temperature-top-p-top-k</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Sampling%20Parameters%20Demystified%3A%20Temperature%2C%20Top-p%2C%20and%20Top-k</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/sampling-parameters-temperature-top-p-top-k/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-05T22:47:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/llm-latency-metrics-ttft-tpot-p99</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Latency%20Metrics%20That%20Matter%3A%20TTFT%2C%20TPOT%2C%20and%20p99</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/llm-latency-metrics-ttft-tpot-p99/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-05T19:50:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oidc-back-channel-logout</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OIDC%20Back-Channel%20Logout%3A%20Secure%20Session%20Termination</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/oidc-back-channel-logout/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-05T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/llm-batching-static-dynamic-continuous</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Batching%3A%20Static%2C%20Dynamic%2C%20and%20Continuous</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/llm-batching-static-dynamic-continuous/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-05T16:54:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/kv-cache-explained-without-math</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=The%20KV%20Cache%20Explained%20Without%20the%20Math</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/kv-cache-explained-without-math/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-05T13:58:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/prefill-vs-decode-llm-inference</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Prefill%20vs%20Decode%3A%20The%20Two%20Halves%20of%20Every%20LLM%20Request</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/prefill-vs-decode-llm-inference/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-05T11:02:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tokens-context-windows-llm-cost</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Tokens%2C%20Context%20Windows%2C%20and%20Why%20Your%20Bill%20Looks%20Like%20That</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/tokens-context-windows-llm-cost/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-05T08:06:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/what-is-llm-inference-mental-model</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=What%20Is%20Inference%3F%20The%20Mental%20Model%20Every%20Backend%20Engineer%20Needs</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/what-is-llm-inference-mental-model/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-05T05:10:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/behavioural-security-metrics-that-change-behaviour</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Behavioural%20Security%20Metrics%20That%20Change%20Behaviour</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/behavioural-security-metrics-that-change-behaviour/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-05T02:14:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/synthetic-identity-fraud-detection</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Synthetic%20Identity%20Fraud%20Detection%3A%20Graph%20Analysis%20and%20Velocity%20Checks</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/synthetic-identity-fraud-detection/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-04T23:18:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/browser-token-storage-localstorage-cookies-memory</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Token%20Storage%20in%20the%20Browser%3A%20localStorage%20vs%20Cookies%20vs%20Memory</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/browser-token-storage-localstorage-cookies-memory/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-04T20:22:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/cookies-sessions-samesite</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Cookies%2C%20Sessions%2C%20and%20SameSite</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/cookies-sessions-samesite/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-04T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/certificate-lifecycle-automation-acme</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Certificate%20Lifecycle%20Automation%20With%20ACME</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/certificate-lifecycle-automation-acme/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-04T17:25:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/x509-certificate-fields-explained</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=X.509%20Certificate%20Fields%2C%20Explained</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/x509-certificate-fields-explained/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-04T14:29:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/certificate-based-access-headless-devices</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Certificate-Based%20Access%20for%20Headless%20Devices</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/certificate-based-access-headless-devices/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-04T11:33:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/device-certificates-vs-passwords</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Device%20Certificates%20vs%20Passwords%3A%20The%20Shift%20to%20Hardware-Backed%20Machine%20Identity</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/device-certificates-vs-passwords/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-04T08:37:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/event-driven-security-architecture</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Event-Driven%20Security%3A%20Automating%20Response%20with%20Idempotency</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/event-driven-security-architecture/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-04T05:41:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/supply-chain-identity-signing-who-built-what</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Supply%20Chain%20Identity%3A%20Signing%20Who%20Built%20What</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/supply-chain-identity-signing-who-built-what/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-04T02:45:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/gitops-security-secrets-access-drift</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=GitOps%20Security%3A%20Secrets%2C%20Access%2C%20and%20Drift</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/gitops-security-secrets-access-drift/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-03T23:49:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/generating-sboms-kubernetes-workloads</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Generating%20SBOMs%20for%20Kubernetes%20Workloads</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/generating-sboms-kubernetes-workloads/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-03T20:53:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/sso-cookies-across-multiple-domains</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=SSO%20With%20Cookies%20Across%20Multiple%20Domains</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/sso-cookies-across-multiple-domains/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-03T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/sbom-and-cbom-cryptographic-bill-of-materials</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=SBOM%20and%20CBOM%3A%20Cryptographic%20Bills%20of%20Materials</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/sbom-and-cbom-cryptographic-bill-of-materials/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-03T17:57:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/sbom-signing-and-verification</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=SBOM%20Signing%20and%20Verification%3A%20Securing%20Supply%20Chain%20Integrity</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/sbom-signing-and-verification/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-03T15:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/access-certification-reviews-not-rubber-stamps</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Access%20Certification%20Reviews%20That%20Aren't%20Rubber%20Stamps</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/access-certification-reviews-not-rubber-stamps/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-03T12:04:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/replacing-legacy-iga-migration-checklist</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Replacing%20Legacy%20IGA%3A%20A%20Migration%20Checklist</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/replacing-legacy-iga-migration-checklist/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-03T09:08:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/gdpr-for-identity-systems</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=GDPR%20for%20Identity%20Systems</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/gdpr-for-identity-systems/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-03T06:12:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/fapi-open-banking-security-profiles</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=FAPI%3A%20Open%20Banking%20Security%20Profiles</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/fapi-open-banking-security-profiles/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-03T03:16:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/psd2-strong-customer-authentication</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20PSD2%20SCA%3A%20Cryptographic%20Intent%20Binding</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/psd2-strong-customer-authentication/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-03T00:20:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/hipaa-requirements-identity-access-management</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=HIPAA%20Requirements%20for%20Identity%20and%20Access%20Management</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/hipaa-requirements-identity-access-management/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-02T21:24:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/abac-for-ai-agents</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=ABAC%20for%20AI%20Agents%3A%20Securing%20Autonomous%20Operations</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/abac-for-ai-agents/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-02T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/auth-infrastructure-resilience-patterns</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Auth%20Infrastructure%20Resilience%20Patterns</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/auth-infrastructure-resilience-patterns/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-02T18:28:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/identity-disaster-recovery-planning</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Identity%20Disaster%20Recovery%20Planning</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/identity-disaster-recovery-planning/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-02T15:32:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/switching-identity-providers-without-breaking-flows</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Switching%20Identity%20Providers%20Without%20Breaking%20Auth%20Flows</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/switching-identity-providers-without-breaking-flows/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-02T12:35:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/aws-service-accounts-pattern-that-doesnt-exist</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=AWS%20Service%20Accounts%3A%20The%20Pattern%20That%20Doesn't%20Exist</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/aws-service-accounts-pattern-that-doesnt-exist/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-02T09:39:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/investigating-aws-security-incident-cloudtrail</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=CloudTrail%20Investigation%3A%20AWS%20Security%20Incident%20Response%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/investigating-aws-security-incident-cloudtrail/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-02T06:43:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/aws-multi-account-iam-design</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=AWS%20Multi-Account%20IAM%20Design%3A%20Boundaries%2C%20Identity%2C%20and%20Permissions</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/aws-multi-account-iam-design/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-02T03:47:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/s3-acl-vs-bucket-policy-vs-iam-policy</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=S3%20ACL%20vs%20Bucket%20Policy%20vs%20IAM%20Policy</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/s3-acl-vs-bucket-policy-vs-iam-policy/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-02T00:51:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/secrets-into-containers-without-env-vars</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Getting%20Secrets%20Into%20Containers%20Without%20Environment%20Variables</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/secrets-into-containers-without-env-vars/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-01T21:55:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/abac-in-spring-security</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Spring%20Security%20ABAC%3A%20Implementing%20AuthorizationManager</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/abac-in-spring-security/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-01T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/aws-secrets-manager-vs-certificate-manager</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=AWS%20Secrets%20Manager%20vs%20Certificate%20Manager%3A%20A%20Mechanism-Level%20Comparison</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/aws-secrets-manager-vs-certificate-manager/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-01T18:59:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/spring-boot-keycloak-current-way</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Spring%20Boot%20Keycloak%3A%20The%20Current%20Way</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/spring-boot-keycloak-current-way/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-01T16:03:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-admin-api-client-from-openapi</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Generating%20a%20Keycloak%20Admin%20API%20Client%20From%20OpenAPI</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-admin-api-client-from-openapi/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-01T13:07:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-zero-trust-configuration</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20Zero%20Trust%20Configuration</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-zero-trust-configuration/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-01T10:11:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-custom-user-storage-provider</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Writing%20a%20Keycloak%20Custom%20User%20Storage%20Provider</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-custom-user-storage-provider/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-01T07:14:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-performance-tuning-capacity-planning</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20Performance%20Tuning%20and%20Capacity%20Planning</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-performance-tuning-capacity-planning/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-01T04:18:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-backup-upgrade-disaster-recovery</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20Backup%2C%20Upgrade%2C%20and%20Disaster%20Recovery</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-backup-upgrade-disaster-recovery/hero-0.png</image:loc>
</image:image>
<lastmod>2026-10-01T01:22:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/running-keycloak-on-kubernetes</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Running%20Keycloak%20on%20Kubernetes%3A%20A%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/running-keycloak-on-kubernetes/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-30T22:26:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-organizations-multi-org</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20Organizations%3A%20Multi-Org%20Without%20Multi-Realm</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-organizations-multi-org/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-30T19:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/policy-engines-opa-cedar-casbin</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Policy%20Engines%3A%20OPA%2C%20Cedar%2C%20and%20Casbin</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/policy-engines-opa-cedar-casbin/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-30T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/is-keycloak-an-idp-terminology</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Is%20Keycloak%20an%20IdP%3F%20Clarifying%20the%20Terminology</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/is-keycloak-an-idp-terminology/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-30T16:34:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-vs-auth0-vs-ory-vs-zitadel</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20vs%20Auth0%20vs%20Ory%20vs%20Zitadel%3A%20Architectural%20Trade-offs%20and%20Pricing</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-vs-auth0-vs-ory-vs-zitadel/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-30T13:38:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/implementing-userdetailsservice-correctly</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20UserDetailsService%20Correctly</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/implementing-userdetailsservice-correctly/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-30T10:42:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/spring-security-sso-group-role-mapping</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Spring%20Security%20SSO%20With%20Group%20and%20Role%20Mapping</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/spring-security-sso-group-role-mapping/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-30T07:46:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/activedirectoryldapauthenticationprovider-spring-boot</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=ActiveDirectoryLdapAuthenticationProvider%20in%20Spring%20Boot</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/activedirectoryldapauthenticationprovider-spring-boot/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-30T04:49:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/upgrading-spring-boot-3-jakarta-java-17</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Upgrading%20to%20Spring%20Boot%203%3A%20Jakarta%2C%20Java%2017%2C%20and%20What%20Breaks</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/upgrading-spring-boot-3-jakarta-java-17/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-30T01:53:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/spring-security-6-method-security-migration</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Spring%20Security%206%20Migration%3A%20Method%20Security%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/spring-security-6-method-security-migration/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-29T22:57:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/migrating-bcrypt-to-argon2-password-encoder</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Migrating%20From%20BCryptPasswordEncoder%20to%20Argon2PasswordEncoder</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/migrating-bcrypt-to-argon2-password-encoder/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-29T20:01:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/rbac-ceiling-why-abac</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=RBAC's%20Ceiling%20and%20Why%20ABAC</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/rbac-ceiling-why-abac/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-29T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/bcrypt-vs-argon2-vs-scrypt-vs-pbkdf2</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=BCrypt%20vs%20Argon2%20vs%20scrypt%20vs%20PBKDF2%3A%20Comparison</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/bcrypt-vs-argon2-vs-scrypt-vs-pbkdf2/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-29T17:05:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/refresh-token-rotation-reuse-detection</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Refresh%20Token%20Rotation%20and%20Reuse%20Detection</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/refresh-token-rotation-reuse-detection/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-29T14:09:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/access-token-lifetime-choosing-a-number</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Access%20Token%20Lifetime%3A%20Choosing%20an%20Actual%20Number</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/access-token-lifetime-choosing-a-number/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-29T11:13:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/revoking-a-jwt-you-already-issued</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=How%20to%20Revoke%20a%20JWT%3A%20Denylist%20%26%20Expiry%20Strategies</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/revoking-a-jwt-you-already-issued/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-29T08:17:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/sender-constrained-tokens-dpop-cnf-claim</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Sender-Constrained%20Tokens%3A%20DPoP%20and%20the%20cnf%20Claim</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/sender-constrained-tokens-dpop-cnf-claim/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-29T05:21:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/mtls-vs-jwt-service-to-service</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=mTLS%20vs%20JWT%20for%20Service-to-Service%20Auth</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/mtls-vs-jwt-service-to-service/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-29T02:24:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/jwt-vs-opaque-tokens</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=JWT%20vs%20Opaque%20Tokens%3A%20The%20Architecture%20of%20Trust</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/jwt-vs-opaque-tokens/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-28T23:28:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/api-gateway-oidc-kong</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=API%20Gateway%20OIDC%3A%20Kong%20and%20Friends</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/api-gateway-oidc-kong/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-28T20:32:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/generating-test-pki-openssl-keytool</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Generating%20a%20Test%20PKI%20With%20OpenSSL%20and%20keytool</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/generating-test-pki-openssl-keytool/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-28T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/graphql-authorization-middleware-patterns</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=GraphQL%20Authorization%20Middleware%20Patterns</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/graphql-authorization-middleware-patterns/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-28T17:36:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/websocket-authentication-oauth-jwt</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=WebSocket%20Authentication%3A%20OAuth%2C%20JWT%2C%20or%20Something%20Else</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/websocket-authentication-oauth-jwt/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-28T14:40:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/risk-based-vs-adaptive-authentication</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Risk-Based%20vs%20Adaptive%20Auth%3A%20Policy%20Design</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/risk-based-vs-adaptive-authentication/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-28T11:44:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/number-matching-push-notification-hardening</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Number%20Matching%20and%20Push%20Notification%20Hardening</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/number-matching-push-notification-hardening/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-28T08:48:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/mfa-fatigue-push-bombing-attacks</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=MFA%20Fatigue%20and%20Push%20Bombing%20Attacks</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/mfa-fatigue-push-bombing-attacks/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-28T05:52:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/scim-2-0-provisioning-rfc-7644</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=SCIM%202.0%20Provisioning%20(RFC%207644)%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/scim-2-0-provisioning-rfc-7644/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-28T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/online-evals-ab-tests-canaries-rollouts</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Online%20Evals%3A%20A%2FB%20Tests%2C%20Canaries%2C%20and%20Guarded%20Rollouts</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/online-evals-ab-tests-canaries-rollouts/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-27T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/workload-identity-federation-across-clouds</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Workload%20Identity%20Federation%20Across%20Clouds</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/workload-identity-federation-across-clouds/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-26T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/reading-a-cloudtrail-event</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Reading%20CloudTrail%20Events%3A%20Identity%20%26%20Athena</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/reading-a-cloudtrail-event/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-26T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/migrating-parameter-store-secrets-manager</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Migrating%20Between%20Parameter%20Store%20and%20Secrets%20Manager</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/migrating-parameter-store-secrets-manager/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-25T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/irsa-vs-eks-pod-identity</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=IRSA%20vs%20EKS%20Pod%20Identity%3A%20Architecture%2C%20Trust%2C%20and%20Tradeoffs</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/irsa-vs-eks-pod-identity/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-24T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/cross-account-access-resource-policies</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Cross-Account%20Access%20With%20Resource%20Policies</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/cross-account-access-resource-policies/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-23T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/permission-boundaries-service-control-policies</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=AWS%20Permission%20Boundaries%20and%20Service%20Control%20Policies%20Explained</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/permission-boundaries-service-control-policies/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-22T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/sts-assumerole</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=AWS%20STS%20%26%20AssumeRole%3A%20Temp%20Credentials%20%26%20External%20IDs</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/sts-assumerole/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-21T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/iam-users-vs-roles</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=IAM%20Users%20vs%20Roles%3A%20Static%20vs%20Temp%20Credentials</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/iam-users-vs-roles/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-20T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/iam-policy-evaluation-logic-step-by-step</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=IAM%20Policy%20Evaluation%20Logic%2C%20Step%20by%20Step</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/iam-policy-evaluation-logic-step-by-step/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-19T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/aws-secret-access-patterns-lambda-ecs-eks-ci</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Secret%20Access%20Patterns%3A%20Lambda%2C%20ECS%2C%20EKS%2C%20and%20CI</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/aws-secret-access-patterns-lambda-ecs-eks-ci/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-18T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-adaptive-authentication-conditional-flows</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Adaptive%20Authentication%20and%20Conditional%20Flows%20in%20Keycloak</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-adaptive-authentication-conditional-flows/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-17T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/validating-saml-assertion-correctly</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Validating%20a%20SAML%20Assertion%20Correctly</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/validating-saml-assertion-correctly/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-16T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/saml-single-logout-slo</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=SAML%20Single%20Logout%20(SLO)%3A%20The%20Mechanics%20of%20Session%20Termination</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/saml-single-logout-slo/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-15T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/signing-encrypting-saml-assertions</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Signing%20and%20Encrypting%20SAML%20Assertions%3A%20A%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/signing-encrypting-saml-assertions/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-14T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/saml-sp-initiated-vs-idp-initiated-sso</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=SP-Initiated%20vs%20IdP-Initiated%20SSO%3A%20Security%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/saml-sp-initiated-vs-idp-initiated-sso/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-13T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/saml-assertions-statements-schema</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=SAML%20Assertions%2C%20Statements%2C%20and%20the%20Schema</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/saml-assertions-statements-schema/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-12T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/saml-2-0-in-one-diagram</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=SAML%202.0%20in%20One%20Diagram</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/saml-2-0-in-one-diagram/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-11T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-audit-logging-gdpr-compliance</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20Audit%20Logging%20for%20GDPR%20Compliance</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-audit-logging-gdpr-compliance/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-10T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-csp-security-headers</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Content%20Security%20Policy%20and%20Security%20Headers%20in%20Keycloak</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-csp-security-headers/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-08T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-token-lifetimes-sessions-revocation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Token%20Lifetimes%2C%20Sessions%2C%20and%20Revocation%20in%20Keycloak</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-token-lifetimes-sessions-revocation/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-07T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-hardening-checklist-fresh-install</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20Hardening%3A%20A%20Checklist%20for%20a%20Fresh%20Install</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-hardening-checklist-fresh-install/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-06T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-multiple-idps-home-realm-discovery-account-linking</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%3A%20Multiple%20IdPs%2C%20HRD%2C%20and%20Account%20Linking</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-multiple-idps-home-realm-discovery-account-linking/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-05T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-oidc-saml-identity-brokering</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OIDC%20and%20SAML%20Identity%20Brokering%20in%20Keycloak</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-oidc-saml-identity-brokering/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-04T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-active-directory-integration</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Integrating%20Keycloak%20with%20Active%20Directory%3A%20LDAP%2C%20Kerberos%20%26%20Group%20Mapping</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-active-directory-integration/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-03T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-ldap-user-federation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20LDAP%20User%20Federation%3A%20Mechanics%2C%20Mapping%2C%20and%20Tuning</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-ldap-user-federation/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-02T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-user-federation-vs-identity-provider</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20User%20Federation%20vs%20Identity%20Provider</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-user-federation-vs-identity-provider/hero-0.png</image:loc>
</image:image>
<lastmod>2026-09-01T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-custom-authenticator</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Writing%20a%20Keycloak%20Custom%20Authenticator</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-custom-authenticator/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-31T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-service-provider-interface-explained</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=The%20Keycloak%20Service%20Provider%20Interface%2C%20Explained</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-service-provider-interface-explained/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-30T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/what-rag-actually-solves</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=What%20RAG%20Actually%20Solves%20(and%20What%20It%20Doesn't)</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/08/what-rag-actually-solves/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-29T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-branding-css-assets-email-templates</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Branding%20a%20Keycloak%20Login%3A%20CSS%2C%20Assets%2C%20and%20Email%20Templates</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-branding-css-assets-email-templates/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-28T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-custom-login-theme-freemarker</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20a%20Custom%20Login%20Theme%20With%20FreeMarker</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-custom-login-theme-freemarker/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-27T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-theme-structure-base-theme</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20Theme%20Structure%20and%20the%20Base%20Theme</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-theme-structure-base-theme/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-26T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-rate-limiting-brute-force-ddos</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Rate%20Limiting%2C%20Brute%20Force%20Detection%2C%20and%20DDoS%20Protection%20in%20Keycloak</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-rate-limiting-brute-force-ddos/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-25T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/authenticationmanager-providers-userdetailsservice</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=AuthenticationManager%2C%20Providers%2C%20and%20UserDetailsService</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/authenticationmanager-providers-userdetailsservice/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-24T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/exceptiontranslationfilter-where-auth-errors-come-from</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=ExceptionTranslationFilter%3A%20Auth%20Error%20Handling</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/exceptiontranslationfilter-where-auth-errors-come-from/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-23T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-admin-rest-api</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=The%20Keycloak%20Admin%20REST%20API</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-admin-rest-api/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-22T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-multi-tenancy-realms-organizations-shared</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20Multi-Tenancy%3A%20Realms%2C%20Orgs%2C%20Shared</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-multi-tenancy-realms-organizations-shared/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-21T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-high-availability-clustering-replication</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20High%20Availability%2C%20Clustering%2C%20and%20Cache%20Replication</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-high-availability-clustering-replication/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-20T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-production-mode-hostname-proxy-tls</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20Production%20Mode%3A%20Hostname%2C%20Proxy%2C%20and%20TLS</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-production-mode-hostname-proxy-tls/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-19T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/angular-oauth2-oidc-guards-interceptors-claims</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Angular%20OAuth2%2FOIDC%3A%20Guards%2C%20Interceptors%20%26%20Claims</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/angular-oauth2-oidc-guards-interceptors-claims/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-18T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/angular-oauth2-oidc-logout-revoketokenandlogout</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Angular%20OAuth2%20Logout%3A%20revokeTokenAndLogout%20%26%20Backchannel</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/angular-oauth2-oidc-logout-revoketokenandlogout/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-17T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/jwt-validation-checklist-production</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=A%20JWT%20Validation%20Checklist%20for%20Production</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/jwt-validation-checklist-production/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-16T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/jwt-signing-verification-jws-alg-confusion</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=JWT%20Signing%3A%20JWS%20Algorithms%20and%20alg%20Confusion</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/jwt-signing-verification-jws-alg-confusion/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-15T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/jwt-exp-nbf-iat-expiration-clock-skew</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=JWT%20exp%2C%20nbf%2C%20iat%3A%20Expiration%20%26%20Clock%20Skew%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/jwt-exp-nbf-iat-expiration-clock-skew/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-14T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/jwt-sub-aud-identity-audience</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=JWT%20sub%20and%20aud%3A%20Identity%20and%20Audience</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/jwt-sub-aud-identity-audience/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-13T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/jwt-jti-replay-protection-revocation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=JWT%20JTI%3A%20Replay%20Protection%20and%20Token%20Revocation</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/jwt-jti-replay-protection-revocation/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-12T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/jwt-public-private-custom-claims</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=JWT%20Custom%20Claims%3A%20Public%2C%20Private%2C%20and%20Custom%20%7C%20JWT%20From%20the%20Spec%20Up</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/jwt-public-private-custom-claims/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-11T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/jwt-registered-claims-iss-sub-aud-exp-nbf-iat-jti</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=The%20Seven%20Registered%20Claims%3A%20iss%2C%20sub%2C%20aud%2C%20exp%2C%20nbf%2C%20iat%2C%20jti</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/jwt-registered-claims-iss-sub-aud-exp-nbf-iat-jti/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-10T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/jwt-anatomy-header-payload-signature</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Anatomy%20of%20a%20JWT%3A%20Header%2C%20Payload%2C%20and%20Signature</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/jwt-anatomy-header-payload-signature/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-09T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oauth-2-1-what-changed-draft-status</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OAuth%202.1%3A%20What%20Changed%20and%20Where%20the%20Draft%20Stands</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/oauth-2-1-what-changed-draft-status/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-08T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/rfc-9396-rich-authorization-requests-authorization-details</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=RFC%209396%3A%20Structured%20Granularity%20in%20OAuth%202.0</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/rfc-9396-rich-authorization-requests-authorization-details/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-07T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/rfc-9126-pushed-authorization-requests</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=RFC%209126%3A%20Pushed%20Authorization%20Requests</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/rfc-9126-pushed-authorization-requests/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-06T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/rfc-8628-device-authorization-grant</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=RFC%208628%3A%20The%20Device%20Authorization%20Grant</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/rfc-8628-device-authorization-grant/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-05T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/rfc-7636-pkce-authorization-code-interception</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=RFC%207636%3A%20PKCE%20and%20the%20Authorization%20Code%20Interception%20Attack</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/rfc-7636-pkce-authorization-code-interception/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-04T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/rfc-6749-what-still-applies</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=RFC%206749%20Revisited%3A%20What%20Still%20Applies%20in%202026</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/rfc-6749-what-still-applies/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-03T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/well-known-oauth-authorization-server-vs-openid-configuration</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OAuth%202.0%20Discovery%3A%20RFC%208414%20vs.%20OpenID%20Connect%20Discovery%201.0</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/well-known-oauth-authorization-server-vs-openid-configuration/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-02T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/certificate-rotation-truststore-kubernetes</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Certificate%20Rotation%20and%20Truststore%20Operations%20on%20Kubernetes</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/certificate-rotation-truststore-kubernetes/hero-0.png</image:loc>
</image:image>
<lastmod>2026-08-01T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/x509-client-certificate-authentication-spring-security</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Spring%20Security%20X.509%3A%20Client%20Certificate%20Authentication</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/x509-client-certificate-authentication-spring-security/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-31T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/enabling-tls-mtls-spring-boot</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Enabling%20TLS%20and%20mTLS%20in%20Spring%20Boot</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/enabling-tls-mtls-spring-boot/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-30T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-architecture-realms-clients-data-model</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20Architecture%3A%20Realms%2C%20Clients%2C%20and%20the%20Data%20Model</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/keycloak-architecture-realms-clients-data-model/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-29T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/secrets-manager-bill-surprises-teams</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Why%20the%20Secrets%20Manager%20Bill%20Surprises%20Teams</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/secrets-manager-bill-surprises-teams/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-28T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/migrating-from-websecurityconfigureradapter</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Migrating%20from%20WebSecurityConfigurerAdapter%20to%20Spring%20Security%206</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/migrating-from-websecurityconfigureradapter/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-27T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/reactive-security-webflux-reactivesecuritycontextholder</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Reactive%20Security%3A%20WebFlux%20%26%20JwtAuthenticationToken</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/reactive-security-webflux-reactivesecuritycontextholder/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-26T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/onceperrequestfilter-right-base-class-jwt</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OncePerRequestFilter%3A%20The%20Right%20Base%20Class%20for%20JWT</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/onceperrequestfilter-right-base-class-jwt/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-25T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/migrating-user-base-to-passwordless</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Migrating%20an%20Existing%20User%20Base%20to%20Passwordless</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/migrating-user-base-to-passwordless/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-24T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tls-mtls-fundamentals</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=TLS%20and%20mTLS%20Fundamentals</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/tls-mtls-fundamentals/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-23T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/ssh-certificates-centralized-key-management</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=The%20End%20of%20Static%20Keys%3A%20SSH%20Certificate%20Authorities%20Explained</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/ssh-certificates-centralized-key-management/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-22T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/api-keys-rotation-storage-monitoring</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=API%20Keys%3A%20Rotation%2C%20Storage%2C%20and%20Monitoring</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/api-keys-rotation-storage-monitoring/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-21T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/short-lived-credentials-over-long-lived-secrets</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Short-Lived%20Credentials%20Over%20Long-Lived%20Secrets</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/short-lived-credentials-over-long-lived-secrets/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-20T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/spiffe-and-spire</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=SPIFFE%20and%20SPIRE%3A%20Securing%20Identity%20in%20Ephemeral%20Infrastructure</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/spiffe-and-spire/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-19T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/x509-mtls-service-identity</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=X.509%20and%20mTLS%20for%20Service%20Identity</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/x509-mtls-service-identity/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-18T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/machine-identity-is-the-bigger-problem</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Machine%20Identity%20Is%20the%20Bigger%20Problem</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/machine-identity-is-the-bigger-problem/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-17T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/aws-secret-rotation-lambda</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Automatic%20Secret%20Rotation%20With%20Lambda</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/aws-secret-rotation-lambda/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-16T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/kms-vs-secrets-manager-different-jobs</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=KMS%20vs%20Secrets%20Manager%3A%20Different%20Jobs</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/kms-vs-secrets-manager-different-jobs/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-15T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/rfc-8414-metadata-fields-explained</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Every%20Field%20in%20the%20RFC%208414%20Metadata%20Document%2C%20Explained</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/rfc-8414-metadata-fields-explained/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-14T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/phased-zero-trust-rollout-plan</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=A%20Phased%20Zero%20Trust%20Rollout%20Plan</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/phased-zero-trust-rollout-plan/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-13T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/zero-trust-policy-enforcement-micro-segmentation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Policy%20Enforcement%20Points%20and%20Micro-Segmentation</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/zero-trust-policy-enforcement-micro-segmentation/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-12T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/zero-trust-device-trust-certificate-identity</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Device%20Trust%20and%20Certificate-Based%20Identity</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/zero-trust-device-trust-certificate-identity/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-11T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/zero-trust-identity-as-the-perimeter</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Identity%20as%20the%20Perimeter</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/zero-trust-identity-as-the-perimeter/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-10T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/addfilterbefore-usernamepasswordauthenticationfilter</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=addFilterBefore%20and%20UsernamePasswordAuthenticationFilter</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/addfilterbefore-usernamepasswordauthenticationfilter/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-09T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/securityfilterchain-spring-security-6</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=SecurityFilterChain%20in%20Spring%20Security%206</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/securityfilterchain-spring-security-6/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-08T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/spring-security-filter-chain-ordered</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=The%20Spring%20Security%20Filter%20Chain%2C%20Ordered</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/spring-security-filter-chain-ordered/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-07T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/spring-security-saml-extension-enterprise-sso</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Spring%20Security%20SAML%20Extension%3A%20Enterprise%20SSO%20Integration</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/spring-security-saml-extension-enterprise-sso/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-06T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/implementing-conditional-access-policies-keycloak-forgerock</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20Conditional%20Access%20Policies%20with%20Keycloak%20and%20ForgeRock</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/implementing-conditional-access-policies-keycloak-forgerock/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-05T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/biometrics-and-fallback-design</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Biometrics%20and%20Fallback%20Design</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/biometrics-and-fallback-design/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-04T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/passkeys-sync-device-bound-recovery</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Passkeys%3A%20Sync%2C%20Device-Bound%2C%20and%20Recovery</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/passkeys-sync-device-bound-recovery/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-03T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/webauthn-fido2-explained</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=WebAuthn%20and%20FIDO2%2C%20Explained</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/webauthn-fido2-explained/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-02T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/magic-links-design-threats-session-binding</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Magic%20Links%3A%20Design%2C%20Threats%2C%20and%20Session%20Binding</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/magic-links-design-threats-session-binding/hero-0.png</image:loc>
</image:image>
<lastmod>2026-07-01T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/why-passwords-are-finally-losing</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Why%20Passwords%20Are%20Finally%20Losing%20%7C%20WebAuthn%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/why-passwords-are-finally-losing/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-30T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oidc-mfa-multi-factor-authentication</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Multi-Factor%20Authentication%20with%20OIDC%3A%20Implementing%20MFA</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oidc-mfa-multi-factor-authentication/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-29T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/implementing-oauth2-resource-indicators-rfc-8707</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20OAuth2%20Resource%20Indicators%20(RFC%208707)</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/implementing-oauth2-resource-indicators-rfc-8707/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-28T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/token-binding-sender-constrained-tokens</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Understanding%20Token%20Binding%20and%20Sender-Constrained%20Tokens</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/token-binding-sender-constrained-tokens/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-27T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oauth2-grant-types-explained</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OAuth%202.0%20Fundamentals%3A%20Grant%20Types%20Explained%20Simply</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oauth2-grant-types-explained/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-26T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-production-deployment-guide</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20Production%3A%20TLS%2C%20DB%20Tuning%20%26%20K8s</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/keycloak-production-deployment-guide/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-25T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/building-identity-service-mesh-integrating-iam</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20an%20Identity%20Service%20Mesh%3A%20Integrating%20IAM%20with%20Istio</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/building-identity-service-mesh-integrating-iam/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-24T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/building-identity-data-lake-analytics-access-patterns</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20an%20Identity%20Data%20Lake%3A%20Analytics%20for%20Access%20Patterns</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/building-identity-data-lake-analytics-access-patterns/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-23T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/kms-fundamentals-cmk-data-keys-envelope-encryption</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=KMS%20Fundamentals%3A%20CMKs%2C%20Data%20Keys%2C%20and%20Envelope%20Encryption</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/kms-fundamentals-cmk-data-keys-envelope-encryption/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-22T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/aws-secrets-manager-vs-parameter-store-decision</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=AWS%20Secrets%20Manager%20vs%20Parameter%20Store%3A%20The%20Actual%20Decision</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/aws-secrets-manager-vs-parameter-store-decision/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-21T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/rfc-8414-jwks-uri-key-discovery-rotation-caching</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=jwks_uri%3A%20Key%20Discovery%2C%20Rotation%2C%20and%20Caching</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/rfc-8414-jwks-uri-key-discovery-rotation-caching/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-20T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/angular-oauth2-oidc-standalone-provideoauthclient</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Standalone%20Angular%3A%20provideOAuthClient%20and%20Bootstrapping</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/angular-oauth2-oidc-standalone-provideoauthclient/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-19T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/jwt-expiration-rotation-revocation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=JWT%20Expiration%2C%20Rotation%2C%20and%20Revocation%3A%20A%20Lifecycle%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/jwt-expiration-rotation-revocation/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-18T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/securing-grpc-oauth2-token-propagation-microservices</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Securing%20gRPC%20with%20OAuth2%20Token%20Propagation%20in%20Microservices</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/securing-grpc-oauth2-token-propagation-microservices/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-17T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/identity-breach-response-iam-compromised</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Identity%20Breach%20Response%3A%20Securing%20the%20Compromised%20Keymaker</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/identity-breach-response-iam-compromised/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-16T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/what-zero-trust-actually-requires</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=What%20Zero%20Trust%20Actually%20Requires</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/what-zero-trust-actually-requires/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-15T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/multi-cloud-governance-access-reviews-drift</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Multi-Cloud%20Governance%3A%20Access%20Reviews%20and%20Drift</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/multi-cloud-governance-access-reviews-drift/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-14T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/federating-aws-azure-gcp-one-identity-provider</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Federating%20AWS%2C%20Azure%2C%20and%20GCP%20to%20One%20Identity%20Provider</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/federating-aws-azure-gcp-one-identity-provider/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-13T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/reference-framework-cross-cloud-iam</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Multi%20Cloud%20Identity%20Management%20Framework%3A%20A%20Reference%20Architecture</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/reference-framework-cross-cloud-iam/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-12T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/why-multi-cloud-identity-fragments</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Why%20Multi-Cloud%20Identity%20Fragments</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/why-multi-cloud-identity-fragments/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-11T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/aws-log-retention-cloudwatch-cost-control</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Log%20Retention%2C%20CloudWatch%20Logs%2C%20and%20Cost%20Control</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/aws-log-retention-cloudwatch-cost-control/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-10T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/security-hub-config-audit-manager-compared</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=AWS%20Security%20Hub%2C%20Config%2C%20and%20Audit%20Manager%20Compared</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/security-hub-config-audit-manager-compared/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-09T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/aws-detections-alerting-real-threats</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=AWS%20Alerting%3A%20Fire%20on%20Real%20Threats</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/aws-detections-alerting-real-threats/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-08T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/rfc-8414-what-it-is-why-oauth-needed-discovery</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=RFC%208414%20Explained%3A%20OAuth%202.0%20Authorization%20Server%20Metadata</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/rfc-8414-what-it-is-why-oauth-needed-discovery/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-07T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/angular-oauth2-oidc-token-storage-options</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Angular%20OAuth2%2FOIDC%20Token%20Storage%3A%20localStorage%2C%20sessionStorage%2C%20and%20In-Memory</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/angular-oauth2-oidc-token-storage-options/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-06T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/angular-oauth2-oidc-refresh-tokens-silent-refresh</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OAuth%202.0%20Refresh%20Tokens%20in%20Angular%3A%20Silent%20Refresh%20with%20useRefreshTokens</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/angular-oauth2-oidc-refresh-tokens-silent-refresh/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-05T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/angular-oauth2-oidc-discovery-strict-validation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Angular%20OAuth2%2FOIDC%3A%20loadDiscoveryDocumentAndTryLogin</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/angular-oauth2-oidc-discovery-strict-validation/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-04T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/angular-oauth2-oidc-authconfig-properties-reference</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=The%20AuthConfig%20Reference%3A%20Every%20Property%20That%20Matters</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/angular-oauth2-oidc-authconfig-properties-reference/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-03T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/cloudtrail-cloudwatch-guardduty-who-does-what</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=CloudTrail%2C%20CloudWatch%2C%20and%20GuardDuty%3A%20Who%20Does%20What</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/cloudtrail-cloudwatch-guardduty-who-does-what/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-02T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/angular-oauth2-oidc-code-flow-pkce-setup</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=angular-oauth2-oidc%3A%20Setting%20Up%20Code%20Flow%20With%20PKCE</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/angular-oauth2-oidc-code-flow-pkce-setup/hero-0.png</image:loc>
</image:image>
<lastmod>2026-06-01T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/least-privilege-in-practice</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Least%20Privilege%20in%20Practice</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/least-privilege-in-practice/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-31T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/rfc-9700-oauth-security-best-current-practice</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=RFC%209700%3A%20The%20Mandatory%20Guardrails%20for%20OAuth%202.0</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/rfc-9700-oauth-security-best-current-practice/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-30T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/rfc-8693-token-exchange-delegation-impersonation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=RFC%208693%3A%20Token%20Exchange%2C%20Delegation%2C%20and%20Impersonation</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/rfc-8693-token-exchange-delegation-impersonation/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-29T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/implementing-validating-oauth-discovery-client</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20and%20Validating%20Discovery%20in%20Your%20Client</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/implementing-validating-oauth-discovery-client/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-28T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/token-endpoint-auth-methods-supported-client-secret-basic-default</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Decoding%20client_secret_basic%20Default%20in%20RFC%208414</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/07/token-endpoint-auth-methods-supported-client-secret-basic-default/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-27T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oauth2-incremental-authorization-scope-management</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Understanding%20OAuth2%20Incremental%20Authorization</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oauth2-incremental-authorization-scope-management/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-26T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oauth2-bearer-token-usage-rfc-6750</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Securing%20OAuth2%20Bearer%20Token%20Usage%3A%20RFC%206750%20Best%20Practices</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oauth2-bearer-token-usage-rfc-6750/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-25T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/resilient-multi-region-iam-keycloak-aws-global-accelerator</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20Resilient%20Multi-Region%20IAM%20with%20Keycloak%20and%20AWS%20Global%20Accelerator</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/resilient-multi-region-iam-keycloak-aws-global-accelerator/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-24T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/building-identity-abstraction-layer-provider-agnostic-authentication</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20Identity%20Abstraction%20Layer%3A%20Provider-Agnostic%20Authentication</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/building-identity-abstraction-layer-provider-agnostic-authentication/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-23T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/building-centralized-audit-log-identity-events-elk-stack</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20a%20Centralized%20Audit%20Log%20for%20Identity%20Events%20with%20ELK%20Stack</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/building-centralized-audit-log-identity-events-elk-stack/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-22T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/implementing-identity-verification-kyc</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20Identity%20Verification%20for%20KYC</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/implementing-identity-verification-kyc/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-21T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/implementing-smart-link-authentication-phishing-resistant-magic-links</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20Smart%20Link%20Authentication%3A%20Phishing-Resistant%20Magic%20Links</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/implementing-smart-link-authentication-phishing-resistant-magic-links/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-20T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/iam-financial-services-regulatory-compliance</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=IAM%20in%20Financial%20Services%3A%20PCI-DSS%20%26%20SOX%20Compliance</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/iam-financial-services-regulatory-compliance/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-19T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/implementing-back-channel-logout-oidc-reliable-session-termination</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20Back-Channel%20Logout%20in%20OIDC%3A%20Reliable%20Session%20Termination</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/implementing-back-channel-logout-oidc-reliable-session-termination/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-18T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/implementing-dynamic-authorization-cedar-policy-language-aws</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20Dynamic%20Authorization%20with%20Cedar%20Policy%20Language%20(AWS)</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/implementing-dynamic-authorization-cedar-policy-language-aws/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-17T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/saml-artifact-binding-low-latency-sso</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=SAML%20Artifact%20Binding%3A%20Low-Latency%20SSO%20Architecture</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/saml-artifact-binding-low-latency-sso/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-16T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/implementing-passwordless-mfa-fido2-webauthn-spring-boot</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20Passwordless%20MFA%20with%20FIDO2%20and%20WebAuthn%20in%20Spring%20Boot</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/implementing-passwordless-mfa-fido2-webauthn-spring-boot/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-15T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/understanding-jwks-rotating-signing-keys</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Understanding%20JWKS%3A%20Rotating%20Signing%20Keys%20Gracefully</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/understanding-jwks-rotating-signing-keys/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-14T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oauth2-proof-of-possession-pop-security-architecture</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20OAuth2%20Proof-of-Possession%20(PoP)%20Security%20Architecture</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oauth2-proof-of-possession-pop-security-architecture/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-13T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oauth2-multiple-response-types-explained</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Understanding%20OAuth2%20Multiple%20Response%20Types%3A%20A%20Technical%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oauth2-multiple-response-types-explained/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-12T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/implementing-progressive-profiling-identity-applications</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20Progressive%20Profiling%20in%20Identity%20Applications</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/implementing-progressive-profiling-identity-applications/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-11T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/building-identity-orchestration-connecting-multiple-idps-custom-workflows</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20Identity%20Orchestration%3A%20Connecting%20Multiple%20IdPs%20with%20Custom%20Workflows</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/building-identity-orchestration-connecting-multiple-idps-custom-workflows/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-10T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/securing-legacy-applications-reverse-proxy-identity-gateway</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Securing%20Legacy%20Applications%20with%20a%20Reverse%20Proxy%20Identity%20Gateway</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/securing-legacy-applications-reverse-proxy-identity-gateway/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-09T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/identity-aware-load-balancing-nginx-keycloak</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20Identity-Aware%20Load%20Balancing%20with%20NGINX%20and%20Keycloak</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/identity-aware-load-balancing-nginx-keycloak/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-08T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/iam-data-lakes-securing-big-data</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=IAM%20for%20Data%20Lakes%3A%20Securing%20Big%20Data</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/iam-data-lakes-securing-big-data/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-07T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/implementing-user-behavior-analytics-uba-identity-security</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20User%20Behavior%20Analytics%20for%20Identity%20Security</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/implementing-user-behavior-analytics-uba-identity-security/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-06T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/building-identity-analytics-mining-authentication-logs-insights</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20Identity%20Analytics%3A%20Mining%20Authentication%20Logs%20for%20Insights</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/building-identity-analytics-mining-authentication-logs-insights/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-05T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/openid-connect-frontend-backend-integration-guide</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OpenID%20Connect%20Frontend%20and%20Backend%20Integration%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/openid-connect-frontend-backend-integration-guide/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-04T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/hsts-identity-applications-security</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Understanding%20HTTP%20Strict%20Transport%20Security%20(HSTS)%20for%20Identity%20Applications</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/hsts-identity-applications-security/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-03T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/securing-server-sent-events-sse-oauth2-authentication</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Securing%20Server-Sent%20Events%20with%20OAuth2%20Authentication</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/securing-server-sent-events-sse-oauth2-authentication/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-02T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/implementing-identity-governance-custom-policy-engines</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20Identity%20Governance%20with%20Custom%20Policy%20Engines</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/implementing-identity-governance-custom-policy-engines/hero-0.png</image:loc>
</image:image>
<lastmod>2026-05-01T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/security-identity-tokens-url-parameters</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Security%20Considerations%20for%20Identity%20Tokens%20in%20URL%20Parameters</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/security-identity-tokens-url-parameters/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-30T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/webauthn-keycloak-passkey-authentication-setup</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20WebAuthn%20in%20Keycloak%3A%20Passkey%20Authentication%20Setup</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/webauthn-keycloak-passkey-authentication-setup/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-29T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/identity-serverless-architecture-lambda-cloud-functions</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Identity%20in%20Serverless%20Architectures%3A%20Authentication%20Patterns%20for%20Lambda%20and%20Cloud%20Functions</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/identity-serverless-architecture-lambda-cloud-functions/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-28T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/implementing-entitlement-management-fine-grained-authorization</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20Entitlement%20Management%20for%20Fine-Grained%20Authorization</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/implementing-entitlement-management-fine-grained-authorization/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-27T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/self-service-password-reset-spring-boot-keycloak</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20a%20Self-Service%20Password%20Reset%20with%20Spring%20Boot%20and%20Keycloak</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/self-service-password-reset-spring-boot-keycloak/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-26T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/cwe-306-missing-authentication-implementation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Understanding%20and%20Implementing%20CWE-306%3A%20Missing%20Authentication</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/cwe-306-missing-authentication-implementation/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-25T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/cryptographic-agreements-identity-ecdh-key-agreement</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20Cryptographic%20Agreements%20in%20Identity%3A%20ECDH%20and%20Key%20Agreement%20Protocols</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/cryptographic-agreements-identity-ecdh-key-agreement/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-24T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oauth2-dynamic-client-registration-multi-tenant-saas</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OAuth2%20Dynamic%20Client%20Registration%20for%20Multi-Tenant%20SaaS</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oauth2-dynamic-client-registration-multi-tenant-saas/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-23T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/cwe-287-improper-authentication-implementation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Understanding%20and%20Implementing%20CWE-287%3A%20Improper%20Authentication</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/cwe-287-improper-authentication-implementation/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-22T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/mfa-totp-spring-boot-implementation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20Multi-Factor%20Authentication%20with%20TOTP%20in%20Spring%20Boot</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/mfa-totp-spring-boot-implementation/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-21T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/building-custom-authentication-provider-spring-security</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20a%20Custom%20Authentication%20Provider%20in%20Spring%20Security</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/building-custom-authentication-provider-spring-security/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-20T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oauth2-security-best-practices-checklist-2025</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OAuth2%20Security%20Best%20Practices%20Checklist%3A%202025%20Edition</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oauth2-security-best-practices-checklist-2025/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-19T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/mtls-spring-boot-implementation-guide</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20Mutual%20TLS%20in%20Spring%20Boot%20Applications</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/mtls-spring-boot-implementation-guide/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-18T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/x509-certificates-basics-to-mtls-implementation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Understanding%20X.509%20Certificates%3A%20From%20Basics%20to%20mTLS%20Implementation</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/x509-certificates-basics-to-mtls-implementation/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-17T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/enterprise-sso-azure-ad-okta-keycloak</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20Enterprise%20SSO%20with%20Azure%20AD%2C%20Okta%2C%20and%20Keycloak</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/enterprise-sso-azure-ad-okta-keycloak/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-16T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/building-identity-gateway-spring-cloud-gateway</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20an%20Identity%20Gateway%20with%20Spring%20Cloud%20Gateway</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/building-identity-gateway-spring-cloud-gateway/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-15T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/real-time-identity-dashboard-keycloak-grafana</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20a%20Real-Time%20Identity%20Dashboard%20with%20Keycloak%20and%20Grafana</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/real-time-identity-dashboard-keycloak-grafana/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-14T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/privileged-access-management-pam-admin-accounts</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Privileged%20Access%20Management%3A%20Securing%20Administrative%20Accounts</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/privileged-access-management-pam-admin-accounts/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-13T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/browser-cookies-sso-technical-deep-dive</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=How%20Browser%20Cookies%20Work%20in%20SSO%3A%20A%20Technical%20Deep%20Dive</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/browser-cookies-sso-technical-deep-dive/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-12T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oauth2-authorization-server-metadata-rfc-8414</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Understanding%20OAuth2%20Authorization%20Server%20Metadata%20(RFC%208414)</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oauth2-authorization-server-metadata-rfc-8414/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-11T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/iot-security-identity-connected-devices</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Why%20Identity%20Precedes%20Connectivity%20in%20IoT%20Security</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/iot-security-identity-connected-devices/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-10T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/identity-driven-kubernetes-access-gatekeeper-kyverno</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Identity-Driven%20Kubernetes%20Access%3A%20Beyond%20RBAC%20with%20Gatekeeper%20and%20Kyverno</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/identity-driven-kubernetes-access-gatekeeper-kyverno/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-09T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/account-lockout-brute-force-protection-spring-security</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20Account%20Lockout%20and%20Brute%20Force%20Protection%20in%20Spring%20Security</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/account-lockout-brute-force-protection-spring-security/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-08T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/complete-guide-tls-1-3-changes-importance</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=The%20Complete%20Guide%20to%20TLS%201.3%3A%20Changes%20%26%20Importance</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/complete-guide-tls-1-3-changes-importance/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-07T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/delegated-administration-iam-implementation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20Delegated%20Administration%20in%20IAM%20Systems</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/delegated-administration-iam-implementation/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-06T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oauth2-machine-learning-apis-securing-model-endpoints</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OAuth2%20for%20Machine%20Learning%20APIs%3A%20Securing%20Model%20Serving%20Endpoints</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oauth2-machine-learning-apis-securing-model-endpoints/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-05T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/identity-data-security-encrypting-tokenizing-pii</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Identity%20Data%20Security%3A%20Encrypting%20and%20Tokenizing%20PII%20in%20Identity%20Stores</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/identity-data-security-encrypting-tokenizing-pii/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-04T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/implementing-consent-management-oidc-gdpr-privacy-compliance</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20Consent%20Management%20with%20OIDC%3A%20GDPR%20and%20Privacy%20Compliance</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/implementing-consent-management-oidc-gdpr-privacy-compliance/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-03T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/role-of-identity-in-devsecops-integrating-security-pipeline</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=The%20Role%20of%20Identity%20in%20DevSecOps%3A%20Integrating%20Security%20into%20the%20Pipeline</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/role-of-identity-in-devsecops-integrating-security-pipeline/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-02T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/implementing-risk-based-authentication-keycloak-spring-boot</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20Risk-Based%20Authentication%20with%20Keycloak%20and%20Spring%20Boot</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/implementing-risk-based-authentication-keycloak-spring-boot/hero-0.png</image:loc>
</image:image>
<lastmod>2026-04-01T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/common-oauth2-implementation-mistakes</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Common%20OAuth2%20Implementation%20Mistakes%20and%20How%20to%20Avoid%20Them</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/common-oauth2-implementation-mistakes/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-31T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oauth2-device-authorization-grant-iot-cli</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OAuth2%20Device%20Grant%3A%20IoT%20%26%20CLI%20Auth%20(RFC%208628)</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oauth2-device-authorization-grant-iot-cli/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-30T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/understanding-dpop-oauth2-proof-of-possession</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Understanding%20DPoP%20for%20OAuth2%3A%20Securing%20Token%20Binding%20with%20RFC%209449</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/understanding-dpop-oauth2-proof-of-possession/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-29T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oauth2-client-authentication-methods</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OAuth2%20Client%20Authentication%20Methods%3A%20client_secret_basic%2C%20private_key_jwt%2C%20and%20More</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oauth2-client-authentication-methods/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-28T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/complete-guide-jwt-claims-standard-custom</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=The%20Complete%20Guide%20to%20JSON%20Web%20Token%20(JWT)%20Claims</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/complete-guide-jwt-claims-standard-custom/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-27T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/understanding-oauth-2-0-rich-authorization-requests-rar</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Understanding%20OAuth%202.0%20Rich%20Authorization%20Requests%20(RAR)</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/understanding-oauth-2-0-rich-authorization-requests-rar/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-26T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/implementing-workforce-vs-customer-identity-ciam</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Workforce%20vs%20Customer%20Identity%20(CIAM)%3A%20Implementation%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/implementing-workforce-vs-customer-identity-ciam/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-25T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/building-identity-aware-api-gateway-kong-oidc</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20an%20Identity-Aware%20API%20Gateway%20with%20Kong%20and%20OIDC</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/building-identity-aware-api-gateway-kong-oidc/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-24T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/iam-metrics-measuring-security-effectiveness</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=IAM%20Metrics%3A%20Measuring%20Security%20Effectiveness</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/iam-metrics-measuring-security-effectiveness/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-23T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/implementing-just-in-time-provisioning-saml-oidc</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20Just-in-Time%20Provisioning%20with%20SAML%20and%20OIDC</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/implementing-just-in-time-provisioning-saml-oidc/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-22T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/identity-architecture-micro-frontends-multi-platform</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Identity%20Architecture%20Patterns%20for%20Micro-Frontends%20and%20Multi-Platform</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/identity-architecture-micro-frontends-multi-platform/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-21T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/building-secure-micro-frontends-oidc-token-sharing</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20Secure%20Micro-Frontends%20with%20OIDC%20and%20Token%20Mediation</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/building-secure-micro-frontends-oidc-token-sharing/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-20T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/securing-websocket-oauth2-jwt</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Securing%20WebSocket%20Connections%20with%20OAuth2%20and%20JWT</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/securing-websocket-oauth2-jwt/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-19T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/event-driven-architecture-identity-security-events</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Event-Driven%20Architecture%20for%20Identity%3A%20Security%20Events%20and%20Real-Time%20Monitoring</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/event-driven-architecture-identity-security-events/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-18T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/scim-2-automated-user-provisioning-deprovisioning</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20SCIM%202.0%3A%20Automated%20User%20Provisioning%20and%20De-provisioning</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/scim-2-automated-user-provisioning-deprovisioning/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-17T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/automating-access-reviews-keycloak-spring-boot</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Automating%20Access%20Reviews%20with%20Keycloak%20and%20Spring%20Boot</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/automating-access-reviews-keycloak-spring-boot/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-16T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/identity-resilience-testing-chaos-engineering-iam</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Identity%20Resilience%20Testing%3A%20Chaos%20Engineering%20for%20IAM%20Systems</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/identity-resilience-testing-chaos-engineering-iam/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-15T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/privacy-enhancing-technologies-identity-management</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Privacy-Enhancing%20Technologies%20for%20Privacy%20Identity%20Management</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/privacy-enhancing-technologies-identity-management/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-14T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/identity-first-security-network-perimeter-to-identity</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Identity-First%20Security%3A%20Shifting%20to%20Identity%20Perimeter</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/identity-first-security-network-perimeter-to-identity/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-13T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/ai-identity-security-opportunities-risks</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=AI%20in%20Identity%20Security%3A%20Opportunities%20%26%20Risks</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/ai-identity-security-opportunities-risks/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-12T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/resilient-authentication-failover-disaster-recovery-iam</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20Resilient%20Authentication%3A%20Failover%20and%20Disaster%20Recovery%20for%20IAM</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/resilient-authentication-failover-disaster-recovery-iam/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-11T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/saml-metadata-signature-validation-spoofing</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=SAML%20Metadata%20Signature%20Validation%3A%20Preventing%20Metadata%20Spoofing</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/saml-metadata-signature-validation-spoofing/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-10T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/implementing-attribute-based-access-control-spring-security</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20Attribute-Based%20Access%20Control%20(ABAC)%20with%20Spring%20Security</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/implementing-attribute-based-access-control-spring-security/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-09T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/spring-security-oauth2-resource-server-api</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Spring%20Security%20OAuth2%20Resource%20Server%3A%20Securing%20APIs</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/spring-security-oauth2-resource-server-api/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-08T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/spring-security-method-security-preauthorize-spel</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Spring%20Security%20Method%20Security%3A%20%40PreAuthorize%2C%20%40Secured%2C%20and%20SpEL</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/spring-security-method-security-preauthorize-spel/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-07T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oauth2-pushed-authorization-requests-par</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Understanding%20OAuth%202.0%20Pushed%20Authorization%20Requests%20(PAR)</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oauth2-pushed-authorization-requests-par/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-06T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oauth2-token-exchange-delegation-impersonation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OAuth2%20Token%20Exchange%3A%20Delegation%20and%20Impersonation%20Flows</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oauth2-token-exchange-delegation-impersonation/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-05T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/sbom-software-bill-of-materials-identity-supply-chain-security</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=SBOMs%20and%20Identity%3A%20From%20Inventory%20to%20Trust</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/sbom-software-bill-of-materials-identity-supply-chain-security/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-04T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/kubernetes-rbac-service-account-security</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Kubernetes%20RBAC%20and%20Service%20Account%20Security</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/kubernetes-rbac-service-account-security/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-03T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/machine-identity-management-hidden-attack-surface</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Machine%20Identity%20Management%3A%20The%20Hidden%20Attack%20Surface</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/machine-identity-management-hidden-attack-surface/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-02T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/identity-provider-bridging-saml-oidc-token-translation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=How%20Identity%20Provider%20Bridging%20Works%3A%20SAML-to-OIDC%20Token%20Translation</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/identity-provider-bridging-saml-oidc-token-translation/hero-0.png</image:loc>
</image:image>
<lastmod>2026-03-01T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/designing-centralized-identity-platform-lessons</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Designing%20a%20Centralized%20Identity%20Platform%3A%20Lessons%20Learned</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/designing-centralized-identity-platform-lessons/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-28T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/session-management-security-cookies-tokens</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Session%20Management%20Security%3A%20Cookies%2C%20Tokens%2C%20and%20Best%20Practices</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/session-management-security-cookies-tokens/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-27T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/react-authentication-auth0-oidc-guide</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=React%20Authentication%20with%20Auth0%20and%20OIDC%3A%20A%20Developer%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/react-authentication-auth0-oidc-guide/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-26T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/angular-authentication-oidc-angular-oauth2-oidc</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Angular%20Authentication%20with%20OIDC%3A%20Using%20angular-oauth2-oidc%20Library</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/angular-authentication-oidc-angular-oauth2-oidc/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-25T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/credential-stuffing-account-takeover-prevention</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Credential%20Stuffing%20and%20Account%20Takeover%20Prevention</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/credential-stuffing-account-takeover-prevention/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-24T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/identity-federation-patterns-multi-cloud</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Identity%20Federation%20Patterns%3A%20Multi-Cloud%20Identity%20Management</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/identity-federation-patterns-multi-cloud/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-23T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/building-developer-identity-portal-spring-boot-keycloak</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20a%20Developer%20Identity%20Portal%20with%20Spring%20Boot%20and%20Keycloak</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/building-developer-identity-portal-spring-boot-keycloak/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-22T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/rbac-vs-abac-access-control-comparison</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=RBAC%20vs%20ABAC%3A%20Static%20Roles%20vs.%20Dynamic%20Attributes</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/rbac-vs-abac-access-control-comparison/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-21T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/healthcare-identity-management-hipaa-compliance</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Healthcare%20Identity%20Management%3A%20HIPAA%20Compliance%20%26%20IAM</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/healthcare-identity-management-hipaa-compliance/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-20T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/open-banking-psd2-strong-customer-authentication-implementation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Open%20Banking%20and%20PSD2%3A%20Strong%20Customer%20Authentication%20(SCA)%20Implementation</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/open-banking-psd2-strong-customer-authentication-implementation/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-19T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/ldap-vs-active-directory-vs-cloud-directory</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=LDAP%20vs%20Active%20Directory%20vs%20Cloud%20Directory%3A%20Directory%20Services%20Compared</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/ldap-vs-active-directory-vs-cloud-directory/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-18T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/content-security-policy-identity-applications</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Content%20Security%20Policy%20for%20Identity%20Applications</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/content-security-policy-identity-applications/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-17T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/cors-security-configuration-guide</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Cross-Origin%20Resource%20Sharing%20(CORS)%20Security%3A%20Configuration%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/cors-security-configuration-guide/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-16T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/grpc-security-tls-token-propagation-interceptors</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=gRPC%20Security%3A%20TLS%2C%20Token%20Propagation%2C%20and%20Interceptor%20Patterns</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/grpc-security-tls-token-propagation-interceptors/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-15T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/graphql-security-authentication-authorization-patterns</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=GraphQL%20Security%3A%20Authentication%20and%20Authorization%20Patterns</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/graphql-security-authentication-authorization-patterns/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-14T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/cas-protocol-vs-saml-vs-oidc-comparison</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=CAS%20Protocol%20vs%20SAML%20vs%20OIDC%3A%20Legacy%20SSO%20Protocol%20Comparison</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/cas-protocol-vs-saml-vs-oidc-comparison/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-13T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/spring-security-password-encoding-bcrypt-argon2</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Spring%20Security%20Password%20Encoding%3A%20BCrypt%2C%20Argon2%2C%20and%20PBKDF2</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/spring-security-password-encoding-bcrypt-argon2/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-12T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/spring-security-opentelemetry-observability</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Spring%20Security%20and%20OpenTelemetry%3A%20Observability%20for%20Security%20Events</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/spring-security-opentelemetry-observability/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-11T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/spring-security-ldap-authentication-enterprise</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Spring%20Security%20LDAP%20Authentication%3A%20Enterprise%20Directory%20Integration</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/spring-security-ldap-authentication-enterprise/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-10T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/spring-session-distributed-session-management</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Spring%20Session%3A%20Distributed%20Session%20Management</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/spring-session-distributed-session-management/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-09T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/spring-security-6-spring-boot-3-migration-guide</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Spring%20Security%206%20and%20Spring%20Boot%203%3A%20Migration%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/spring-security-6-spring-boot-3-migration-guide/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-08T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/spring-security-testing-unit-integration-tests</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Spring%20Security%20Testing%3A%20Unit%20%26%20Integration%20Tests</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/spring-security-testing-unit-integration-tests/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-07T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/spring-security-cors-csrf-spa-configuration</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Spring%20Security%20CORS%20and%20CSRF%3A%20Proper%20Configuration%20for%20SPAs</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/spring-security-cors-csrf-spa-configuration/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-06T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/spring-security-reactive-webflux</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Spring%20Security%20with%20Reactive%20WebFlux%3A%20Security%20for%20Reactive%20Applications</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/spring-security-reactive-webflux/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-05T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/custom-spring-security-filters-authentication-patterns</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Custom%20Spring%20Security%20Filters%3A%20Advanced%20Authentication%20Patterns</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/custom-spring-security-filters-authentication-patterns/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-04T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/spring-security-jwt-authentication-implementation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Spring%20Security%20with%20JWT%3A%20Complete%20Authentication%20Implementation</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/spring-security-jwt-authentication-implementation/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-03T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/spring-security-architecture-filters-chains</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Spring%20Security%3A%20Filters%2C%20Chains%20%26%20Auth</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/spring-security-architecture-filters-chains/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-02T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/aws-compliance-automation-config-audit-security-hub</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=AWS%20Compliance%20Automation%3A%20Config%2C%20Audit%20Manager%2C%20and%20Security%20Hub</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/aws-compliance-automation-config-audit-security-hub/hero-0.png</image:loc>
</image:image>
<lastmod>2026-02-01T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/ssh-key-management-beyond-password-authentication</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=SSH%20Key%20Management%3A%20Moving%20Beyond%20Password%20Authentication</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/ssh-key-management-beyond-password-authentication/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-31T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/api-key-management-best-practices-design-distribution-rotation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=API%20Key%20Management%20Best%20Practices%3A%20Design%2C%20Distribution%2C%20and%20Rotation</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/api-key-management-best-practices-design-distribution-rotation/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-30T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/certificate-lifecycle-automation-cert-manager-vault</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Certificate%20Lifecycle%20Automation%20with%20cert-manager%20and%20Vault%20PKI</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/certificate-lifecycle-automation-cert-manager-vault/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-29T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/zero-trust-cicd-securing-software-delivery-pipeline</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Zero%20Trust%20for%20CI%2FCD%3A%20Securing%20the%20Software%20Delivery%20Pipeline</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/zero-trust-cicd-securing-software-delivery-pipeline/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-28T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/spiffe-spire-universal-identity-services</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=SPIFFE%20and%20SPIRE%3A%20Universal%20Identity%20for%20Services</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/spiffe-spire-universal-identity-services/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-27T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/gitops-security-kubernetes-secrets-configuration</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=GitOps%20Security%3A%20Protecting%20Kubernetes%20Secrets%20and%20Configuration</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/gitops-security-kubernetes-secrets-configuration/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-26T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/spring-security-graphql-api-security</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Spring%20Security%20and%20GraphQL%3A%20Securing%20GraphQL%20APIs</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/spring-security-graphql-api-security/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-25T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/building-custom-userdetails-service-spring-security</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20a%20Custom%20UserDetailsService%20with%20Spring%20Security</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/building-custom-userdetails-service-spring-security/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-24T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/aws-waf-shield-application-protection</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=AWS%20WAF%20and%20Shield%3A%20Protecting%20Applications%20from%20Layer%207%20Attacks</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/aws-waf-shield-application-protection/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-23T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/multi-account-aws-security-organizations-iam</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Multi-Account%20AWS%20Security%20Strategy%20with%20IAM%20and%20Organizations</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/multi-account-aws-security-organizations-iam/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-22T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/aws-kms-encryption-data-protection-strategy</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=AWS%20KMS%20and%20Encryption%3A%20Data%20Protection%20Strategy</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/aws-kms-encryption-data-protection-strategy/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-21T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/supply-chain-identity-security-third-party</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Supply%20Chain%20Identity%20Security%3A%20Managing%20Third-Party%20Access</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/supply-chain-identity-security-third-party/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-20T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/identity-governance-administration-best-practices</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=IGA%3A%20Mechanisms%20Over%20Checklists</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/identity-governance-administration-best-practices/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-19T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/device-trust-certificate-based-authentication</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Device%20Trust%20and%20Certificate-Based%20Authentication</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/device-trust-certificate-based-authentication/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-18T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/continuous-authentication-beyond-one-time-login</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Continuous%20Authentication%3A%20Moving%20Beyond%20One-Time%20Login</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/continuous-authentication-beyond-one-time-login/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-17T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/mfa-fatigue-attacks-push-bombing-defense</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=MFA%20Fatigue%20Attacks%3A%20Defending%20Against%20Push%20Bombing</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/mfa-fatigue-attacks-push-bombing-defense/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-16T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/adaptive-authentication-risk-based-access-control</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Adaptive%20Authentication%3A%20Risk-Based%20Access%20Control%20with%20ML</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/adaptive-authentication-risk-based-access-control/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-15T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/magic-link-authentication-implementation-guide</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Magic%20Link%20Authentication%3A%20Implementation%20and%20Security%20Considerations</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/magic-link-authentication-implementation-guide/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-14T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/biometric-authentication-web-applications</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Biometric%20Auth%20in%20Web%20Apps%3A%20WebAuthn%20%26%20Beyond</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/biometric-authentication-web-applications/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-13T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/implementing-passkeys-google-apple-microsoft</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Passkeys%20Guide%3A%20Google%2C%20Apple%2C%20Microsoft%20Ecosystems</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/implementing-passkeys-google-apple-microsoft/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-12T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/fido2-webauthn-phishing-resistant-authentication</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=FIDO2%20and%20WebAuthn%3A%20Building%20Phishing-Resistant%20Authentication</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/fido2-webauthn-phishing-resistant-authentication/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-11T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/passwordless-authentication-implementation-guide</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Passwordless%20Authentication%3A%20The%20Complete%20Implementation%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/passwordless-authentication-implementation-guide/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-10T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/security-architecture-identity-first-design-patterns</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Security%20Architecture%20Review%3A%20Patterns%20for%20Identity-First%20Design</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/security-architecture-identity-first-design-patterns/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-09T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/aws-network-security-vpc-iam-integration</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=AWS%20Network%20Security%3A%20VPC%2C%20SG%2C%20NACLs%20%26%20IAM%20Integration</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/aws-network-security-vpc-iam-integration/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-08T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/iac-security-terraform-cloudformation-iam-best-practices</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=IaC%20Security%3A%20Terraform%20IAM%20and%20CloudFormation%20Best%20Practices</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/iac-security-terraform-cloudformation-iam-best-practices/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-07T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/aws-cloudtrail-cloudwatch-guardduty-security-monitoring</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=The%20Mechanics%20of%20AWS%20Security%20Visibility%3A%20CloudTrail%2C%20CloudWatch%20%26%20GuardDuty</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/aws-cloudtrail-cloudwatch-guardduty-security-monitoring/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-06T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/aws-iam-identity-center-implementation-guide</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20AWS%20IAM%20Identity%20Center%3A%20From%20Legacy%20SSO%20to%20Federated%20Control</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/aws-iam-identity-center-implementation-guide/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-05T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/aws-iam-policy-boundaries-permissions-boundaries</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=AWS%20IAM%20Boundaries%2C%20SCPs%20%26%20ABAC%3A%20Advanced%20Access%20Control</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/aws-iam-policy-boundaries-permissions-boundaries/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-04T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/aws-secrets-manager-vs-parameter-store-comparison</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=AWS%20Secrets%20Manager%20vs%20Parameter%20Store%3A%20Secrets%20Management%20Comparison</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/aws-secrets-manager-vs-parameter-store-comparison/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-03T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/aws-serverless-security-lambda-api-gateway</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Serverless%20Security%20on%20AWS%3A%20Lambda%2C%20API%20Gateway%2C%20and%20DynamoDB</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/aws-serverless-security-lambda-api-gateway/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-02T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/aws-s3-bucket-policies-iam-security</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=AWS%20S3%20Bucket%20Policies%20and%20IAM%3A%20Securing%20Data%20Access</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/aws-s3-bucket-policies-iam-security/hero-0.png</image:loc>
</image:image>
<lastmod>2026-01-01T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/aws-sts-assume-role-federation-temporary-credentials</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=AWS%20STS%3A%20AssumeRole%2C%20Federation%2C%20and%20Temporary%20Credentials</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/aws-sts-assume-role-federation-temporary-credentials/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-31T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/aws-iam-roles-service-accounts-eks</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=AWS%20IRSA%3A%20Fine-Grained%20Pod%20Identity%20for%20EKS</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/aws-iam-roles-service-accounts-eks/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-30T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/aws-iam-fundamentals-users-roles-policies</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=AWS%20IAM%20Fundamentals%3A%20Users%2C%20Roles%2C%20Policies%2C%20and%20Best%20Practices</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/aws-iam-fundamentals-users-roles-policies/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-29T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/future-of-authentication-passkeys-ai-passwordless-2025</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=The%20Future%20of%20Authentication%3A%20Passkeys%2C%20AI%2C%20and%20Passwordless%20in%202025</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/future-of-authentication-passkeys-ai-passwordless-2025/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-28T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/decentralized-identity-self-sovereign-identity</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Decentralized%20Identity%20and%20Self-Sovereign%20Identity%20(SSI)%20Explained</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/decentralized-identity-self-sovereign-identity/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-27T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/identity-aware-proxy-beyond-vpn</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Identity-Aware%20Proxy%3A%20Securing%20Applications%20Without%20VPNs</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/identity-aware-proxy-beyond-vpn/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-26T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/api-security-best-practices-rate-limiting-jwt-oauth2</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=API%20Security%20Best%20Practices%3A%20Rate%20Limiting%2C%20JWT%2C%20and%20OAuth2%20Scopes</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/api-security-best-practices-rate-limiting-jwt-oauth2/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-25T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/microservices-security-oauth2-jwt-mtls-patterns</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Microservices%20Security%20Architecture%3A%20OAuth2%2C%20JWT%2C%20and%20mTLS%20Patterns</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/microservices-security-oauth2-jwt-mtls-patterns/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-24T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/beyondtrust-zero-trust-identity-framework</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=BeyondTrust%3A%20Building%20a%20Zero%20Trust%20Identity%20Framework</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/beyondtrust-zero-trust-identity-framework/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-23T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/identity-threat-detection-response-itdr</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Identity%20Threat%20Detection%20and%20Response%20(ITDR)%3A%20The%20New%20Security%20Frontier</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/identity-threat-detection-response-itdr/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-22T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/zero-trust-architecture-implementation-guide</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Zero%20Trust%20Architecture%3A%20A%20Practical%20Implementation%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/zero-trust-architecture-implementation-guide/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-21T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-hardening-production-security</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Securing%20Keycloak%3A%20Hardening%20Guide%20for%20Production</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/keycloak-hardening-production-security/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-20T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-spi-custom-provider-development</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20SPI%20Development%3A%20Building%20Custom%20Providers</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/keycloak-spi-custom-provider-development/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-19T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-organizations-multi-tenant-management</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20Organizations%3A%20Multi-Tenant%20Identity%20Management</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/keycloak-organizations-multi-tenant-management/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-18T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-performance-tuning-cache-strategies</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20Performance%20Tuning%3A%20JDBC%20Ping%20vs%20DNS_PING%20Cache%20Strategies</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/keycloak-performance-tuning-cache-strategies/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-17T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-rest-api-admin-management</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20REST%20API%3A%20Programmatic%20Realm%20and%20User%20Management</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/keycloak-rest-api-admin-management/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-16T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/migrating-from-forgerock-to-keycloak-lessons-learned</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Migrating%20from%20ForgeRock%20to%20Keycloak%3A%20Lessons%20Learned</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/migrating-from-forgerock-to-keycloak-lessons-learned/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-15T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-client-scopes-protocol-mappers</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20Client%20Scopes%20and%20Protocol%20Mappers%20Explained</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/keycloak-client-scopes-protocol-mappers/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-14T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-identity-provider-federation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20Identity%20Provider%20Federation%3A%20Bridging%20Multiple%20IdPs</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/keycloak-identity-provider-federation/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-13T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-event-logging-auditing-compliance</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20Event%20Logging%20and%20Auditing%20for%20Compliance</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/keycloak-event-logging-auditing-compliance/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-12T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-custom-themes-login-pages</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20Themes%3A%20Building%20Custom%20Login%20and%20Account%20Console%20Pages</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/keycloak-custom-themes-login-pages/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-11T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-high-availability-clustering-scaling</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20High%20Availability%3A%20Clustering%20and%20Scaling</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/keycloak-high-availability-clustering-scaling/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-10T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-user-federation-ldap-ad</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20User%20Federation%3A%20LDAP%2C%20AD%20%26%20Custom</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/keycloak-user-federation-ldap-ad/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-09T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-spring-boot-advanced-integration</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20and%20Spring%20Boot%20Integration%3A%20Advanced%20Patterns</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/keycloak-spring-boot-advanced-integration/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-08T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-custom-authentication-flows</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20Custom%20Authentication%20Flows%3A%20Building%20Custom%20Login%20Experiences</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/keycloak-custom-authentication-flows/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-07T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/keycloak-architecture-internal-components-data-flow</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Keycloak%20Architecture%20Deep%20Dive%3A%20Internal%20Components%20and%20Data%20Flow</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/keycloak-architecture-internal-components-data-flow/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-06T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/saml-microservices-patterns-anti-patterns</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=SAML%20in%20Microservices%3A%20Patterns%20and%20Anti-Patterns</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/saml-microservices-patterns-anti-patterns/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-05T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/migrating-saml-to-oidc-practical-guide</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Migrating%20from%20SAML%20to%20OIDC%3A%20A%20Practical%20Migration%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/migrating-saml-to-oidc-practical-guide/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-04T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/saml-metadata-management-best-practices</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=SAML%20Metadata%20Management%3A%20Best%20Practices</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/saml-metadata-management-best-practices/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-03T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/saml-aws-iam-federation-guide</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Integrating%20SAML%20with%20AWS%20IAM%20Federated%20Access</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/saml-aws-iam-federation-guide/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-02T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/securing-saml-assertions-xml-signature-encryption</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Securing%20SAML%20Assertions%3A%20XML%20Sig%20%26%20Encryption</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/securing-saml-assertions-xml-signature-encryption/hero-0.png</image:loc>
</image:image>
<lastmod>2025-12-01T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/saml-single-logout-implementation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=SAML%20Single%20Logout%3A%20Implementation%20Patterns%20and%20Pitfalls</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/saml-single-logout-implementation/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-30T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/troubleshooting-saml-common-issues</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Troubleshooting%20SAML%3A%20Common%20Issues%20and%20Fixes</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/troubleshooting-saml-common-issues/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-29T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/saml-vs-oauth2-vs-oidc-decision-guide</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=SAML%20vs%20OAuth%202.0%20vs%20OIDC%3A%20Which%20Protocol%20to%20Choose%20in%202025</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/saml-vs-oauth2-vs-oidc-decision-guide/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-28T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/configuring-saml-sso-service-provider-setup</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Configuring%20SAML%20SSO%3A%20Service%20Provider%20Setup%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/configuring-saml-sso-service-provider-setup/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-27T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/saml-2-0-explained-enterprise-sso</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=SAML%202.0%20Explained%3A%20The%20Complete%20Guide%20to%20Enterprise%20SSO</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/saml-2-0-explained-enterprise-sso/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-26T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oidc-claims-customizing-user-identity</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OIDC%20Claims%3A%20The%20Mechanics%20of%20Identity%20Customization</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oidc-claims-customizing-user-identity/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-25T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oidc-front-channel-back-channel-logout</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OIDC%20Front-Channel%20vs%20Back-Channel%20Logout%3A%20Implementation%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oidc-front-channel-back-channel-logout/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-24T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/social-login-oidc-google-github-microsoft</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Social%20Login%20with%20OIDC%3A%20Google%2C%20GitHub%20%26%20Microsoft</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/social-login-oidc-google-github-microsoft/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-23T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oidc-discovery-dynamic-client-registration</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Mastering%20OIDC%20Discovery%20and%20Dynamic%20Client%20Registration</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oidc-discovery-dynamic-client-registration/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-22T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/custom-oidc-provider-spring-authorization-server</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20a%20Custom%20OIDC%20Provider%20with%20Spring%20Authorization%20Server</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/custom-oidc-provider-spring-authorization-server/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-21T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oidc-token-management-strategies</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OIDC%20Token%20Management%3A%20Access%2C%20ID%2C%20and%20Refresh%20Token%20Strategies</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oidc-token-management-strategies/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-20T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/implementing-oidc-authentication-spring-boot-keycloak</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20OIDC%20Authentication%20in%20Spring%20Boot%20with%20Keycloak</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/implementing-oidc-authentication-spring-boot-keycloak/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-19T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/jwt-structure-signing-validation</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Understanding%20JWT%3A%20Structure%2C%20Signing%2C%20and%20Validation</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/jwt-structure-signing-validation/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-18T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/openid-connect-complete-guide-beyond-oauth-2</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OpenID%20Connect%20Guide%3A%20Extending%20OAuth%202.0%20for%20Identity%20Verification</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/openid-connect-complete-guide-beyond-oauth-2/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-17T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/testing-oauth2-implementations-guide</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Testing%20OAuth%202.0%20Implementations%3A%20A%20Developer's%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/testing-oauth2-implementations-guide/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-16T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oauth2-security-best-practices</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OAuth%202.0%20Security%20Best%20Practices%3A%20Preventing%20Common%20Vulnerabilities</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oauth2-security-best-practices/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-15T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/building-multi-tenant-oauth2-authorization-server</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Building%20a%20Multi-Tenant%20OAuth%202.0%20Authorization%20Server</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/building-multi-tenant-oauth2-authorization-server/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-14T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oauth-2-1-changes-migration-guide</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OAuth%202.1%3A%20What's%20Changing%20and%20How%20to%20Prepare</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oauth-2-1-changes-migration-guide/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-13T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oauth2-vs-jwt-relationship-explained</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OAuth%202.0%20vs%20JWT%3A%20Understanding%20the%20Relationship</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oauth2-vs-jwt-relationship-explained/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-12T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/securing-rest-apis-oauth2-resource-server-spring-boot</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Securing%20REST%20APIs%20with%20OAuth%202.0%20Resource%20Server</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/securing-rest-apis-oauth2-resource-server-spring-boot/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-11T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oauth2-token-introspection-revocation-production-strategies</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OAuth%202.0%20Token%20Introspection%20%26%20Revocation%20Strategies</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oauth2-token-introspection-revocation-production-strategies/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-10T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/implementing-oauth-2-0-client-credentials-flow-microservices</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=Implementing%20OAuth%202.0%20Client%20Credentials%20Flow%20for%20Microservices</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/implementing-oauth-2-0-client-credentials-flow-microservices/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-09T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oauth2-authorization-code-pkce-guide</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OAuth%202.0%20Authorization%20Code%20Flow%20with%20PKCE%3A%20A%20Complete%20Guide</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oauth2-authorization-code-pkce-guide/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-08T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/oauth-2-0-explained-roles-tokens-trust-boundaries</loc>
<image:image>
<image:loc>https://ashishsrivastav.com/og?title=OAuth%202.0%20Explained%3A%20Roles%2C%20Tokens%20%26%20Trust%20Boundaries</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.ashishsrivastav.com/2026/05/oauth-2-0-explained-roles-tokens-trust-boundaries/hero-0.png</image:loc>
</image:image>
<lastmod>2025-11-07T19:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/security</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/security/page/2</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/security/page/3</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/security/page/4</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/security/page/5</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/security/page/6</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/security/page/7</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/security/page/8</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/security/page/9</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/security/page/10</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/security/page/11</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/authentication</loc>
<lastmod>2026-10-26T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/authentication/page/2</loc>
<lastmod>2026-10-26T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/authentication/page/3</loc>
<lastmod>2026-10-26T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/authentication/page/4</loc>
<lastmod>2026-10-26T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/authentication/page/5</loc>
<lastmod>2026-10-26T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/authentication/page/6</loc>
<lastmod>2026-10-26T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/authentication/page/7</loc>
<lastmod>2026-10-26T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/authentication/page/8</loc>
<lastmod>2026-10-26T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/keycloak</loc>
<lastmod>2026-10-01T16:03:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/keycloak/page/2</loc>
<lastmod>2026-10-01T16:03:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/keycloak/page/3</loc>
<lastmod>2026-10-01T16:03:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/keycloak/page/4</loc>
<lastmod>2026-10-01T16:03:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/identity-management</loc>
<lastmod>2026-10-24T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/identity-management/page/2</loc>
<lastmod>2026-10-24T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/identity-management/page/3</loc>
<lastmod>2026-10-24T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/oauth2</loc>
<lastmod>2026-10-25T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/oauth2/page/2</loc>
<lastmod>2026-10-25T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/oauth2/page/3</loc>
<lastmod>2026-10-25T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/llm</loc>
<lastmod>2026-10-27T08:26:05.081Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/llm/page/2</loc>
<lastmod>2026-10-27T08:26:05.081Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/llm/page/3</loc>
<lastmod>2026-10-27T08:26:05.081Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/backend</loc>
<lastmod>2026-10-25T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/backend/page/2</loc>
<lastmod>2026-10-25T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/backend/page/3</loc>
<lastmod>2026-10-25T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/machine-learning</loc>
<lastmod>2026-10-27T06:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/machine-learning/page/2</loc>
<lastmod>2026-10-27T06:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/spring-security</loc>
<lastmod>2026-10-16T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/spring-security/page/2</loc>
<lastmod>2026-10-16T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/sso</loc>
<lastmod>2026-10-23T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/sso/page/2</loc>
<lastmod>2026-10-23T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/oidc</loc>
<lastmod>2026-10-26T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/oidc/page/2</loc>
<lastmod>2026-10-26T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/aws</loc>
<lastmod>2026-10-02T09:39:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/aws/page/2</loc>
<lastmod>2026-10-02T09:39:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/java</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/java/page/2</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/saml</loc>
<lastmod>2026-10-19T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/saml/page/2</loc>
<lastmod>2026-10-19T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/iam</loc>
<lastmod>2026-10-21T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/iam/page/2</loc>
<lastmod>2026-10-21T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/identity</loc>
<lastmod>2026-10-26T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/identity/page/2</loc>
<lastmod>2026-10-26T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/jwt</loc>
<lastmod>2026-10-01T16:03:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/jwt/page/2</loc>
<lastmod>2026-10-01T16:03:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/access-control</loc>
<lastmod>2026-10-27T08:26:39.246Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/access-control/page/2</loc>
<lastmod>2026-10-27T08:26:39.246Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/spring-boot</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/spring-boot/page/2</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/api-security</loc>
<lastmod>2026-10-12T01:32:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/api-security/page/2</loc>
<lastmod>2026-10-12T01:32:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/web-security</loc>
<lastmod>2026-10-04T20:22:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/web-security/page/2</loc>
<lastmod>2026-10-04T20:22:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/devops</loc>
<lastmod>2026-10-26T17:45:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/devops/page/2</loc>
<lastmod>2026-10-26T17:45:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/rag</loc>
<lastmod>2026-10-26T00:08:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/zero-trust</loc>
<lastmod>2026-10-01T10:11:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/cloud-security</loc>
<lastmod>2026-10-02T06:43:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/authorization</loc>
<lastmod>2026-10-12T01:32:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/ai-agents</loc>
<lastmod>2026-10-24T21:43:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/backend-development</loc>
<lastmod>2026-10-27T08:26:39.246Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/inference</loc>
<lastmod>2026-10-27T08:26:13.312Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/llm-optimization</loc>
<lastmod>2026-10-27T08:26:13.312Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/security-architecture</loc>
<lastmod>2026-10-27T08:26:39.246Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/devsecops</loc>
<lastmod>2026-10-04T05:41:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/kubernetes</loc>
<lastmod>2026-10-26T14:49:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/mtls</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/nlp</loc>
<lastmod>2026-10-25T15:20:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/sre</loc>
<lastmod>2026-10-27T08:26:05.081Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/openid-connect</loc>
<lastmod>2026-10-26T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/cybersecurity</loc>
<lastmod>2026-10-13T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/identity-security</loc>
<lastmod>2026-10-13T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/oauth-2-0</loc>
<lastmod>2026-08-08T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/architecture</loc>
<lastmod>2026-10-21T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/cost-optimization</loc>
<lastmod>2026-10-27T05:29:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/migration</loc>
<lastmod>2026-10-15T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/session-management</loc>
<lastmod>2026-10-11T22:36:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/webauthn</loc>
<lastmod>2026-07-03T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/ai-infrastructure</loc>
<lastmod>2026-10-26T11:53:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/compliance</loc>
<lastmod>2026-10-03T06:12:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/fine-tuning</loc>
<lastmod>2026-10-27T06:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/mlops</loc>
<lastmod>2026-10-26T20:41:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/passwordless</loc>
<lastmod>2026-07-24T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/tls</loc>
<lastmod>2026-10-04T14:29:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/vllm</loc>
<lastmod>2026-10-21T11:32:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/abac</loc>
<lastmod>2026-10-27T08:26:39.246Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/ai</loc>
<lastmod>2026-10-26T23:37:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/angular</loc>
<lastmod>2026-08-18T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/identity-governance</loc>
<lastmod>2026-10-14T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/llm-evaluation</loc>
<lastmod>2026-10-26T03:04:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/network-security</loc>
<lastmod>2026-07-13T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/performance</loc>
<lastmod>2026-10-27T08:26:05.081Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/api</loc>
<lastmod>2026-10-25T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/api-gateway</loc>
<lastmod>2026-09-28T20:32:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/authorization-server</loc>
<lastmod>2026-07-14T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/automation</loc>
<lastmod>2026-10-24T09:59:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/identity-federation</loc>
<lastmod>2026-09-05T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/latency</loc>
<lastmod>2026-10-27T05:29:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/platform-engineering</loc>
<lastmod>2026-10-23T16:22:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/quantization</loc>
<lastmod>2026-10-13T01:01:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/rate-limiting</loc>
<lastmod>2026-10-17T16:33:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/secrets-manager</loc>
<lastmod>2026-10-01T18:59:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/spi</loc>
<lastmod>2026-10-01T07:14:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/supply-chain-security</loc>
<lastmod>2026-10-04T02:45:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/web-development</loc>
<lastmod>2026-10-25T00:39:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/best-practices</loc>
<lastmod>2026-10-02T09:39:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/deep-learning</loc>
<lastmod>2026-10-19T21:23:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/deployment</loc>
<lastmod>2026-10-26T20:41:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/gdpr</loc>
<lastmod>2026-10-27T02:33:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/gpu</loc>
<lastmod>2026-10-27T06:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/infrastructure</loc>
<lastmod>2026-10-08T09:29:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/ldap</loc>
<lastmod>2026-10-24T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/llm-training</loc>
<lastmod>2026-10-15T20:31:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/llmops</loc>
<lastmod>2026-10-18T01:21:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/mcp</loc>
<lastmod>2026-10-23T16:22:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/microservices</loc>
<lastmod>2026-09-29T02:24:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/ml-engineering</loc>
<lastmod>2026-10-24T15:51:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/optimization</loc>
<lastmod>2026-10-27T06:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/production</loc>
<lastmod>2026-10-12T04:28:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/prompt-engineering</loc>
<lastmod>2026-10-18T13:06:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/retrieval</loc>
<lastmod>2026-10-23T07:34:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/single-sign-on</loc>
<lastmod>2026-07-06T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/streaming</loc>
<lastmod>2026-10-25T00:39:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/token-revocation</loc>
<lastmod>2026-10-08T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/vector-search</loc>
<lastmod>2026-10-22T19:49:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/active-directory</loc>
<lastmod>2026-09-30T04:49:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/ai-architecture</loc>
<lastmod>2026-10-12T10:20:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/ai-security</loc>
<lastmod>2026-10-23T19:18:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/cloud</loc>
<lastmod>2026-09-26T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/debugging</loc>
<lastmod>2026-10-24T04:07:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/discovery</loc>
<lastmod>2026-08-02T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/encryption</loc>
<lastmod>2026-09-14T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/federated-identity</loc>
<lastmod>2026-02-23T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/kv-cache</loc>
<lastmod>2026-10-21T08:36:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/llm-inference</loc>
<lastmod>2026-10-21T11:32:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/monitoring</loc>
<lastmod>2026-10-09T23:38:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/multi-tenant</loc>
<lastmod>2026-10-13T06:53:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/oauth</loc>
<lastmod>2026-10-21T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/observability</loc>
<lastmod>2026-10-17T10:41:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/opa</loc>
<lastmod>2026-09-30T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/passkeys</loc>
<lastmod>2026-07-03T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/pkce</loc>
<lastmod>2026-08-04T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/rbac</loc>
<lastmod>2026-09-29T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/rfc-8414</loc>
<lastmod>2026-08-02T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/security-engineering</loc>
<lastmod>2026-10-18T18:58:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/ssl</loc>
<lastmod>2026-10-27T08:26:49.177Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/throughput</loc>
<lastmod>2026-10-27T08:26:13.312Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/access-review</loc>
<lastmod>2026-10-03T12:04:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/api-design</loc>
<lastmod>2026-10-22T02:13:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/backend-security</loc>
<lastmod>2026-09-29T20:01:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/benchmark</loc>
<lastmod>2026-10-22T19:49:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/caching</loc>
<lastmod>2026-10-23T07:34:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/capacity-planning</loc>
<lastmod>2026-10-27T08:26:05.081Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/certificate-management</loc>
<lastmod>2026-04-17T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/certificates</loc>
<lastmod>2026-10-04T11:33:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/claims</loc>
<lastmod>2026-08-13T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/cloud-architecture</loc>
<lastmod>2026-10-02T09:39:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/cloudtrail</loc>
<lastmod>2026-10-02T06:43:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/context-window</loc>
<lastmod>2026-10-18T16:02:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/data-protection</loc>
<lastmod>2026-10-27T02:33:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/fido2</loc>
<lastmod>2026-07-02T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/high-availability</loc>
<lastmod>2026-08-20T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/identity-analytics</loc>
<lastmod>2026-10-11T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/idp</loc>
<lastmod>2026-10-19T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/incident-response</loc>
<lastmod>2026-10-18T01:21:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/llm-security</loc>
<lastmod>2026-10-27T05:29:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/llm-serving</loc>
<lastmod>2026-10-09T00:09:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/logout</loc>
<lastmod>2026-10-07T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/lora</loc>
<lastmod>2026-10-27T06:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/machine-identity</loc>
<lastmod>2026-10-04T08:37:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/metadata</loc>
<lastmod>2026-10-17T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/model-evaluation</loc>
<lastmod>2026-10-26T20:41:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/oauth-2-1</loc>
<lastmod>2026-08-08T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/owasp</loc>
<lastmod>2026-10-26T23:37:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/policy-engine</loc>
<lastmod>2026-09-30T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/privacy</loc>
<lastmod>2026-10-27T02:33:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/refresh-token</loc>
<lastmod>2026-06-18T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/reliability</loc>
<lastmod>2026-10-26T17:45:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/retrieval-augmented-generation</loc>
<lastmod>2026-10-22T22:45:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/sbom</loc>
<lastmod>2026-10-03T20:53:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/scim</loc>
<lastmod>2026-09-28T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/secrets-management</loc>
<lastmod>2026-10-03T23:49:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/security-best-practices</loc>
<lastmod>2026-05-30T19:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/tokens</loc>
<lastmod>2026-10-05T08:06:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/transformers</loc>
<lastmod>2026-10-19T21:23:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ashishsrivastav.com/blog/tag/typescript</loc>
<lastmod>2026-10-01T13:07:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
</urlset>
