<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Blog on I_AM Fabio</title>
    <link>https://iam.fabiograsso.net/blog/</link>
    <description>Recent content in Blog on I_AM Fabio</description>
    <generator>Hugo</generator>
    <language>en</language>
    <atom:link href="https://iam.fabiograsso.net/blog/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Times Square and AI in Cafés: What I Learned in New York</title>
      <link>https://iam.fabiograsso.net/blog/okta-ai-newyork/</link>
      <pubDate>Sun, 10 May 2026 10:00:00 +0000</pubDate>
      <guid>https://iam.fabiograsso.net/blog/okta-ai-newyork/</guid>
      <description>Back from a week in New York, I share how AI is now everywhere: from Times Square billboards to subways, from cafés to the laptops of students and professionals. A journey through advertising, real-world use, and governance risks in the era of AI agents.</description>
      <content:encoded>&lt;![CDATA[<p>I just got back from about ten days of vacation between New York and Connecticut. It was my first time in <strong>Manhattan</strong> and I fell in love with it! Anyone who has visited knows its unique <strong>“organized chaos”</strong>: a constant flow of people, lights, ideas, and opportunities. Roaming the city, one thing especially caught my eye: <strong>Artificial Intelligence is everywhere, visible and explicit</strong>.</p>
<p>Not in keynotes or demos for insiders.</p>
<p>In everyday life.</p>
<p>AI has become part of the city’s urban and cultural landscape.</p>

<h2 class="relative group">AI Among the Giants of Times Square
    <div id="ai-among-the-giants-of-times-square" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#ai-among-the-giants-of-times-square" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>Walking through <strong>Times Square</strong>, the world’s most iconic advertising plaza, alongside historic brands like Coca Cola, Samsung, and M&amp;M&rsquo;S, I saw an ad for <strong>Arize AI</strong>.</p>
<p>Arize is a California startup founded in 2020 that develops observability and monitoring platforms for AI models and LLM systems in production. We’re not talking about a social network, a consumer app, or a new tech gadget, but a deeply technical B2B product aimed at the enterprise world.</p>
<p>And that’s exactly the point.</p>
<p>It wasn’t just advertising. It was a symbolic change of status.</p>
<p>AI companies born just a few years ago are now occupying the same cultural and media spaces that for decades were reserved for global consumer brands.</p>
<p>It’s perhaps the clearest sign that AI has now left the tech niche to become mainstream.</p>
<p>Not only that: Anthropic, OpenAI, and other SaaS AI platforms were featured in ads and banners, both outdoors and in the subways. AI is no longer just a topic for insiders: it’s an integral part of New York’s urban and cultural fabric.</p>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="eager"
    decoding="async"
    fetchpriority="high"
    alt="Times Square with AI advertisements"
    srcset="
      /blog/okta-ai-newyork/timesquare_hu_99723765648c795d.webp  330w,
      /blog/okta-ai-newyork/timesquare_hu_727c536dc338cfb7.webp  660w,
      /blog/okta-ai-newyork/timesquare_hu_c2b3907aa3707f64.webp  960w,
      /blog/okta-ai-newyork/timesquare_hu_bff71650dc058ef2.webp 1280w,
      /blog/okta-ai-newyork/timesquare_hu_16e37f273b5bc75e.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/okta-ai-newyork/timesquare.png"
    src="/blog/okta-ai-newyork/timesquare.png">


  
</figure>

<h2 class="relative group">AI in Cafés and the Normality of Prompting
    <div id="ai-in-cafés-and-the-normality-of-prompting" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#ai-in-caf%c3%a9s-and-the-normality-of-prompting" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>In cafés—from Starbucks to Dunkin&rsquo;, Blank Street to Gregorys—watching open laptops, I noticed a constant. Whether students, designers, journalists, or developers, everyone—sooner or later—interacted with an AI tool: Copilot in VSCode, Claude Code, ChatGPT, Gemini. It wasn’t the exception; it was the rule. AI has become the silent companion of those who work, study, and create.</p>
<p>The most interesting thing wasn’t seeing someone use ChatGPT. It was seeing how normal it all seemed.</p>
<p>No one was “trying out AI.”</p>
<p>AI was already integrated into the way people work, study, and code.</p>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="note">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512">
<path fill="currentColor" d="M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM432 256c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zM288 192c0 35.3-28.7 64-64 64c-11.5 0-22.3-3-31.6-8.4c-.2 2.8-.4 5.5-.4 8.4c0 53 43 96 96 96s96-43 96-96s-43-96-96-96c-2.8 0-5.6 .1-8.4 .4c5.3 9.3 8.4 20.1 8.4 31.6z"/></svg></span></div>
        <div class="grow">
          <strong>A note on privacy and digital habits</strong>
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>The ease with which you can glance at others’ screens deserves a separate article. What you see (and hear) on public transport and in cafés is often surprising—and sometimes worrying—for those who work in security.</p>
<p>A tip: use Privacy Screens!</p></div></div>
<h2 class="relative group">A Cultural Gap
    <div id="a-cultural-gap" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#a-cultural-gap" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>On the subway, watching a guy iterate on a prompt in Claude, I remembered a conversation before I left. A colleague, just back from a week of training in the US, told me: <em>“They’re at least six months ahead here. AI is already part of daily work life; in Europe, we’ll get there, but more slowly.”</em></p>
<p>My colleague’s impression is confirmed by the data, though the picture is more nuanced. While the US leads in infrastructure and frontier model development, it ranks only <strong>24th globally</strong> for AI usage among the population (28.3%), surpassed by the UAE, Singapore, and Nordic European countries like Norway, Ireland, and France.<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup></p>
<p>The real gap emerges when looking at professional adoption: <strong>41% of American workers</strong> use GenAI tools for professional activities,<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup> compared to about ~20% of EU companies—with an even greater gap between large enterprises (55%) and SMEs (17%).<sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup></p>
<p>The difference isn’t so much in <em>knowing how</em> to use AI, but in the <strong>speed with which it’s incorporated into organizations’ daily processes</strong>.</p>
<p>This speed, in turn, is influenced by two deeply intertwined factors.</p>
<p>The first is <strong>cultural</strong>: in the US, adoption is often driven by a rapid experimentation mindset—a <em>&ldquo;try first, govern later&rdquo;</em> approach that accelerates spread but leaves many risks open. In Europe, companies and workers tend to have greater sensitivity to privacy, accountability, and risk management.</p>
<p>The second is <strong>regulatory</strong>: frameworks like the EU AI Act arise from this cultural context—not just as constraints, but as a response to a stronger demand for transparency and human oversight. In the short term, this slows down more spontaneous adoption. In the long run, however, it could become an advantage for organizations able to integrate AI, governance, and security sustainably from the start.</p>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="A ChatGPT billboard at Penn Station"
    srcset="
      /blog/okta-ai-newyork/chatgpt-pennstation_hu_60456b07e220bd20.webp  330w,
      /blog/okta-ai-newyork/chatgpt-pennstation_hu_63cef4fe7968ffe4.webp  660w,
      /blog/okta-ai-newyork/chatgpt-pennstation_hu_8ca8926ff323df9f.webp  960w,
      /blog/okta-ai-newyork/chatgpt-pennstation_hu_fead5928671484fb.webp 1280w,
      /blog/okta-ai-newyork/chatgpt-pennstation_hu_5eef39d3dde84622.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/okta-ai-newyork/chatgpt-pennstation.png"
    src="/blog/okta-ai-newyork/chatgpt-pennstation.png">


  
</figure>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="warning">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M506.3 417l-213.3-364c-16.33-28-57.54-28-73.98 0l-213.2 364C-10.59 444.9 9.849 480 42.74 480h426.6C502.1 480 522.6 445 506.3 417zM232 168c0-13.25 10.75-24 24-24S280 154.8 280 168v128c0 13.25-10.75 24-23.1 24S232 309.3 232 296V168zM256 416c-17.36 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 401.9 273.4 416 256 416z"/></svg>
</span></div>
        <div class="grow">
          <strong>The Real Cost of AI? Tokens</strong>
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>Behind the ease with which anyone opens an AI interface in a café, there’s a much less glamorous reality that companies are starting to discover: costs.</p>
<p>Every chat, code generation, or analysis performed by an LLM has a price. And many organizations are realizing that spending on tokens, inference, and AI services is growing much faster than expected.<sup id="fnref:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup></p>
<p>In recent months, several providers have started introducing more granular billing models and stricter limits. GitHub Copilot, for example, is moving toward increasingly usage-based logic,<sup id="fnref:5"><a href="#fn:5" class="footnote-ref" role="doc-noteref">5</a></sup> while Anthropic has changed how tokens are counted for Claude, with concrete impacts on enterprise costs.<sup id="fnref:6"><a href="#fn:6" class="footnote-ref" role="doc-noteref">6</a></sup></p>
<p>The narrative that “AI will automatically save money” is clashing with a more complex reality: without governance, optimization, and control, costs can rise very quickly.</p>
<p>We’ll discuss this in a dedicated article.</p></div></div>
<h2 class="relative group">Chaotic Growth, Real Risks
    <div id="chaotic-growth-real-risks" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#chaotic-growth-real-risks" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>AI usage is growing at a dizzying pace, but often in a disorganized way. In many companies, adoption starts from small teams or individuals—what we call <strong>Shadow AI</strong>: AI tools adopted without IT supervision, without governance, often with access to sensitive data that no one has formally authorized.</p>
<p>CISOs struggle to map how many and which AI tools are actually in use, what data they access, and with what permissions. In the name of speed, developers are increasingly granting AI agents tokens, API keys, and credentials with extended—sometimes even global—privileges, without the same level of control they’d apply to a human or traditional service.</p>
<p>I analyzed this risk in detail in the article <a href="/en/posts/blog/okta-ai-blueprint/" >&ldquo;Securing AI: Okta’s Blueprint for the Secure Agentic Enterprise&rdquo;</a>, but the key point is simple: the speed of adoption is real—and so are the risks it brings.</p>
<p>In New York, I also walked past the historic <strong>Ghostbusters</strong> firehouse. And in the end, Shadow AI is a lot like a ghost: invisible until it causes damage, hard to track, and often already inside the organization before anyone notices.</p>
<p><em>Who you gonna call?</em> In the movie, you just called the Ghostbusters. In the enterprise world, unfortunately, you need something more.</p>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="Shadow AI is like a ghost"
    srcset="
      /blog/okta-ai-newyork/ghostbusters_hu_2b298a7103dc3d2.webp  330w,
      /blog/okta-ai-newyork/ghostbusters_hu_4123ed5c811e41f3.webp  660w,
      /blog/okta-ai-newyork/ghostbusters_hu_a4a596bd7fc63281.webp  960w,
      /blog/okta-ai-newyork/ghostbusters_hu_d7769a2ae6294277.webp 1280w,
      /blog/okta-ai-newyork/ghostbusters_hu_3801f8abc3bdf50e.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/okta-ai-newyork/ghostbusters.png"
    src="/blog/okta-ai-newyork/ghostbusters.png">


  
</figure>

<h2 class="relative group">The Role of Governance and Compliance
    <div id="the-role-of-governance-and-compliance" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-role-of-governance-and-compliance" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>In Europe, the situation is made more complex (and, in part, safer) by regulations like the EU AI Act, NIS2, and DORA. If these rules sometimes seem excessive, they’re designed to protect citizens and workers, and are often an antidote to uncontrolled chaos. The AI Act, in particular, imposes requirements for traceability, human oversight, responsibility, and transparency that force companies to treat AI agents as first-class identities.</p>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="info">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          <strong>Regulatory Deep Dive</strong>
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>I analyzed the impact of the EU AI Act on identity management in the article <a href="/en/posts/blog/okta-ai-compliance/" >&ldquo;EU AI Act Compliance: Addressing the Identity Layer&rdquo;</a>.</p></div></div>
<h3 class="relative group">Checklist: How to Prepare for AI Governance
    <div id="checklist-how-to-prepare-for-ai-governance" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#checklist-how-to-prepare-for-ai-governance" aria-label="Anchor">#</a>
    </span>
    
</h3>
<ul>
<li><strong>Map all AI tools in use</strong> (official and shadow) → <strong>Okta Universal Directory and ISPM</strong> can help discover and classify them.</li>
<li><strong>Define clear policies</strong> on who can use what and with which data → The various <a href="/en/posts/blog/okta-ai-access-patterns/" ><strong>O4AA</strong> access patterns</a> offer concrete models for managing permissions and scopes. In particular, <a href="/en/posts/blog/okta-ai-access-patterns-deep-dive/#cross-app-access-xaa" ><strong>XAA</strong> (<em>Cross App Access</em>)</a> is designed for AI agents that need to interact with multiple systems.</li>
<li><strong>Implement access and audit controls</strong> for AI agents → <strong>Okta policies</strong>, <strong>logs</strong>, and <strong>Governance</strong> features (like <em>Access Requests</em> and <em>Certification Campaigns</em>) can help monitor and govern AI agents like any other critical identity.</li>
<li><strong>Train teams</strong> on AI risks, limits, and responsibilities.</li>
<li><strong>Constantly monitor costs</strong> and optimize token usage.</li>
<li><strong>Regularly update policies</strong> based on regulatory and technological changes.</li>
</ul>
<p>Beyond the specific platforms or vendors chosen, the fundamental point is to start treating AI agents as real operational identities, with access, permissions, audit, and lifecycle to be governed like any other critical entity in the organization.</p>
<p>Platforms like <strong>Okta</strong> can help build this level of control and governance, but the challenge is first and foremost architectural and cultural: <em>avoiding a situation where speed of adoption and control run on separate tracks</em>.</p>

<h2 class="relative group">Toward the Agentic Enterprise: The Maturity Challenge
    <div id="toward-the-agentic-enterprise-the-maturity-challenge" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#toward-the-agentic-enterprise-the-maturity-challenge" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>The real challenge isn’t adopting AI—that battle is already won, as the data and what I saw in New York show. The challenge is to do it <strong>safely, with governance, and sustainably over time</strong>.</p>
<p>For years, we’ve treated software tools as simple applications. AI agents completely change the paradigm: they make decisions, execute workflows, access systems, and interact with sensitive data.</p>
<p>Concretely, this means knowing which AI agents operate in your organization, with which identities, what permissions, and access to which data. It means treating every AI agent as a first-class identity—not just a tool, but an actor with credentials, scope, and lifecycle to manage. This is where identity management returns to center stage.</p>
<p>The <strong><a href="https://www.okta.com/products/govern-ai-agent-identity/"  target="_blank" rel="noreferrer">O4AA (Okta for AI Agents)</a></strong> framework and the <strong><a href="/en/posts/blog/okta-ai-blueprint/" >Blueprint</a></strong> were created precisely for this need: to offer concrete access patterns for those building or governing agentic systems.</p>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="success">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          <strong>Access Patterns</strong>
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>Want to understand how to choose the right access pattern for your AI agents? Read the article <a href="/en/posts/blog/okta-ai-access-patterns/" >“Okta for AI Agents: Access Patterns”</a>.</p></div></div>








<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="New York Skyline"
    srcset="
      /blog/okta-ai-newyork/ny_hu_cf91a39257df8418.webp  330w,
      /blog/okta-ai-newyork/ny_hu_b8da2c73030702a1.webp  660w,
      /blog/okta-ai-newyork/ny_hu_b746049a4d02f7bf.webp  960w,
      /blog/okta-ai-newyork/ny_hu_5e653ecf01254ecb.webp 1280w,
      /blog/okta-ai-newyork/ny_hu_4a8f025d283e840e.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/okta-ai-newyork/ny.png"
    src="/blog/okta-ai-newyork/ny.png">


  
</figure>

<h2 class="relative group">Conclusions: AI Is Here to Stay. Are You Ready?
    <div id="conclusions-ai-is-here-to-stay-are-you-ready" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#conclusions-ai-is-here-to-stay-are-you-ready" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>AI is no longer a promise: it’s daily reality, visible in the world’s innovation hotspots. But its adoption brings new risks, requiring governance, awareness, and the right tools. In Europe, the path is slower but—perhaps—safer.</p>
<p>In New York, I had the very concrete feeling that AI has already passed the cultural point of no return. It’s no longer a “special” tool: it’s becoming the invisible infrastructure of daily work.</p>
<p>The real question now isn’t whether to adopt it. It’s how quickly we’ll be able to govern it before it outpaces the processes, policies, and security models built over the last twenty years.</p>
<p>Let me know your thoughts: have you seen signs of this revolution too? How are you tackling the challenge of AI agent governance? Write in the <a href="/blog/okta-ai-newyork/#comments" >comments</a> or on <a href="https://www.linkedin.com/posts/fabiograsso82_times-square-and-ai-in-caf%C3%A9s-what-i-learned-share-7459479715565826048-UgDf"  target="_blank" rel="noreferrer">LinkedIn</a>!</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>Microsoft AI Economy Institute, <em><a href="https://www.microsoft.com/en-us/corporate-responsibility/topics/ai-economy-institute/reports/global-ai-adoption-2025/"  target="_blank" rel="noreferrer">&ldquo;Global AI Adoption in 2025&rdquo;</a></em>, January 2026.&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p>Alexander Bick et al., <em><a href="https://www.stlouisfed.org/on-the-economy/2026/mar/mind-gap-ai-adoption-europe-us"  target="_blank" rel="noreferrer">&ldquo;Mind the Gap: AI Adoption in Europe and the U.S.&rdquo;</a></em>, Federal Reserve Bank of St. Louis / Brookings Papers on Economic Activity, March-April 2026.&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:3">
<p>Alice Labs, <em><a href="https://alicelabs.ai/reports/global-ai-adoption-index-2026"  target="_blank" rel="noreferrer">&ldquo;Global AI Adoption Index 2026&rdquo;</a></em>, April 2026. EU enterprise AI use: 19.95% (2025), with a clear gap between large enterprises (55%) and small ones (17%).&#160;<a href="#fnref:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:4">
<p>“What I spent in all of 2023, I now spend in a week.” – <a href="https://a16z.com/ai-enterprise-2025/"  target="_blank" rel="noreferrer">a16z – How 100 Enterprise CIOs Are Building and Buying Gen AI in 2025</a>, February 2026.&#160;<a href="#fnref:4" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:5">
<p><a href="https://github.blog/news-insights/company-news/github-copilot-is-moving-to-usage-based-billing/"  target="_blank" rel="noreferrer">GitHub Blog – Copilot is moving to usage-based billing</a>, April 2026.&#160;<a href="#fnref:5" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:6">
<p><a href="https://platform.claude.com/docs/en/about-claude/pricing"  target="_blank" rel="noreferrer">Anthropic – Claude API Pricing</a>. <a href="https://www.finout.io/blog/claude-opus-4.7-pricing-the-real-cost-story-behind-the-unchanged-price-tag"  target="_blank" rel="noreferrer">Finout.io – Claude Opus 4.7 Pricing</a>, April 2026. <a href="https://letsdatascience.com/news/claude-generates-high-token-usage-raising-developer-costs-f06e1e73"  target="_blank" rel="noreferrer">Let&rsquo;s Data Science – Claude Generates High Token Usage</a>, April 2026. <a href="https://itbrief.news/story/anthropic-shifts-enterprise-billing-to-token-based-pricing"  target="_blank" rel="noreferrer">IT Brief – Anthropic shifts enterprise billing to token-based pricing</a>, April 2026.&#160;<a href="#fnref:6" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
      <category>AI</category>
      <category>Agentic AI</category>
      <category>AI Agents</category>
      <category>Okta</category>
      <category>Times Square</category>
      <category>AI Governance</category>
      <category>AI Compliance</category>
      <category>Identity Management</category>
      <category>EU AI Act</category>
      <category>Shadow AI</category>
      <category>O4AA</category>
    </item>
    <item>
      <title>EU AI Act Compliance: Addressing the Identity Layer</title>
      <link>https://iam.fabiograsso.net/blog/okta-ai-compliance/</link>
      <pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://iam.fabiograsso.net/blog/okta-ai-compliance/</guid>
      <description>EU AI Act, NIST AI RMF, NIS2, DORA: four regulatory frameworks, one identity layer. How Okta&amp;rsquo;s O4AA blueprint maps to every compliance requirement before the August 2026 deadline.</description>
      <content:encoded>&lt;![CDATA[
<h2 class="relative group">Introduction
    <div id="introduction" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#introduction" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>A few weeks ago, my friend <strong><a href="https://www.msbiro.net"  target="_blank" rel="noreferrer">Matteo Bisi</a></strong> published an excellent post titled <em>&quot;<a href="https://www.msbiro.net/posts/august-2026-countdown-k8s-ai-compliance/"  target="_blank" rel="noreferrer">August 2026 Countdown: K8s &amp; AI Compliance</a>&quot;</em> exploring how Kubernetes teams can prepare for <strong>EU AI Act</strong> enforcement through platform-level automation. Admission controllers, sidecar watermarking, AI-BOMs — the infrastructure angle is real and important.</p>
<p>Reading it, I found myself thinking: <em>infrastructure is necessary, but not sufficient.</em> Every AI agent that runs in a pod, calls an API, or makes a decision on behalf of a user is also an <strong>Identity</strong>. And identity governance — <em>who the agent is, what it can access, who is accountable for it</em>, and whether its behavior can be traced and overridden — is the compliance dimension that infrastructure tooling alone cannot cover.</p>
<p>That is the perspective I want to bring in this article, the fourth in the <strong>O4AA — Okta for AI Agents</strong> series:</p>
<ul>
<li>In <a href="/posts/blog/okta-ai-blueprint/" >Part 1</a> we mapped the <strong>Agentic Enterprise Blueprint</strong>: why AI agents need to be treated as first-class identities, and what shadow AI costs organizations that do not.</li>
<li>In <a href="/posts/blog/okta-ai-access-patterns/" >Part 2</a> we introduced the <strong>four access patterns</strong> that govern how agents authenticate to enterprise resources, going deep into each <strong>protocol details</strong> with <a href="/posts/blog/okta-ai-access-patterns-deep-dive/" >Part 3</a>.</li>
<li>Here, in Part 4, we map the <strong>EU AI Act</strong> — and its NIST and NIS2/DORA counterparts — article by article to Okta&rsquo;s capabilities, showing how O4AA turns regulatory requirements into operational controls.</li>
</ul>
<p>The <strong>European Union Artificial Intelligence Act</strong><sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>, which entered into force in August 2024 and reaches full applicability by August 2026, represents the world&rsquo;s first broad, horizontal AI regulation. For organizations deploying AI agents, it creates specific compliance obligations that converge directly on identity and access management.</p>
<hr>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="warning">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M506.3 417l-213.3-364c-16.33-28-57.54-28-73.98 0l-213.2 364C-10.59 444.9 9.849 480 42.74 480h426.6C502.1 480 522.6 445 506.3 417zM232 168c0-13.25 10.75-24 24-24S280 154.8 280 168v128c0 13.25-10.75 24-23.1 24S232 309.3 232 296V168zM256 416c-17.36 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 401.9 273.4 416 256 416z"/></svg>
</span></div>
        <div class="grow">
          <strong>Disclaimer — Not Legal Advice</strong>
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>The regulatory mappings and compliance interpretations in this article reflect my personal reading of the relevant texts and publicly available guidance. I am not a lawyer. Nothing here constitutes legal advice. Always consult qualified legal counsel before making compliance decisions for your organization.</p>
<p>Additionally, some Okta capabilities referenced are in <strong>Early Access or on the product roadmap</strong>. Standards like ID-JAG/XAA are actively evolving, and Okta (like all vendors) is updating its AI-related features on a rapid cadence. Verify current availability with your Okta account team before planning production deployments.</p></div></div><hr>

<h2 class="relative group">The EU AI Act: A Risk-Based Framework
    <div id="the-eu-ai-act-a-risk-based-framework" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-eu-ai-act-a-risk-based-framework" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>The EU AI Act takes a <strong>risk-based approach</strong>, categorizing AI systems into four tiers:</p>
<ol>
<li>🚫 <strong>Unacceptable Risk</strong>: AI systems that threaten safety, livelihoods, or rights (e.g., social scoring, real-time biometric identification in public spaces) are prohibited</li>
<li>⚠️ <strong>High-Risk AI</strong>: Systems affecting critical infrastructure, employment, essential services, law enforcement, or democratic processes face strict requirements including:
<ul>
<li>🔁 Risk management systems</li>
<li>🗄️ Data governance and quality requirements</li>
<li>📄 Technical documentation</li>
<li>🔍 Record-keeping and traceability</li>
<li>👁️ Transparency obligations</li>
<li>🧑‍💼 Human oversight mechanisms</li>
<li>🛡️ Accuracy, robustness, and cybersecurity requirements</li>
</ul>
</li>
<li>💬 <strong>Limited Risk</strong>: AI systems with transparency obligations (e.g., chatbots must disclose they are AI)</li>
<li>✅ <strong>Minimal Risk</strong>: AI with no restrictions (e.g., spam filters)</li>
</ol>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="note">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          <strong>Who is subject to the EU AI Act</strong>
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>The regulation applies to three main roles:</p>
<ul>
<li><strong>Provider</strong> (Art. 3(3)): anyone who develops or has developed an AI system and places it on the market or puts it into service under their own name or brand</li>
<li><strong>Deployer</strong> (Art. 3(4)): anyone who uses an AI system under their authority in the course of a professional activity</li>
<li><strong>Product Manufacturer</strong> (Art. 3(5)): anyone who manufactures a product that incorporates or is equipped with an AI system, and places it on the market under their own name or brand</li>
</ul>
<p>For most enterprise organizations deploying AI agents, the relevant role is that of <strong>deployer</strong>. However, if an organization <strong>substantially modifies</strong> an existing AI system or redeploys it under its own brand, Art. 25 provides that it assumes the responsibilities of the <strong>provider</strong>, with all associated obligations.</p></div></div>
<h3 class="relative group">Key Deadlines
    <div id="key-deadlines" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#key-deadlines" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>The regulation&rsquo;s applicability is phased. Organizations should not treat august 2026 as a distant horizon — several obligations are already in force:</p>
<table>
  <thead>
      <tr>
          <th>Date</th>
          <th>What applies</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>August 1, 2024</strong></td>
          <td>Regulation enters into force</td>
      </tr>
      <tr>
          <td><strong>February 2, 2025</strong></td>
          <td><strong>Chapter II</strong> – Prohibited AI practices apply</td>
      </tr>
      <tr>
          <td><strong>August 2, 2025</strong></td>
          <td><strong>Chapters V &amp; VI</strong> – GPAI model obligations, governance structures, notified bodies</td>
      </tr>
      <tr>
          <td><strong>August 2, 2026</strong></td>
          <td><strong>Full application</strong>: high-risk AI systems, all deployer and provider obligations</td>
      </tr>
      <tr>
          <td><strong>August 2, 2027</strong></td>
          <td><strong>Annex I/II high-risk AI</strong> (embedded in regulated products such as medical devices or vehicles) already on market before Aug 2026; Annex III systems (HR, credit, education) apply only upon any significant modification — no fixed 2027 cut-off for these</td>
      </tr>
  </tbody>
</table>
<p>For most enterprise AI agents — those used in HR, customer service, credit scoring, fraud detection, or security monitoring — the critical deadline is <strong>August 2, 2027</strong> for systems already deployed, and <strong>August 2, 2026</strong> for <em>new deployments</em>. Neither horizon is distant.</p>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="note">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          Note
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>The EU AI Act is not alone. Multiple jurisdictions are moving in parallel: <strong>GDPR</strong>, <strong>SOX</strong>, <strong>CCPA</strong>, <strong>NIS2</strong>, and <strong>DORA</strong> are already enforceable. The <strong>Colorado AI Act</strong> takes effect on <strong>June 30, 2026</strong>, becoming the first US state-level law imposing developer and deployer obligations for high-risk AI systems. Organizations operating globally face a wave of overlapping deadlines, not a single one.</p></div></div><div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="warning">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M506.3 417l-213.3-364c-16.33-28-57.54-28-73.98 0l-213.2 364C-10.59 444.9 9.849 480 42.74 480h426.6C502.1 480 522.6 445 506.3 417zM232 168c0-13.25 10.75-24 24-24S280 154.8 280 168v128c0 13.25-10.75 24-23.1 24S232 309.3 232 296V168zM256 416c-17.36 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 401.9 273.4 416 256 416z"/></svg>
</span></div>
        <div class="grow">
          Warning
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p><strong>Potential timeline shift:</strong> On November 19, 2025, the European Commission proposed, as part of the <strong>Digital Omnibus</strong> package, to link the applicability of high-risk AI system requirements to the availability of harmonised standards and implementation guidelines. If adopted by the co-legislators, the August 2026 deadline for high-risk AI could shift. Monitor the <a href="https://digital-strategy.ec.europa.eu/en/faqs/navigating-ai-act"  target="_blank" rel="noreferrer">EU AI Act FAQ</a> for updates — but do not let this uncertainty delay governance work. The underlying compliance obligations remain, and identity architecture built now will serve the final regulation regardless of timing.</p></div></div>
<h3 class="relative group">Penalty Tiers
    <div id="penalty-tiers" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#penalty-tiers" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Non-compliance carries tiered financial penalties based on the severity of the violation:</p>
<table>
  <thead>
      <tr>
          <th>Violation type</th>
          <th>Maximum fine</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Prohibited practices (unacceptable risk)</td>
          <td><strong>€35 million</strong> or <strong>7%</strong> of global annual turnover</td>
      </tr>
      <tr>
          <td>High-risk AI systems / GPAI systemic risk</td>
          <td><strong>€15 million</strong> or <strong>3%</strong> of global annual turnover</td>
      </tr>
      <tr>
          <td>Providing incorrect or misleading information</td>
          <td><strong>€7.5 million</strong> or <strong>1.5%</strong> of global annual turnover</td>
      </tr>
  </tbody>
</table>
<p>For SMEs and startups, the percentage cap typically applies.</p>
<p>The regulation imposes fines up to <strong>€35 million or 7% of global annual turnover</strong> for the most severe violations. The board-level implication is clear: <strong>AI identity governance is a financial risk, not just a technical concern</strong><sup id="fnref1:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>.</p>

<h3 class="relative group">Why AI Agents Trigger Compliance Obligations
    <div id="why-ai-agents-trigger-compliance-obligations" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-ai-agents-trigger-compliance-obligations" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Enterprise AI agents often fall into <strong>high-risk</strong> or <strong>limited risk</strong> categories, triggering substantial compliance obligations. Key requirements directly intersect with identity management:</p>
<ul>
<li><strong>Traceability</strong>: Organizations must maintain complete audit logs of AI system decisions and actions. Identity governance is a critical enabler — but not the only layer required: application-level logging, SIEM pipelines, and system tracing all contribute alongside it. This is precisely why protocols like XAA/ID-JAG embed a transaction ID in every token alongside agent and user identity, enabling cross-system log correlation.</li>
<li><strong>Human Oversight</strong>: High-risk systems require &ldquo;human-in-the-loop&rdquo; or &ldquo;human-on-the-loop&rdquo; oversight, demanding mechanisms to pause, override, or revoke agent actions</li>
<li><strong>Accountability</strong>: Organizations must demonstrate who authorized each agent, what data it accessed, and what actions it performed</li>
<li><strong>Transparency</strong>: Users must know when they interact with AI systems, requiring clear agent identification</li>
</ul>
<p><strong>Examples of enterprise AI agents that trigger obligations</strong>:</p>
<table>
  <thead>
      <tr>
          <th>Category</th>
          <th>Example</th>
          <th>Classification</th>
          <th>Reference</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Employment &amp; HR management</td>
          <td>Systems that screen CVs, evaluate candidates, or determine employment terms</td>
          <td>⚠️ High risk</td>
          <td>Annex III §4</td>
      </tr>
      <tr>
          <td>Access to essential services</td>
          <td>Credit scoring, mortgage granting, insurance assessment systems</td>
          <td>⚠️ High risk</td>
          <td>Annex III §5</td>
      </tr>
      <tr>
          <td>Safety of critical infrastructure</td>
          <td>AI agents managing critical components of energy, water, or transport networks</td>
          <td>⚠️ High risk</td>
          <td>Annex III §2</td>
      </tr>
      <tr>
          <td>Law enforcement</td>
          <td>Systems assessing recidivism risk or profiling for public security purposes</td>
          <td>⚠️ High risk</td>
          <td>Annex III §6</td>
      </tr>
      <tr>
          <td>Chatbots and conversational agents</td>
          <td>AI assistants interacting with users</td>
          <td>💬 Limited risk</td>
          <td>Art. 52</td>
      </tr>
      <tr>
          <td>Chatbots impersonating humans  (Art. 5(1)(a))</td>
          <td>Agents designed to make the user believe they are interacting with a real person</td>
          <td>🚫 Prohibited</td>
          <td>Art. 5(1)(a)</td>
      </tr>
      <tr>
          <td>Emotion inference on employees  (Art. 5(1)(f))</td>
          <td>Systems that detect or infer emotions in workplace or educational environments</td>
          <td>🚫 <strong>Prohibited</strong></td>
          <td>Art. 5(1)(f)</td>
      </tr>
  </tbody>
</table>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="note">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          Note
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>Even if <strong>Financial fraud detection</strong> is <strong>excluded</strong> from the EU AI Act high-risk obligations, a robust identity governance architecture is still recommended for these systems. The compliance requirements of other regulations (GDPR, PCI-DSS, SOX) and the need for traceability, accountability, and human oversight remain critical for any AI system that interacts with sensitive data or makes impactful decisions.</p></div></div><hr>

<h2 class="relative group">The Attribution Gap
    <div id="the-attribution-gap" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-attribution-gap" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>Before diving into the regulatory details, it helps to name the underlying problem precisely. Okta&rsquo;s own research team calls it the <strong>Attribution Gap</strong><sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>: the inability to trace an AI agent&rsquo;s actions back to an authorized human decision-maker.</p>

<figure>
        <img
          class="my-0 rounded-md"
          src="/blog/okta-ai-compliance/attribution-gap.svg"
          alt="The Agent Accountability Gap: what agents execute vs. what you must demonstrate to regulators — a compliance matrix across EU AI Act, GDPR, SOX, SEC, CCPA, NIS2, DORA, and Colorado AI Act"
        />
  
  
  </figure>
<p>When an AI agent approves a loan, generates legal advice, or modifies access permissions, the organization deploying it must be able to answer five questions:</p>
<ol>
<li><strong>Which agent</strong> performed the action?</li>
<li><strong>What permissions</strong> did it have at that moment?</li>
<li><strong>Who authorized</strong> those permissions, and when?</li>
<li><strong>What data</strong> did it access?</li>
<li><strong>Where is the immutable record</strong> of all of the above?</li>
</ol>
<p>If any of these questions cannot be answered, the organization has an attribution gap — and regulators are not the only ones asking. Courts are already establishing liability regardless of whether a formal compliance framework was violated, as seen in the <em>Air Canada chatbot case<sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup></em>, <em>Italy&rsquo;s Replika fine<sup id="fnref:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup></em>, <em>Garcia v. Character Technologies</em><sup id="fnref:5"><a href="#fn:5" class="footnote-ref" role="doc-noteref">5</a></sup><em>, and <em>Nippon Life v. OpenAI</em><sup id="fnref:6"><a href="#fn:6" class="footnote-ref" role="doc-noteref">6</a></sup></em>.</p>
<p>The pattern across all four cases is the same: when something goes wrong, regulators and courts ask <strong>who was responsible</strong>, and organizations without a clear chain of authorization cannot answer. That is the compliance gap <strong>Identity Governance</strong> must close.</p>
<hr>

<h2 class="relative group">Article-by-Article Compliance Mapping
    <div id="article-by-article-compliance-mapping" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#article-by-article-compliance-mapping" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>The following sections map each identity-relevant EU AI Act obligation to the O4AA blueprint and the specific Okta capabilities that address it.</p>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="warning">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M506.3 417l-213.3-364c-16.33-28-57.54-28-73.98 0l-213.2 364C-10.59 444.9 9.849 480 42.74 480h426.6C502.1 480 522.6 445 506.3 417zM232 168c0-13.25 10.75-24 24-24S280 154.8 280 168v128c0 13.25-10.75 24-23.1 24S232 309.3 232 296V168zM256 416c-17.36 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 401.9 273.4 416 256 416z"/></svg>
</span></div>
        <div class="grow">
          Disclaimer on regulatory mappings
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>The mappings below are <strong>interpretative</strong> and not officially validated by regulatory authorities. <strong>Identity</strong> addresses critical compliance dimensions, but does not cover all EU AI Act requirements on its own. Obligations related to AI model logging, training dataset governance, decision logic documentation, and conformity assessments require additional tooling beyond IAM — such as model registries and comprehensive SIEM pipelines.</p></div></div>
<h3 class="relative group">Traceability (Article 12)
    <div id="traceability-article-12" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#traceability-article-12" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p><strong>Requirement</strong>: Organizations must maintain logs enabling reconstruction of AI system behavior and decisions.</p>
<p><strong>Blueprint reference</strong>:</p>
<ul>
<li><strong>Audit logs and telemetry</strong> — every agent action must produce a tamper-proof record forwarded to a central SIEM.</li>
<li><strong>Agent lifecycle management</strong> — every agent must be a distinct identity with an associated human owner, so logs can attribute actions to authorized humans.</li>
<li><strong>Agent Integration</strong> (<em>MCP Server</em>, <em>SaaS Services</em>, <em>Agent-to-Agent Connections</em>, <em>Service Accounts</em>, <em>Valuted Credentials</em>) — all access patterns must be logged with agent-specific identifiers, never generic service accounts.</li>
</ul>
<p><strong>Okta Solution</strong>:</p>
<ul>
<li><strong>Cross-App Access (XAA)</strong>, thanks to the <strong>ID-JAG</strong> token, embeds both the authorizing user and the agent identity within the token context — making every action attributable to a specific human-agent pair. It also allows custom risk signals to be injected into the log stream, enriching the traceability data with context like risk scores or external threat intelligence indicators</li>
<li><strong>Universal Directory</strong> ensures that every agent is a distinct identity with mandatory owner attributes, so logs can always attribute actions to a named human sponsor. <strong>O4AA</strong> agent identity model ensures every log entry is attributed to a named, non-human principal — never a shared account</li>
<li><strong>Change history tracks</strong> every modification to agent policies or credentials</li>
<li><strong>System Log</strong> provides a complete audit trail of agent registration, authentication, access, and deactivation events. Logs capture which resource each agent reached, what action was performed, and the exact timestamp, with a transaction reference that will help correlate with downstream application logs.</li>
<li>Native integration with <strong>SIEM platforms</strong> (like Splunk, or Datadog) for long-term retention and cross-system correlation</li>
</ul>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="note">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          <strong>Technical note — Art. 12: logging capability vs. retention period</strong>
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>Art. 12(1) requires that high-risk AI systems have the <strong>technical capability</strong> to automatically generate logs throughout the system&rsquo;s lifetime. This concerns the logging <em>architecture</em>, not the minimum retention period.</p>
<p><strong>Minimum retention</strong> requirements are defined separately:</p>
<ul>
<li><strong>Art. 19</strong> (providers): at least <strong>6 months</strong> from the system&rsquo;s entry into service</li>
<li><strong>Art. 26(6)</strong> (deployers): at least <strong>6 months</strong> from the logged action</li>
</ul>
<p>Sector-specific regulations (DORA, NIS2, GDPR, PCI-DSS) or contractual requirements may impose longer periods. <strong>Okta&rsquo;s System Log</strong> and SIEM integrations satisfy the technical requirement of Art. 12; the retention policy in the SIEM must be configured based on your organization&rsquo;s applicable obligations.</p></div></div>
<h3 class="relative group">Human Oversight (Article 14)
    <div id="human-oversight-article-14" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#human-oversight-article-14" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p><strong>Requirement</strong>: High-risk AI systems must enable human intervention, oversight, or deactivation.</p>
<p><strong>Blueprint reference</strong>:</p>
<ul>
<li><strong>Human-in-the-loop</strong> — approval gates that pause agent operations pending human decision</li>
<li><strong>Kill switch</strong> — immediate, global revocation of agent access</li>
<li><strong>Agent lifecycle management</strong> — human sponsorship and periodic review of every agent ensures ongoing oversight</li>
</ul>
<p><strong>Okta Solution</strong>:</p>
<ul>
<li><strong>Universal Logout</strong>: single-action revocation terminates all active sessions and tokens for a given agent instantly, satisfying the &ldquo;ability to deactivate&rdquo; requirement</li>
<li><strong>Lifecycle Management (LCM)</strong>: can deactivate or suspend agents based on lifecycle events, risk signals, or manual triggers from a human sponsor</li>
<li><strong>Identity Governance (OIG) — Access Requests</strong>: human approval workflows gate agent creation and any expansion of permissions; no agent gains access without a named human sponsor signing off</li>
<li><strong>Identity Governance (OIG) — Certification Campaigns</strong>: scheduled or event-triggered reviews require human attestation that each agent&rsquo;s access remains appropriate; non-attested agents are automatically deprovisioned</li>
<li><strong>MFA step-up (CIBA)</strong> for sensitive agent operations adds a human verification checkpoint at runtime</li>
</ul>

<h3 class="relative group">Accountability &amp; Governance (Article 17)
    <div id="accountability--governance-article-17" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#accountability--governance-article-17" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p><strong>Requirement</strong>: Assign responsibility for AI system compliance and operation.</p>
<p><strong>Blueprint reference</strong>:</p>
<ul>
<li><strong>Agent lifecycle management</strong> — governed onboarding, review, and retirement of every agent</li>
<li><strong>AI agent risk detection</strong> — continuous assessment of agent privilege and behaviour risk</li>
<li><strong>Browser based detection</strong> - visibility for shadow AI agents that bypass identity controls, with workflows to bring them into compliance</li>
</ul>
<p><strong>Okta Solution</strong>:</p>
<ul>
<li><strong>Universal Directory (UD)</strong>: agents are provisioned as distinct identity types with mandatory owner attributes, ensuring accountability is built into the identity model. Every agent registered in Okta must have a named human owner — accountability is structural, not optional</li>
<li><strong>Lifecycle Management (LCM)</strong>: automated workflows — from creation to modification (change history tracked) to deactivation (automatic on lifecycle events or manual by owner)</li>
<li><strong>Identity Governance (OIG) — Access Requests</strong>: documented approval chain for agent provisioning creates an auditable record of who authorized what, and when</li>
<li><strong>Identity Governance (OIG) — Certification Campaigns</strong>: periodic human review enforces lifecycle discipline; agents that are no longer needed are deprovisioned on a regular cadence</li>
<li><strong>Privileged Access (OPA)</strong>: <strong>Service Accounts credentials</strong> are vaulted and rotated, eliminating the risk of orphaned or misused secrets that could lead to unaccountable agent actions</li>
<li><strong>Identity Security Posture Management (ISPM)</strong>: continuous scanning of the identity layer detects over-privileged agents, dormant credentials, and policy violations that could indicate a drift from the intended governance model - ISPM risk scoring surfaces agents accumulating excessive permissions for immediate remediation</li>
</ul>

<h3 class="relative group">Cybersecurity Requirements (Annex IV)
    <div id="cybersecurity-requirements-annex-iv" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#cybersecurity-requirements-annex-iv" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p><strong>Requirement</strong>: AI systems must be resilient to attacks, adversarial manipulation, and unauthorized access.</p>
<p><strong>Blueprint reference</strong>:</p>
<ul>
<li><strong>Runtime enforcement</strong> — scope and policy enforcement at the moment of execution</li>
<li><strong>AI agent risk detection</strong> — real-time anomaly and threat signals</li>
<li><strong>Agent Integration</strong> (<em>MCP Server</em>, <em>SaaS Services</em>, <em>Agent-to-Agent Connections</em>) — secure authentication and least-privilege access patterns</li>
<li><strong>Service Accounts</strong> and <strong>Valuted Credentials</strong> — secrets managed outside the agent, never embedded</li>
<li><strong>Kill Switch</strong> — immediate revocation of agent access</li>
</ul>
<p><strong>Okta Solution</strong>:</p>
<ul>
<li><strong>Privileged Access (OPA)</strong>: credential vaulting eliminates static secrets embedded in agent code; automated rotation minimises the exposure window for any credential</li>
<li><strong>API Access Management</strong>: OAuth 2.0 scopes enforce least-privilege at the API gateway — an agent can only call what its token explicitly permits</li>
<li><strong>Identity Security Posture Management (ISPM)</strong>: continuous scanning of the identity layer detects misconfigurations, over-privileged agents, dormant credentials, and drift from policy baselines</li>
<li><strong>Identity Threat Protection (ITP)</strong>: real-time behavioural analytics detect anomalous agent activity (unusual data volumes, off-hours access, lateral movement) and can trigger automated remediation or Universal Logout</li>
<li><strong>MFA</strong> on agent credential issuance adds an additional authentication layer for privileged operations</li>
</ul>

<h3 class="relative group">Risk Management (Article 9)
    <div id="risk-management-article-9" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#risk-management-article-9" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p><strong>Requirement</strong>: Establish and maintain a risk management system throughout the AI system lifecycle.</p>
<p><strong>Blueprint reference</strong>:</p>
<ul>
<li><strong>AI agent risk detection</strong> — inventory and risk-score every agent</li>
<li><strong>Runtime enforcement</strong> — apply risk-based controls dynamically</li>
</ul>
<p><strong>Okta Solution</strong>:</p>
<ul>
<li><strong>ISPM</strong> posture analysis produces a continuous risk inventory: which agents exist, what they can access, and where policy violations exist</li>
<li><strong>ITP</strong> risk signals feed dynamic risk scoring — privilege level, access frequency, data sensitivity, and behavioural anomalies all contribute to a per-agent risk score</li>
<li><strong>O4AA</strong> risk signals pipeline aggregates inputs from ISPM, ITP, and external threat intelligence into a unified view of agent risk</li>
<li>Governance workflows in <strong>OIG</strong> translate risk scores into automated actions: flag for review, trigger certification, or initiate deprovisioning</li>
<li>Continuous monitoring and alerting close the loop between detection and response across the agent lifecycle</li>
</ul>

<h3 class="relative group">Data Governance (Article 10)
    <div id="data-governance-article-10" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#data-governance-article-10" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p><strong>Requirement</strong>: Implement data governance practices covering which data AI systems can access and how it is processed.</p>
<p><strong>Blueprint reference</strong>:</p>
<ul>
<li><strong>Vaulted credentials</strong> — agents never hold persistent data access credentials</li>
<li><strong>Runtime enforcement</strong> — data permissions enforced at call time, not embedded in the agent</li>
</ul>
<p><strong>Okta Solution</strong>:</p>
<ul>
<li><strong>API Access Management</strong>: scope-based OAuth 2.0 tokens restrict each agent to the exact data endpoints it is authorised to call — no implicit or inherited access</li>
<li><strong>Fine-grained authorization (FGA)</strong>: relationship-based access control enforces data access at the object level, ensuring agents can only read or write records they are explicitly permitted to touch</li>
<li><strong>Privileged Access (OPA)</strong>: data store credentials (database passwords, API keys) are vaulted and injected at runtime — agents never have standing access to sensitive data</li>
<li><strong>System Log</strong> produces a complete record of every data access event by every agent, meeting the documentation requirements of Article 10 for training, validation, and production datasets</li>
</ul>
<hr>

<h2 class="relative group">NIST AI RMF Alignment
    <div id="nist-ai-rmf-alignment" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#nist-ai-rmf-alignment" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>For organizations that operate globally — or that already follow NIST frameworks for cybersecurity or software development — the <strong>NIST AI Risk Management Framework (AI RMF 1.0)</strong><sup id="fnref:7"><a href="#fn:7" class="footnote-ref" role="doc-noteref">7</a></sup>, published in January 2023, provides a voluntary but widely adopted companion to the EU AI Act&rsquo;s mandatory requirements.</p>
<p>The AI RMF is organized around four core functions:</p>
<table>
  <thead>
      <tr>
          <th>NIST AI RMF Function</th>
          <th>Purpose</th>
          <th>Okta O4AA Capability</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>GOVERN</strong></td>
          <td>Establish accountability, culture, and policies for responsible AI</td>
          <td>OIG ownership attribution, approval workflows, lifecycle governance</td>
      </tr>
      <tr>
          <td><strong>MAP</strong></td>
          <td>Identify and categorize AI risks in context</td>
          <td>Shadow AI Discovery, ISPM posture analysis, agent inventory</td>
      </tr>
      <tr>
          <td><strong>MEASURE</strong></td>
          <td>Quantify, analyze, and track AI risks</td>
          <td>Risk scoring, ITP behavioral analytics, audit log metrics</td>
      </tr>
      <tr>
          <td><strong>MANAGE</strong></td>
          <td>Respond to, mitigate, and monitor AI risks</td>
          <td>Universal Logout, certification campaigns, credential rotation</td>
      </tr>
  </tbody>
</table>
<p>Although the NIST AI RMF is a US framework and voluntary in nature, it is increasingly referenced by EU regulators and auditors as a recognized best practice methodology. It also aligns structurally with EU AI Act Article 9 (risk management systems), providing a useful bridge for multinational organizations that must satisfy both frameworks.</p>
<p>Complementary references:</p>
<ul>
<li><strong>NIST SP 800-218A</strong> — Secure Software Development Practices for Generative AI and Dual-Use Foundation Models<sup id="fnref:8"><a href="#fn:8" class="footnote-ref" role="doc-noteref">8</a></sup></li>
<li><strong>NIST AI RMF Playbook</strong> — Practical implementation guidance mapped to each core function</li>
</ul>
<hr>

<h2 class="relative group">Regulatory Convergence: NIS2 and DORA
    <div id="regulatory-convergence-nis2-and-dora" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#regulatory-convergence-nis2-and-dora" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>The EU AI Act does not operate in isolation. Organizations in regulated sectors face <strong>stacked obligations</strong>: EU AI Act compliance intersects with NIS2 and DORA in ways that share a common denominator — <strong>identity governance</strong>.</p>

<h3 class="relative group">NIS2 (Directive 2022/2555)
    <div id="nis2-directive-20222555" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#nis2-directive-20222555" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>The NIS2 Directive applies to <strong>essential and important entities</strong> across critical sectors: energy, finance, health, transport, digital infrastructure, and public administration. AI agents operating in these sectors trigger NIS2 obligations that are inseparable from identity:</p>
<ul>
<li><strong>Article 21</strong> — Mandatory risk management measures including <strong>access control, authentication, and asset management</strong> for all ICT systems</li>
<li><strong>Supply chain security</strong> — Organizations must govern third-party AI components and the identities they carry</li>
<li><strong>Incident reporting</strong> — Significant incidents must be reported within 24 hours (early warning) and 72 hours (full report); an AI agent malfunction can qualify if it causes a security breach or significant disruption to services — though NIS2 does not reference AI explicitly, and not every agent malfunction meets the reporting threshold</li>
</ul>
<p><strong>Identity intersection</strong>: An AI agent that bypasses MFA, acts outside its authorized scope, or cannot be traced in an audit log is a NIS2 compliance failure, not just a security incident.</p>

<h3 class="relative group">DORA (Regulation 2022/2554)
    <div id="dora-regulation-20222554" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#dora-regulation-20222554" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>The Digital Operational Resilience Act applies to <strong>financial entities</strong> — banks, insurers, payment institutions, crypto-asset service providers, and their critical ICT third-party providers. AI agents in FinTech and FinServ must meet:</p>
<ul>
<li><strong>Article 9</strong> — Information security requirements including identity and access management, strong authentication, and privileged access controls</li>
<li><strong>Article 28</strong> — Third-party ICT risk management: documented access governance, audit rights, and contractual oversight for any AI provider with access to financial systems</li>
<li><strong>Resilience testing</strong> — DORA requires regular testing of ICT systems, including AI agent behaviors under stress or adversarial conditions</li>
</ul>
<p><strong>Identity intersection</strong>: DORA&rsquo;s requirements for documented access control, immutable audit trails, and contractual accountability for third-party access map directly to what O4AA provides through OIG, System Log, and API Access Management.</p>
<p>A coordinated investment in O4AA-based AI identity governance addresses the shared identity-layer requirements across EU AI Act, NIS2, and DORA — reducing duplication and avoiding siloed compliance initiatives. Identity governance is a necessary component across all three frameworks; it does not replace the organisational governance, process documentation, and additional technical controls that each regulation also requires.</p>
<hr>

<h2 class="relative group">GDPR and Data Processed by Agents
    <div id="gdpr-and-data-processed-by-agents" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#gdpr-and-data-processed-by-agents" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>AI agents that process personal data trigger GDPR obligations <strong>independently of their AI Act classification</strong> — making it the one framework every agent, at any risk level, must verify compliance with:</p>
<ul>
<li><strong>Lawfulness of processing</strong>: every agent action on personal data must have a legal basis</li>
<li><strong>Data minimization</strong>: agents must access only the data strictly necessary for the task — O4AA&rsquo;s least-privilege principle is directly aligned with this obligation</li>
<li><strong>Data subject rights</strong>: the organization must be able to respond to access, rectification, and erasure requests even for data processed by AI systems — which requires the traceability that O4AA provides</li>
</ul>
<hr>

<h2 class="relative group">Implementation Roadmap for EU AI Act Compliance
    <div id="implementation-roadmap-for-eu-ai-act-compliance" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#implementation-roadmap-for-eu-ai-act-compliance" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>You don&rsquo;t have to wait until August 2026 to start closing the attribution gap. The compliance requirements outlined above are not just future obligations — they are current best practices for responsible AI deployment. Organizations that delay risk falling into the &ldquo;shadow AI&rdquo; trap, where agents proliferate without governance, creating a ticking time bomb of non-compliance.</p>
<ol>
<li>
<p><strong>Discovery &amp; Assessment</strong> — <em>Establish baseline visibility and identify compliance gaps</em></p>
<ul>
<li>Enable Shadow AI Discovery to catalog all AI agents</li>
<li>Assess each agent against EU AI Act risk categories</li>
<li>Identify high-risk agents requiring immediate governance</li>
<li>Document current audit and logging capabilities</li>
</ul>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="tip">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M224.1 97.1l0 49.6 .5 .5c6.5-82.4 75.4-147.2 159.5-147.2 20.1 0 39.4 3.7 57.1 10.5 10 3.8 11.8 16.5 4.3 24.1l-88.7 88.7c-3 3-4.7 7.1-4.7 11.3l0 41.4c0 8.8 7.2 16 16 16l41.4 0c4.2 0 8.3-1.7 11.3-4.7l88.7-88.7c7.6-7.6 20.3-5.7 24.1 4.3 6.8 17.7 10.5 37 10.5 57.1 0 60.6-33.7 113.4-83.5 140.5l81.5 81.5c18.7 18.7 18.7 49.1 0 67.9l-60.1 60.1c-18.7 18.7-49.1 18.7-67.9 0L288.1 384c-27.4-27.4-33.6-67.9-18.5-101.3l-90.7-90.7-49.6 0c-10.7 0-20.7-5.3-26.6-14.2L23.4 58.9c-4.2-6.3-3.4-14.8 2-20.2L70.8-6.7c5.4-5.4 13.8-6.2 20.2-2L209.9 70.5c8.9 5.9 14.2 15.9 14.2 26.6zm-8.5 199.5c-6.3 37 2.4 76.1 26.4 107.4L147 498.9c-28.1 28.1-73.7 28.1-101.8 0s-28.1-73.7 0-101.8l135.4-135.4 35 35z"/></svg></span></div>
        <div class="grow">
          Okta Tools
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>Shadow AI Agent Discovery, ISPM, Universal Directory</p></div></div></li>
<li>
<p><strong>Governance &amp; Accountability</strong> — <em>Establish ownership and oversight mechanisms</em></p>
<ul>
<li>Assign human sponsors to all AI agents</li>
<li>Implement <strong>OIG Access Request</strong> workflows for agent creation and any permission expansion</li>
<li>Launch <strong>OIG Certification Campaigns</strong> for existing agents to attest or deprovision</li>
<li>Establish Universal Logout procedures</li>
</ul>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="tip">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M224.1 97.1l0 49.6 .5 .5c6.5-82.4 75.4-147.2 159.5-147.2 20.1 0 39.4 3.7 57.1 10.5 10 3.8 11.8 16.5 4.3 24.1l-88.7 88.7c-3 3-4.7 7.1-4.7 11.3l0 41.4c0 8.8 7.2 16 16 16l41.4 0c4.2 0 8.3-1.7 11.3-4.7l88.7-88.7c7.6-7.6 20.3-5.7 24.1 4.3 6.8 17.7 10.5 37 10.5 57.1 0 60.6-33.7 113.4-83.5 140.5l81.5 81.5c18.7 18.7 18.7 49.1 0 67.9l-60.1 60.1c-18.7 18.7-49.1 18.7-67.9 0L288.1 384c-27.4-27.4-33.6-67.9-18.5-101.3l-90.7-90.7-49.6 0c-10.7 0-20.7-5.3-26.6-14.2L23.4 58.9c-4.2-6.3-3.4-14.8 2-20.2L70.8-6.7c5.4-5.4 13.8-6.2 20.2-2L209.9 70.5c8.9 5.9 14.2 15.9 14.2 26.6zm-8.5 199.5c-6.3 37 2.4 76.1 26.4 107.4L147 498.9c-28.1 28.1-73.7 28.1-101.8 0s-28.1-73.7 0-101.8l135.4-135.4 35 35z"/></svg></span></div>
        <div class="grow">
          Okta Tools
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>OIG, Workflows, Universal Directory, Universal Logout</p></div></div></li>
<li>
<p><strong>Runtime Controls &amp; Monitoring</strong> — <em>Enforce least-privilege and enable real-time oversight</em></p>
<ul>
<li>Implement scope-based API Access Management with XAA / ID-JAG</li>
<li>Deploy ITP for behavioral analytics and anomaly detection</li>
<li>Configure SIEM integration for audit log retention</li>
<li>Establish alerting for policy violations</li>
</ul>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="tip">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M224.1 97.1l0 49.6 .5 .5c6.5-82.4 75.4-147.2 159.5-147.2 20.1 0 39.4 3.7 57.1 10.5 10 3.8 11.8 16.5 4.3 24.1l-88.7 88.7c-3 3-4.7 7.1-4.7 11.3l0 41.4c0 8.8 7.2 16 16 16l41.4 0c4.2 0 8.3-1.7 11.3-4.7l88.7-88.7c7.6-7.6 20.3-5.7 24.1 4.3 6.8 17.7 10.5 37 10.5 57.1 0 60.6-33.7 113.4-83.5 140.5l81.5 81.5c18.7 18.7 18.7 49.1 0 67.9l-60.1 60.1c-18.7 18.7-49.1 18.7-67.9 0L288.1 384c-27.4-27.4-33.6-67.9-18.5-101.3l-90.7-90.7-49.6 0c-10.7 0-20.7-5.3-26.6-14.2L23.4 58.9c-4.2-6.3-3.4-14.8 2-20.2L70.8-6.7c5.4-5.4 13.8-6.2 20.2-2L209.9 70.5c8.9 5.9 14.2 15.9 14.2 26.6zm-8.5 199.5c-6.3 37 2.4 76.1 26.4 107.4L147 498.9c-28.1 28.1-73.7 28.1-101.8 0s-28.1-73.7 0-101.8l135.4-135.4 35 35z"/></svg></span></div>
        <div class="grow">
          Okta Tools
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>XAA, API Access Management, ITP, ISPM, System Log</p></div></div></li>
<li>
<p><strong>Continuous Compliance</strong> — <em>Maintain posture and adapt to regulatory updates</em></p>
<ul>
<li>Schedule regular <strong>OIG Certification Campaigns</strong> to catch drift</li>
<li>Monitor ISPM dashboards for over-privileged agents and dormant credentials</li>
<li>Conduct periodic compliance audits</li>
<li>Update policies based on regulatory guidance</li>
</ul>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="tip">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M224.1 97.1l0 49.6 .5 .5c6.5-82.4 75.4-147.2 159.5-147.2 20.1 0 39.4 3.7 57.1 10.5 10 3.8 11.8 16.5 4.3 24.1l-88.7 88.7c-3 3-4.7 7.1-4.7 11.3l0 41.4c0 8.8 7.2 16 16 16l41.4 0c4.2 0 8.3-1.7 11.3-4.7l88.7-88.7c7.6-7.6 20.3-5.7 24.1 4.3 6.8 17.7 10.5 37 10.5 57.1 0 60.6-33.7 113.4-83.5 140.5l81.5 81.5c18.7 18.7 18.7 49.1 0 67.9l-60.1 60.1c-18.7 18.7-49.1 18.7-67.9 0L288.1 384c-27.4-27.4-33.6-67.9-18.5-101.3l-90.7-90.7-49.6 0c-10.7 0-20.7-5.3-26.6-14.2L23.4 58.9c-4.2-6.3-3.4-14.8 2-20.2L70.8-6.7c5.4-5.4 13.8-6.2 20.2-2L209.9 70.5c8.9 5.9 14.2 15.9 14.2 26.6zm-8.5 199.5c-6.3 37 2.4 76.1 26.4 107.4L147 498.9c-28.1 28.1-73.7 28.1-101.8 0s-28.1-73.7 0-101.8l135.4-135.4 35 35z"/></svg></span></div>
        <div class="grow">
          Okta Tools
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>OIG, ISPM, Workflows</p></div></div></li>
</ol>
<pre class="not-prose mermaid">
---
config:
  theme: 'base'
---
timeline
    title EU AI Act Compliance Roadmap — Identity Layer
    Phase 1 · Discovery : Shadow AI Discovery : ISPM posture scan : Agent inventory
    Phase 2 · Governance : OIG Access Requests : Certification Campaigns : Universal Logout
    Phase 3 · Runtime : XAA / ID-JAG : API Access Management : ITP + SIEM
    Phase 4 · Continuous : Scheduled certifications : ISPM drift monitoring : Policy updates
</pre>

<hr>

<h2 class="relative group">Conclusions
    <div id="conclusions" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#conclusions" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>What Matteo&rsquo;s article and this one share — despite their different angles — is the same underlying message: <strong>compliance doesn&rsquo;t happen by accident</strong>. It requires deliberate architecture, and for AI agents that architecture starts with <strong>Identity</strong>.</p>
<p>The EU AI Act creates clear obligations, but organizations in regulated sectors face more than one framework. A bank deploying an AI agent for credit risk is simultaneously subject to EU AI Act (if high-risk), NIS2 (as a financial entity managing ICT risk), and DORA (for ICT resilience and third-party oversight). The identity requirements embedded in each regulation overlap significantly. Solving them once — at the identity layer — is more efficient and more durable than addressing each regulation in isolation.</p>
<p>Okta&rsquo;s <strong><a href="/posts/blog/okta-ai-blueprint/" >O4AA — Agentic Enterprise Blueprint</a></strong> provides that unified foundation:</p>
<ul>
<li><strong>Comprehensive traceability</strong> via audit logs and SIEM integration (EU AI Act Art. 12, NIS2 Art. 21, DORA Art. 9)</li>
<li><strong>Human oversight</strong> through approval workflows and Universal Logout (EU AI Act Art. 14, NIST MANAGE)</li>
<li><strong>Clear accountability</strong> with mandatory ownership attribution (EU AI Act Art. 17, DORA Art. 28, NIST GOVERN)</li>
<li><strong>Cybersecurity resilience</strong> through ISPM, ITP, and credential management (EU AI Act Annex IV, NIS2/DORA Art. 9)</li>
</ul>
<p>The August 2026 deadline is not far. For organizations still in the shadow AI phase — where agents are deployed without governance — the gap between current state and compliance readiness is significant. The frameworks covered here (EU AI Act, NIST AI RMF, NIS2, DORA) are not bureaucratic overhead. They are a blueprint for the kind of AI deployment that organizations, regulators, and end users can actually trust.</p>
<p>What&rsquo;s your organization&rsquo;s compliance posture today? Are you ahead of the curve — or still mapping which agents you even have? 👇</p>
<hr>

<h2 class="relative group">✋ Next Steps
    <div id="-next-steps" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-next-steps" aria-label="Anchor">#</a>
    </span>
    
</h2>

<h3 class="relative group">Learn More
    <div id="learn-more" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#learn-more" aria-label="Anchor">#</a>
    </span>
    
</h3>
<ul>
<li><strong><a href="/posts/blog/okta-ai-blueprint/" >Securing AI: Okta&rsquo;s Blueprint for the Secure Agentic Enterprise</a></strong> — O4AA Series 1: why AI agents need first-class identity governance</li>
<li><strong><a href="/posts/blog/okta-ai-access-patterns/" >Okta for AI Agents: Access Patterns</a></strong> — O4AA Series 2: how agents authenticate to enterprise resources</li>
<li><strong><a href="https://www.okta.com/solutions/secure-ai/agentic-enterprise-blueprint/"  target="_blank" rel="noreferrer">Agentic Enterprise Blueprint</a></strong>: Download the complete framework guide</li>
<li><strong><a href="https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32024R1689"  target="_blank" rel="noreferrer">EU AI Act Full Text</a></strong>: Official regulation text</li>
<li><strong><a href="https://www.nist.gov/system/files/documents/2023/01/26/AI%20RMF%201.0.pdf"  target="_blank" rel="noreferrer">NIST AI RMF 1.0</a></strong>: The NIST AI Risk Management Framework</li>
<li><strong><a href="https://www.okta.com/blog/ai/the-attribution-gap-ai-regulation/"  target="_blank" rel="noreferrer">The Attribution Gap: AI Regulation</a></strong> (Okta) — how the inability to trace agent actions to authorized humans creates legal and regulatory exposure</li>
<li><strong><a href="https://artificialintelligenceact.eu/"  target="_blank" rel="noreferrer">EU AI Act Explorer</a></strong> — interactive guide to the regulation: articles, recitals, obligations by role, and compliance timelines</li>
<li><strong><a href="https://owasp.org/www-project-top-10-for-large-language-model-applications/"  target="_blank" rel="noreferrer">OWASP Top 10 for Large Language Model Applications</a></strong> — the canonical security risk list for LLM-based systems; directly relevant to agent threat modelling and Annex IV cybersecurity obligations</li>
</ul>

<h3 class="relative group">💬 Join the Conversation
    <div id="-join-the-conversation" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-join-the-conversation" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>How is your organization preparing for EU AI Act compliance? What challenges are you facing with AI agent governance?</p>
<p><strong>Share your experience in the <a href="/blog/okta-ai-compliance/#comments" >comments below</a></strong> or connect with me on <a href="https://linkedin.com/in/fabiograsso82"  target="_blank" rel="noreferrer">LinkedIn</a> to continue the discussion.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32024R1689"  target="_blank" rel="noreferrer">Regulation (EU) 2024/1689 of the European Parliament and of the Council laying down harmonised rules on artificial intelligence (Artificial Intelligence Act)</a>, Official Journal of the European Union, August 2024&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref1:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p><a href="https://www.okta.com/blog/ai/the-attribution-gap-ai-regulation/"  target="_blank" rel="noreferrer">The Attribution Gap: AI Regulation</a>, Okta Blog — defining the compliance exposure created when AI agent actions cannot be traced to authorized human decision-makers&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:3">
<p><a href="https://www.cbc.ca/news/canada/british-columbia/air-canada-chatbot-lawsuit-1.7116416"  target="_blank" rel="noreferrer">Air Canada Ordered to Pay After Chatbot Gave Wrong Information About Bereavement Fares</a>, CBC News, February 2024&#160;<a href="#fnref:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:4">
<p><a href="https://www.edpb.europa.eu/news/national-news/2025/ai-italian-supervisory-authority-fines-company-behind-chatbot-replika_en"  target="_blank" rel="noreferrer">AI: Italian Supervisory Authority Fines Company Behind Chatbot Replika</a>, European Data Protection Board, 2025&#160;<a href="#fnref:4" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:5">
<p><a href="https://www.darrow.ai/resources/character-ai-lawsuit"  target="_blank" rel="noreferrer">Character AI Lawsuit: Garcia v. Character Technologies</a>, Darrow AI Legal Resources&#160;<a href="#fnref:5" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:6">
<p><a href="https://natlawreview.com/article/lawsuit-alleges-ai-chatbot-engages-unauthorized-practice-law"  target="_blank" rel="noreferrer">Lawsuit Alleges AI Chatbot Engages in Unauthorized Practice of Law</a>, National Law Review&#160;<a href="#fnref:6" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:7">
<p><a href="https://doi.org/10.6028/NIST.AI.100-1"  target="_blank" rel="noreferrer">NIST AI Risk Management Framework (AI RMF 1.0)</a>, National Institute of Standards and Technology, January 2023&#160;<a href="#fnref:7" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:8">
<p><a href="https://doi.org/10.6028/NIST.SP.800-218A"  target="_blank" rel="noreferrer">NIST SP 800-218A: Secure Software Development Practices for Generative AI and Dual-Use Foundation Models</a>, National Institute of Standards and Technology, 2024&#160;<a href="#fnref:8" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
      <category>Okta</category>
      <category>EU AI Act</category>
      <category>AI</category>
      <category>Artificial Intelligence</category>
      <category>AI Agents</category>
      <category>Compliance</category>
      <category>IAM</category>
      <category>Identity Governance</category>
      <category>Cybersecurity</category>
      <category>ISPM</category>
      <category>ITP</category>
      <category>Regulation</category>
      <category>NIS2</category>
      <category>DORA</category>
      <category>NIST</category>
      <category>Non-Human Identity</category>
      <category>O4AA</category>
    </item>
    <item>
      <title>Okta for AI Agents: Access Patterns Deep Dive</title>
      <link>https://iam.fabiograsso.net/blog/okta-ai-access-patterns-deep-dive/</link>
      <pubDate>Thu, 23 Apr 2026 10:00:01 +0000</pubDate>
      <guid>https://iam.fabiograsso.net/blog/okta-ai-access-patterns-deep-dive/</guid>
      <description>Protocol-level deep dive into the four Okta for AI Agents access patterns: ID-JAG token structure, sequence diagrams, audit log examples, and step-by-step Okta configuration for XAA, STS, PSK, and Service Account.</description>
      <content:encoded>&lt;![CDATA[
<h2 class="relative group">From Overview to Implementation
    <div id="from-overview-to-implementation" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#from-overview-to-implementation" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>In <a href="/posts/blog/okta-ai-access-patterns/" >Part 2 of this series</a> I introduced the four access patterns that <strong>Okta for AI Agents (O4AA)</strong> provides — XAA, STS, PSK, and Service Account — and the strategic framework for choosing between them. That article answered <em>which pattern</em> and <em>why</em>.</p>
<p>This deep dive answers <strong>how</strong>. For each pattern I walk through the protocol flow, the sequence diagrams, the token structure (where applicable), the audit signals you should expect in Okta system logs, the use cases where it fits, and the concrete configuration steps in the Okta admin console. If you are an architect or solution engineer about to implement one of these patterns, this is the reference companion to keep open in a second tab.</p>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="tip">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M112.1 454.3c0 6.297 1.816 12.44 5.284 17.69l17.14 25.69c5.25 7.875 17.17 14.28 26.64 14.28h61.67c9.438 0 21.36-6.401 26.61-14.28l17.08-25.68c2.938-4.438 5.348-12.37 5.348-17.7L272 415.1h-160L112.1 454.3zM191.4 .0132C89.44 .3257 16 82.97 16 175.1c0 44.38 16.44 84.84 43.56 115.8c16.53 18.84 42.34 58.23 52.22 91.45c.0313 .25 .0938 .5166 .125 .7823h160.2c.0313-.2656 .0938-.5166 .125-.7823c9.875-33.22 35.69-72.61 52.22-91.45C351.6 260.8 368 220.4 368 175.1C368 78.61 288.9-.2837 191.4 .0132zM192 96.01c-44.13 0-80 35.89-80 79.1C112 184.8 104.8 192 96 192S80 184.8 80 176c0-61.76 50.25-111.1 112-111.1c8.844 0 16 7.159 16 16S200.8 96.01 192 96.01z"/></svg>
</span></div>
        <div class="grow">
          How to read this article
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>Jump directly to the pattern you are implementing — each section is self-contained:</p>
<ul>
<li><a href="/blog/okta-ai-access-patterns-deep-dive/#cross-app-access-xaa" >Cross App Access (XAA)</a> — the strategic, ID-JAG-based pattern</li>
<li><a href="/blog/okta-ai-access-patterns-deep-dive/#secure-token-service-sts" >Secure Token Service (STS)</a> — OAuth bridge for SaaS that hasn&rsquo;t yet adopted ID-JAG</li>
<li><a href="/blog/okta-ai-access-patterns-deep-dive/#pre-shared-key-vaulted-secret" >Pre-Shared Key (PSK)</a> — vaulted secrets for legacy API-key services</li>
<li><a href="/blog/okta-ai-access-patterns-deep-dive/#service-account" >Service Account</a> — username/password for systems that support nothing else</li>
<li><a href="/blog/okta-ai-access-patterns-deep-dive/#from-theory-to-practice-configuring-access-patterns-in-okta" >From Theory to Practice</a> — Okta admin console configuration walkthrough</li>
</ul></div></div><hr>

<h2 class="relative group">Cross App Access (XAA)
    <div id="cross-app-access-xaa" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#cross-app-access-xaa" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p><strong><a href="https://www.okta.com/solutions/cross-app-access/"  target="_blank" rel="noreferrer">Cross App Access (XAA)</a></strong> is the flagship access pattern for Okta for AI Agents. It implements <strong>user-delegated, user-context-aware access</strong> through the Identity Assertion JWT Authorization Grant (ID-JAG), an emerging IETF standard for secure delegation<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>.</p>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="Cross App Access Overview"
    srcset="
      /blog/okta-ai-access-patterns-deep-dive/xaa_hu_91ea6da439b6afa4.webp  330w,
      /blog/okta-ai-access-patterns-deep-dive/xaa_hu_4b5c250422f7b25d.webp  660w,
      /blog/okta-ai-access-patterns-deep-dive/xaa_hu_16f8a7a25b8b068e.webp  960w,
      /blog/okta-ai-access-patterns-deep-dive/xaa_hu_cfe79e5d139d67cd.webp 1280w,
      /blog/okta-ai-access-patterns-deep-dive/xaa_hu_dc948fc47703ae53.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/okta-ai-access-patterns-deep-dive/xaa.png"
    src="/blog/okta-ai-access-patterns-deep-dive/xaa.png">


  
</figure>

<h3 class="relative group">Why XAA Matters
    <div id="why-xaa-matters" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-xaa-matters" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>XAA is the first access pattern to embed <strong>full identity context at every hop</strong> in an agent workflow. Every token carries both:</p>
<ul>
<li><strong><code>sub</code></strong>: The user identity (who authorized this action)</li>
<li><strong><code>act.sub</code></strong>: The agent identity (which agent is acting on their behalf)</li>
</ul>
<p>This dual-identity structure enables capabilities impossible with traditional service accounts:</p>
<ul>
<li><strong>Per-user audit attribution</strong>: Every agent action is traceable to the specific user who authorized it</li>
<li><strong>Surgical revocation</strong>: Disable one user&rsquo;s access to one agent without affecting other users or agents</li>
<li><strong>Scope narrowing</strong>: The token&rsquo;s effective permissions are the narrowest overlap of what the agent is allowed, what the user is entitled to, and what the specific task requires</li>
<li><strong>Regulatory compliance</strong>: Complete audit trails satisfying NIST SP 800-63-4<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>, EU AI Act<sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>, NIS2<sup id="fnref:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup>, and DORA<sup id="fnref:5"><a href="#fn:5" class="footnote-ref" role="doc-noteref">5</a></sup> traceability requirements</li>
</ul>

<h3 class="relative group">How XAA Works: The ID-JAG Flow
    <div id="how-xaa-works-the-id-jag-flow" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-xaa-works-the-id-jag-flow" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>The XAA flow involves a token exchange sequence where Okta vouches for the user&rsquo;s identity to the target resource&rsquo;s authorization server.</p>
<pre class="not-prose mermaid">
sequenceDiagram
    autonumber
    actor User
    participant Client as 🤖 Client<br>(AI Agent)
    box rgba(243, 242, 247,0.3) Okta Cloud
        participant IdP as 🔐 IdP AS<br>(Okta Org AS)
        participant AS as 🛡️ Resource AS<br>(Custom AS)
    end
    participant RS as 📦 Resource Server<br>(Protected API)

    Note over User, RS: Step 1: User Authentication (OIDC SSO)
    User->>Client: Initiate action
    Client->>IdP: Auth Code + PKCE
    IdP->>User: Authenticate (MFA)
    User-->>IdP: Credentials
    IdP-->>Client: ID Token + Refresh Token
    Note left of IdP: sub:user<br>aud:client

    Note over User, RS: Step 2: Token Exchange (RFC 8693)
    Client->>IdP: Token Exchange Request
    Note right of Client: grant_type:token-exchange<br>subject_token:ID_Token<br>requested_token_type:id-jag<br>audience:Resource AS
    IdP->>IdP: Validate ID Token
    Note right of IdP: private_key_jwt<br>managed connection policy
    IdP->>IdP: Generate ID-JAG
    IdP-->>Client: ID-JAG (Identity Assertion)
    Note left of IdP: sub:user<br>aud:Resource AS<br>client_id:agent

    Note over User, RS: Step 3: JWT Bearer Grant (RFC 7523)
    Client->>AS: JWT Bearer Request
    Note right of Client: grant_type:jwt-bearer<br>assertion:ID-JAG<br>scope:orders:read
    AS->>AS: Validate ID-JAG
    Note left of AS: aud match<br>client_id match<br>signature (JWKS)
    AS->>AS: Apply Authorization Policy
    AS-->>Client: Access Token
    Note left of AS: sub + act.sub + scope<br>ephemeral

    Note over User, RS: Step 4: API Call
    Client->>RS: API call (with Access Token)
    RS->>RS: Validate Token (JWKS)
    RS-->>Client: Response data
</pre>


<h4 class="relative group">Step-by-step breakdown
    <div id="step-by-step-breakdown" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#step-by-step-breakdown" aria-label="Anchor">#</a>
    </span>
    
</h4>
<ol>
<li><strong>User authentication (OIDC SSO)</strong>: The user initiates an action through the client application. The client redirects to Okta&rsquo;s Org Authorization Server using Authorization Code + PKCE. The user authenticates (including MFA if configured), and Okta issues an ID Token and optionally a Refresh Token. This ID Token becomes the <code>subject_token</code> for the next step.</li>
<li><strong>Token exchange at Okta (RFC 8693)</strong>: The agent authenticates with its workload credentials (<code>private_key_jwt</code>) and requests a token exchange (<code>grant_type: token-exchange</code>, <code>subject_token: ID Token</code>, <code>requested_token_type: id-jag</code>, <code>audience: Custom AS</code>). Okta validates the token, checks the managed connection policy, and generates an ID-JAG — a signed JWT containing <code>sub</code> (user), <code>aud</code> (Custom AS), and <code>client_id</code> (agent).</li>
<li><strong>JWT Bearer grant at Custom AS (RFC 7523)</strong>: The agent presents the ID-JAG to the Custom AS&rsquo;s token endpoint (<code>grant_type: jwt-bearer</code>, <code>assertion: ID-JAG</code>, <code>scope: orders:read</code>). The Custom AS validates the ID-JAG signature via JWKS, confirms <code>aud</code> and <code>client_id</code> match, applies its local authorization policy, and mints an ephemeral access token with <code>sub</code> + <code>act.sub</code>.</li>
<li><strong>API call</strong>: The agent calls the protected resource with the scoped access token. The resource validates the token via JWKS and returns data.</li>
</ol>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="info">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          IETF Naming and Okta Counterparts
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>This diagram uses the role names from the <a href="https://datatracker.ietf.org/doc/draft-ietf-oauth-identity-assertion-authz-grant/"  target="_blank" rel="noreferrer">ID-JAG specification</a>. Here&rsquo;s how each IETF role maps to Okta&rsquo;s implementation:</p>
<table>
  <thead>
      <tr>
          <th>IETF Role</th>
          <th>Okta Counterpart</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>Client</strong></td>
          <td>The AI Agent (or its frontend/orchestration layer) — the workload principal registered in Okta</td>
      </tr>
      <tr>
          <td><strong>IdP AS</strong></td>
          <td>Okta&rsquo;s Org Authorization Server, backed by Universal Directory and Okta SSO</td>
      </tr>
      <tr>
          <td><strong>Resource AS</strong></td>
          <td>A Custom Authorization Server in Okta, protecting downstream APIs</td>
      </tr>
      <tr>
          <td><strong>Resource Server (RS)</strong></td>
          <td>The protected resource — an internal API, MCP server, or third-party API</td>
      </tr>
  </tbody>
</table>
<p>In practice, the &ldquo;Client&rdquo; box represents multiple components working together: a <strong>frontend application</strong> (chat UI, web app) handling user authentication via OIDC, an <strong>orchestration layer</strong> managing conversation state and tool calls, and one or more <strong>backend agents</strong> (workload principals) performing the token exchanges. I collapsed them into a single box to keep the focus on the protocol flow rather than internal architecture.</p></div></div>
<h3 class="relative group">User Presence and Consent Model
    <div id="user-presence-and-consent-model" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#user-presence-and-consent-model" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>A key advantage of XAA is that it eliminates the interactive consent step at the Resource Authorization Server. Unlike traditional OAuth flows where each resource requests user consent separately, in XAA the <strong>IdP evaluates administrator-defined policies</strong> and delegates authorization authority. The Resource AS trusts the IdP&rsquo;s assertion without prompting the user — this is what oauth.net describes as enabling access <em>&ldquo;without any user interaction&rdquo;</em> at the resource level.</p>
<p>However, XAA <strong>does require user authentication</strong> to bootstrap the flow. The user must authenticate via OIDC SSO (Step 1) so the agent obtains an ID Token as <code>subject_token</code> for the token exchange. Every agent action is scoped to a specific authenticated user&rsquo;s identity and permissions.</p>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="note">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          Autonomous Operation: Spec vs. Implementation
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>The <a href="https://datatracker.ietf.org/doc/draft-ietf-oauth-identity-assertion-authz-grant/"  target="_blank" rel="noreferrer">ID-JAG specification</a> defines an optional (<strong>MAY</strong>) capability where implementations can accept <strong>Refresh Tokens</strong> as <code>subject_token</code>, allowing agents to obtain fresh ID-JAGs without re-authenticating the user. This would enable truly autonomous agent operation for scheduled or event-driven tasks.</p>
<p>However, <strong>this capability is not yet documented in Okta&rsquo;s XAA implementation</strong> or on <a href="https://xaa.dev"  target="_blank" rel="noreferrer">xaa.dev</a>. Today, Okta&rsquo;s XAA flow requires an ID Token obtained from an active user authentication as the <code>subject_token</code>. For agent scenarios that require background operation without user presence, consider combining XAA (when user context is available) with other patterns such as PSK or Service Accounts for autonomous operations.</p></div></div>
<h3 class="relative group">The ID-JAG Standard
    <div id="the-id-jag-standard" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-id-jag-standard" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>ID-JAG (Identity Assertion JWT Authorization Grant) is based on several IETF standards:</p>
<ul>
<li><strong><a href="https://www.rfc-editor.org/rfc/rfc8693.html"  target="_blank" rel="noreferrer">RFC 8693</a></strong>: OAuth 2.0 Token Exchange</li>
<li><strong><a href="https://www.rfc-editor.org/rfc/rfc7523.html"  target="_blank" rel="noreferrer">RFC 7523</a></strong>: JWT Profile for OAuth 2.0 Client Authentication</li>
<li><strong><a href="https://datatracker.ietf.org/doc/draft-ietf-oauth-identity-assertion-authz-grant/"  target="_blank" rel="noreferrer">IETF ID-JAG Draft</a></strong>: Identity Assertion JWT Authorization Grant specification (active IETF working group draft)</li>
</ul>
<p>For a comprehensive overview of Cross App Access and how it fits into the OAuth ecosystem, see the <a href="https://oauth.net/cross-app-access/"  target="_blank" rel="noreferrer">OAuth.net Cross App Access reference</a>.</p>
<p>The key innovation is the clean separation of <strong>user identity</strong> (<code>sub</code>) and <strong>agent identity</strong> (<code>client_id</code>) as distinct required claims in the ID-JAG token. The IdP signs an assertion that says <em>&ldquo;user X has authorized agent Y to act on their behalf for resource Z&rdquo;</em> — all in a single, verifiable JWT. Downstream, the Resource AS can mint access tokens with the <strong><code>act</code> claim</strong> (per <a href="https://www.rfc-editor.org/rfc/rfc8693.html#section-4.4"  target="_blank" rel="noreferrer">RFC 8693 §4.4</a>) to propagate this separation to resource servers, enabling a clear audit trail of <em>&ldquo;who is this action for&rdquo;</em> versus <em>&ldquo;what system is performing the action.&rdquo;</em></p>

<h3 class="relative group">Token Structure
    <div id="token-structure" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#token-structure" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>The XAA flow produces two distinct tokens. Understanding the difference is important for implementation and audit.</p>

<h4 class="relative group">The ID-JAG Token (issued by the IdP)
    <div id="the-id-jag-token-issued-by-the-idp" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-id-jag-token-issued-by-the-idp" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>The ID-JAG is a signed JWT issued by the IdP Authorization Server during the token exchange (Step 1). It asserts the user&rsquo;s identity and the agent&rsquo;s authorization to act on their behalf. Its JWT header <strong>must</strong> use the type <code>oauth-id-jag+jwt</code>.</p>
<div class="highlight-wrapper"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">Header: { &#34;typ&#34;: &#34;oauth-id-jag+jwt&#34;, &#34;alg&#34;: &#34;RS256&#34; }</span></span></code></pre></div></div>
<div class="highlight-wrapper"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;iss&#34;</span><span class="p">:</span> <span class="s2">&#34;https://acme.okta.com&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;sub&#34;</span><span class="p">:</span> <span class="s2">&#34;john@example.com&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;aud&#34;</span><span class="p">:</span> <span class="s2">&#34;https://crm.example.com/oauth2&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;client_id&#34;</span><span class="p">:</span> <span class="s2">&#34;sales-representative-agent&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;jti&#34;</span><span class="p">:</span> <span class="s2">&#34;9e43f81b64a33f20116179&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;exp&#34;</span><span class="p">:</span> <span class="mi">1735571612</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;iat&#34;</span><span class="p">:</span> <span class="mi">1735571312</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;resource&#34;</span><span class="p">:</span> <span class="s2">&#34;https://crm.example.com/api&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;scope&#34;</span><span class="p">:</span> <span class="s2">&#34;orders:read accounts:read&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;auth_time&#34;</span><span class="p">:</span> <span class="mi">1735571200</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;amr&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;mfa&#34;</span><span class="p">,</span> <span class="s2">&#34;pwd&#34;</span><span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre></div></div>
<table>
  <thead>
      <tr>
          <th>Claim</th>
          <th>Status</th>
          <th>Purpose</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><code>iss</code></td>
          <td>REQUIRED</td>
          <td>IdP Authorization Server identifier</td>
      </tr>
      <tr>
          <td><code>sub</code></td>
          <td>REQUIRED</td>
          <td>User identity — same identifier used in SSO</td>
      </tr>
      <tr>
          <td><code>aud</code></td>
          <td>REQUIRED</td>
          <td>Resource Authorization Server identifier</td>
      </tr>
      <tr>
          <td><code>client_id</code></td>
          <td>REQUIRED</td>
          <td>Agent identity — the OAuth client registered at the Resource AS</td>
      </tr>
      <tr>
          <td><code>jti</code></td>
          <td>REQUIRED</td>
          <td>Unique token identifier (for replay prevention and audit correlation)</td>
      </tr>
      <tr>
          <td><code>exp</code></td>
          <td>REQUIRED</td>
          <td>Expiration time</td>
      </tr>
      <tr>
          <td><code>iat</code></td>
          <td>REQUIRED</td>
          <td>Issued at time</td>
      </tr>
      <tr>
          <td><code>resource</code></td>
          <td>OPTIONAL</td>
          <td>Target Resource Server URI(s)</td>
      </tr>
      <tr>
          <td><code>scope</code></td>
          <td>OPTIONAL</td>
          <td>Requested scopes (may be narrowed by IdP policy)</td>
      </tr>
      <tr>
          <td><code>auth_time</code></td>
          <td>OPTIONAL</td>
          <td>When the user last authenticated</td>
      </tr>
      <tr>
          <td><code>amr</code></td>
          <td>OPTIONAL</td>
          <td>Authentication methods used (e.g. <code>mfa</code>, <code>pwd</code>, <code>hwk</code>)</td>
      </tr>
  </tbody>
</table>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="note">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          Note
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>The ID-JAG does <strong>not</strong> contain an <code>act</code> claim. The user/agent separation is expressed through <code>sub</code> (user) and <code>client_id</code> (agent). The <code>act</code> claim appears only in the downstream access token.</p></div></div>
<h4 class="relative group">The Access Token (issued by the Resource AS)
    <div id="the-access-token-issued-by-the-resource-as" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-access-token-issued-by-the-resource-as" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>The Resource AS validates the ID-JAG (Step 2) and issues a scoped access token. This token propagates the delegation via the <strong><code>act</code> claim</strong> (<a href="https://www.rfc-editor.org/rfc/rfc8693.html#section-4.4"  target="_blank" rel="noreferrer">RFC 8693 §4.4</a>), making both identities visible to the resource server:</p>
<div class="highlight-wrapper"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;sub&#34;</span><span class="p">:</span> <span class="s2">&#34;john@example.com&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;act&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;sub&#34;</span><span class="p">:</span> <span class="s2">&#34;sales-representative-agent&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;aud&#34;</span><span class="p">:</span> <span class="s2">&#34;okta.com&#34;</span>
</span></span><span class="line"><span class="cl">  <span class="p">},</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;aud&#34;</span><span class="p">:</span> <span class="s2">&#34;crm-orders-api&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;scope&#34;</span><span class="p">:</span> <span class="s2">&#34;orders:read accounts:read&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;jti&#34;</span><span class="p">:</span> <span class="s2">&#34;s2r3d4x3m6a0q1l&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;iat&#34;</span><span class="p">:</span> <span class="mi">1735571312</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;nbf&#34;</span><span class="p">:</span> <span class="mi">1735571312</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;exp&#34;</span><span class="p">:</span> <span class="mi">1735571468</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre></div></div>
<table>
  <thead>
      <tr>
          <th>Claim</th>
          <th>Purpose</th>
          <th>Audit/Compliance Value</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><code>sub</code></td>
          <td>User identity</td>
          <td>Answers: &ldquo;Which user authorized this action?&rdquo;</td>
      </tr>
      <tr>
          <td><code>act.sub</code></td>
          <td>Agent identity</td>
          <td>Answers: &ldquo;Which agent performed this action?&rdquo;</td>
      </tr>
      <tr>
          <td><code>aud</code></td>
          <td>Target resource</td>
          <td>Answers: &ldquo;What system was accessed?&rdquo;</td>
      </tr>
      <tr>
          <td><code>scope</code></td>
          <td>Granted permissions</td>
          <td>Answers: &ldquo;What operations were permitted?&rdquo;</td>
      </tr>
      <tr>
          <td><code>jti</code></td>
          <td>Transaction ID</td>
          <td>Unique identifier for correlation across systems</td>
      </tr>
      <tr>
          <td><code>exp</code></td>
          <td>Expiration</td>
          <td>Ensures ephemeral access; limits blast radius</td>
      </tr>
  </tbody>
</table>

<h3 class="relative group">Token Lifetime
    <div id="token-lifetime" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#token-lifetime" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>The ID-JAG specification <strong>requires</strong> the <code>exp</code> (expiration) and <code>iat</code> (issued at) claims in every token, but it <strong>does not mandate a specific lifetime</strong>. The <code>&quot;expires_in&quot;: 300</code> (5 minutes) that appears in the spec is marked as RECOMMENDED in the token exchange response — it is an example, not a fixed requirement.</p>
<p>In practice, the IdP administrator configures the token lifetime based on the deployment&rsquo;s security posture. A shorter lifetime (e.g. 5 minutes) limits the blast radius if a token is compromised; a longer lifetime reduces the frequency of token exchanges for agents performing multi-step workflows. The right value depends on your risk profile, but the design intent is clear: <strong>ID-JAG tokens should be short-lived and re-issued frequently</strong>, not cached for hours.</p>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="tip">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M112.1 454.3c0 6.297 1.816 12.44 5.284 17.69l17.14 25.69c5.25 7.875 17.17 14.28 26.64 14.28h61.67c9.438 0 21.36-6.401 26.61-14.28l17.08-25.68c2.938-4.438 5.348-12.37 5.348-17.7L272 415.1h-160L112.1 454.3zM191.4 .0132C89.44 .3257 16 82.97 16 175.1c0 44.38 16.44 84.84 43.56 115.8c16.53 18.84 42.34 58.23 52.22 91.45c.0313 .25 .0938 .5166 .125 .7823h160.2c.0313-.2656 .0938-.5166 .125-.7823c9.875-33.22 35.69-72.61 52.22-91.45C351.6 260.8 368 220.4 368 175.1C368 78.61 288.9-.2837 191.4 .0132zM192 96.01c-44.13 0-80 35.89-80 79.1C112 184.8 104.8 192 96 192S80 184.8 80 176c0-61.76 50.25-111.1 112-111.1c8.844 0 16 7.159 16 16S200.8 96.01 192 96.01z"/></svg>
</span></div>
        <div class="grow">
          Scope Narrowing in Action
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>An agent running for a sales manager might have access to <code>orders:read</code>, <code>orders:write</code>, and <code>accounts:read</code>. But when processing a specific task (&ldquo;list my open deals&rdquo;), the request can be narrowed to just <code>orders:read</code>. The effective permission is always the <strong>intersection</strong> of what the agent can do, what the user can do, and what this specific request needs.</p></div></div>
<h3 class="relative group">Audit and Compliance Benefits
    <div id="audit-and-compliance-benefits" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#audit-and-compliance-benefits" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>When using XAA, Okta&rsquo;s system logs capture rich context for every access event, including both the user and agent identities, the scopes requested, the target resource, and a unique transaction ID for correlation. The EventType <code>app.oauth2.token.grant.id_jag</code> specifically indicates when an ID-JAG exchange occurred, providing a clear audit trail for agent actions.</p>
<p>Let&rsquo;s see an example of an actual XAA event log entry from Okta&rsquo;s system logs:</p>
<details>
<summary>Full Okta System Log entry for an ID-JAG exchange (click to expand)</summary>
<div class="highlight-wrapper"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;actor&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;id&#34;</span><span class="p">:</span> <span class="s2">&#34;wlpxnnu00000B6vxs1d7&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;PublicClientApp&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;alternateId&#34;</span><span class="p">:</span> <span class="s2">&#34;unknown&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;displayName&#34;</span><span class="p">:</span> <span class="s2">&#34;Pricing Agent&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;detailEntry&#34;</span><span class="p">:</span> <span class="kc">null</span>
</span></span><span class="line"><span class="cl">  <span class="p">},</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;client&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;userAgent&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;rawUserAgent&#34;</span><span class="p">:</span> <span class="s2">&#34;python-requests/2.33.1&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;os&#34;</span><span class="p">:</span> <span class="s2">&#34;Unknown&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;browser&#34;</span><span class="p">:</span> <span class="s2">&#34;UNKNOWN&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="p">},</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;zone&#34;</span><span class="p">:</span> <span class="s2">&#34;null&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;device&#34;</span><span class="p">:</span> <span class="s2">&#34;Unknown&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;id&#34;</span><span class="p">:</span> <span class="kc">null</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;ipAddress&#34;</span><span class="p">:</span> <span class="s2">&#34;x.x.x.x&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;geographicalContext&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;city&#34;</span><span class="p">:</span> <span class="s2">&#34;Ashburn&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;state&#34;</span><span class="p">:</span> <span class="s2">&#34;Virginia&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;country&#34;</span><span class="p">:</span> <span class="s2">&#34;United States&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;postalCode&#34;</span><span class="p">:</span> <span class="s2">&#34;20149&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;geolocation&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;lat&#34;</span><span class="p">:</span> <span class="mf">39.0469</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;lon&#34;</span><span class="p">:</span> <span class="mf">-77.4903</span>
</span></span><span class="line"><span class="cl">      <span class="p">}</span>
</span></span><span class="line"><span class="cl">    <span class="p">}</span>
</span></span><span class="line"><span class="cl">  <span class="p">},</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;displayMessage&#34;</span><span class="p">:</span> <span class="s2">&#34;OAuth 2.0 Identity Assertion Authorization Grant is granted&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;eventType&#34;</span><span class="p">:</span> <span class="s2">&#34;app.oauth2.token.grant.id_jag&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;outcome&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;result&#34;</span><span class="p">:</span> <span class="s2">&#34;SUCCESS&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;reason&#34;</span><span class="p">:</span> <span class="kc">null</span>
</span></span><span class="line"><span class="cl">  <span class="p">},</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;published&#34;</span><span class="p">:</span> <span class="s2">&#34;2026-04-16T19:27:49.919Z&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;securityContext&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;asNumber&#34;</span><span class="p">:</span> <span class="mi">14618</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;asOrg&#34;</span><span class="p">:</span> <span class="s2">&#34;amazon.com  inc.&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;isp&#34;</span><span class="p">:</span> <span class="s2">&#34;amazon.com  inc.&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;domain&#34;</span><span class="p">:</span> <span class="s2">&#34;amazonaws.com&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;isProxy&#34;</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;ipDetails&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;asNumber&#34;</span><span class="p">:</span> <span class="mi">14618</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;asOrg&#34;</span><span class="p">:</span> <span class="s2">&#34;amazon.com  inc.&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;isp&#34;</span><span class="p">:</span> <span class="s2">&#34;amazon.com  inc.&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;domain&#34;</span><span class="p">:</span> <span class="s2">&#34;amazonaws.com&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="p">}</span>
</span></span><span class="line"><span class="cl">  <span class="p">},</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;severity&#34;</span><span class="p">:</span> <span class="s2">&#34;INFO&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;debugContext&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;debugData&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;clientAuthType&#34;</span><span class="p">:</span> <span class="s2">&#34;private_key_jwt&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;grantedScopes&#34;</span><span class="p">:</span> <span class="s2">&#34;pricing:margin&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;subjectTokenIssuer&#34;</span><span class="p">:</span> <span class="s2">&#34;https://xxx.oktapreview.com&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;subjectTokenType&#34;</span><span class="p">:</span> <span class="s2">&#34;urn:ietf:params:oauth:token-type:id_token&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;clientId&#34;</span><span class="p">:</span> <span class="s2">&#34;wlpxnnu00000B6vxs1d7&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;responseTime&#34;</span><span class="p">:</span> <span class="s2">&#34;213&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;requestedTokenType&#34;</span><span class="p">:</span> <span class="s2">&#34;urn:ietf:params:oauth:token-type:id-jag&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;authorizationServerAudience&#34;</span><span class="p">:</span> <span class="s2">&#34;https://xxx.oktapreview.com/oauth2/ausxnnacdm60nV7vv1d7&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;requestUri&#34;</span><span class="p">:</span> <span class="s2">&#34;/oauth2/v1/token&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;requestedScopes&#34;</span><span class="p">:</span> <span class="s2">&#34;pricing:margin&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;tokenExchangeType&#34;</span><span class="p">:</span> <span class="s2">&#34;Agent ID Assertion&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;url&#34;</span><span class="p">:</span> <span class="s2">&#34;/oauth2/v1/token?&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;managedConnectionId&#34;</span><span class="p">:</span> <span class="s2">&#34;mcnxnodu9t2FRZO5R1d7&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;subjectTokenId&#34;</span><span class="p">:</span> <span class="s2">&#34;ID.kiJ9Ch3aBer2ftX2CobkLuSSPqBMdMsZaxwRMZQjr44&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;subjectTokenClientId&#34;</span><span class="p">:</span> <span class="s2">&#34;0oaxnnekviMmWpyBK2d3&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;requestId&#34;</span><span class="p">:</span> <span class="s2">&#34;5eaf3d96ff3dbb684e1099bf8cecdd53&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;dtHash&#34;</span><span class="p">:</span> <span class="s2">&#34;96dec87ffaebc55e64ab62eca30303c555d589e0f9686d55827963c51032ef7f&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;threatSuspected&#34;</span><span class="p">:</span> <span class="s2">&#34;false&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;grantType&#34;</span><span class="p">:</span> <span class="s2">&#34;urn:ietf:params:oauth:grant-type:token-exchange&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="p">}</span>
</span></span><span class="line"><span class="cl">  <span class="p">},</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;legacyEventType&#34;</span><span class="p">:</span> <span class="kc">null</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;transaction&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;WEB&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;id&#34;</span><span class="p">:</span> <span class="s2">&#34;5eaf3d96ff3dbb684e1099bf8cecdd53&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;detail&#34;</span><span class="p">:</span> <span class="p">{}</span>
</span></span><span class="line"><span class="cl">  <span class="p">},</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;uuid&#34;</span><span class="p">:</span> <span class="s2">&#34;5b10a39b-39ca-11f1-bbfb-f341db467931&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;version&#34;</span><span class="p">:</span> <span class="s2">&#34;0&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;request&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;ipChain&#34;</span><span class="p">:</span> <span class="p">[</span>
</span></span><span class="line"><span class="cl">      <span class="p">{</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;ip&#34;</span><span class="p">:</span> <span class="s2">&#34;x.x.x.x&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;geographicalContext&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">          <span class="nt">&#34;city&#34;</span><span class="p">:</span> <span class="s2">&#34;Ashburn&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">          <span class="nt">&#34;state&#34;</span><span class="p">:</span> <span class="s2">&#34;Virginia&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">          <span class="nt">&#34;country&#34;</span><span class="p">:</span> <span class="s2">&#34;United States&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">          <span class="nt">&#34;postalCode&#34;</span><span class="p">:</span> <span class="s2">&#34;20149&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">          <span class="nt">&#34;geolocation&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">            <span class="nt">&#34;lat&#34;</span><span class="p">:</span> <span class="mf">39.0469</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="nt">&#34;lon&#34;</span><span class="p">:</span> <span class="mf">-77.4903</span>
</span></span><span class="line"><span class="cl">          <span class="p">}</span>
</span></span><span class="line"><span class="cl">        <span class="p">},</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;version&#34;</span><span class="p">:</span> <span class="s2">&#34;V4&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;source&#34;</span><span class="p">:</span> <span class="kc">null</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;ipDetails&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">          <span class="nt">&#34;asNumber&#34;</span><span class="p">:</span> <span class="mi">14618</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">          <span class="nt">&#34;asOrg&#34;</span><span class="p">:</span> <span class="s2">&#34;amazon.com  inc.&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">          <span class="nt">&#34;isp&#34;</span><span class="p">:</span> <span class="s2">&#34;amazon.com  inc.&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">          <span class="nt">&#34;domain&#34;</span><span class="p">:</span> <span class="s2">&#34;amazonaws.com&#34;</span>
</span></span><span class="line"><span class="cl">        <span class="p">}</span>
</span></span><span class="line"><span class="cl">      <span class="p">}</span>
</span></span><span class="line"><span class="cl">    <span class="p">]</span>
</span></span><span class="line"><span class="cl">  <span class="p">},</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;target&#34;</span><span class="p">:</span> <span class="p">[</span>
</span></span><span class="line"><span class="cl">    <span class="p">{</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;id&#34;</span><span class="p">:</span> <span class="s2">&#34;ID.kiJ9Ch3aBer2ftX2CobkLuSSPqBMdMsZaxwRMZQjr44&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;id_token&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;alternateId&#34;</span><span class="p">:</span> <span class="kc">null</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;displayName&#34;</span><span class="p">:</span> <span class="s2">&#34;ID Token&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;detailEntry&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;audience&#34;</span><span class="p">:</span> <span class="s2">&#34;0oaxnnekviMmWpyBK2d3&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;expires&#34;</span><span class="p">:</span> <span class="s2">&#34;2026-04-16T20:07:29.000Z&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;subject&#34;</span><span class="p">:</span> <span class="s2">&#34;00uxnn7b13YEcYj2V6a7&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;hash&#34;</span><span class="p">:</span> <span class="s2">&#34;iMQM1uCzsH07nFhkRPUNvg&#34;</span>
</span></span><span class="line"><span class="cl">      <span class="p">}</span>
</span></span><span class="line"><span class="cl">    <span class="p">},</span>
</span></span><span class="line"><span class="cl">    <span class="p">{</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;id&#34;</span><span class="p">:</span> <span class="s2">&#34;00uxnn7b13YEcYj2V6a7&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;User&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;alternateId&#34;</span><span class="p">:</span> <span class="s2">&#34;fabio.grasso@example.com&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;displayName&#34;</span><span class="p">:</span> <span class="s2">&#34;Fabio Grasso&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;detailEntry&#34;</span><span class="p">:</span> <span class="kc">null</span>
</span></span><span class="line"><span class="cl">    <span class="p">},</span>
</span></span><span class="line"><span class="cl">    <span class="p">{</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;id&#34;</span><span class="p">:</span> <span class="s2">&#34;IDAAG.5ZazR5P-fmm8zuG1CwuqT3EenUx1pFfN00jToEE0s6A&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;type&#34;</span><span class="p">:</span> <span class="s2">&#34;id_jag&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;alternateId&#34;</span><span class="p">:</span> <span class="kc">null</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;displayName&#34;</span><span class="p">:</span> <span class="s2">&#34;Identity Assertion JWT Authorization Grant&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;detailEntry&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;audience&#34;</span><span class="p">:</span> <span class="s2">&#34;https://xxx.oktapreview.com/oauth2/ausxnnacdm60nV7vv1d7&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;expires&#34;</span><span class="p">:</span> <span class="s2">&#34;2026-04-16T19:32:49.000Z&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;subject&#34;</span><span class="p">:</span> <span class="s2">&#34;00uxnn7b13YEcYj2V6a7&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;scope&#34;</span><span class="p">:</span> <span class="s2">&#34;pricing:margin&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;hash&#34;</span><span class="p">:</span> <span class="s2">&#34;Tq7wccRtqpRvZvEXKYK9nA&#34;</span>
</span></span><span class="line"><span class="cl">      <span class="p">}</span>
</span></span><span class="line"><span class="cl">    <span class="p">}</span>
</span></span><span class="line"><span class="cl">  <span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre></div></div>
</details>
<p>As you can see, not only the agent that made the request (<code>Pricing Agent</code>) but also the user that authorized the action (<code>fabio.grasso@example.com</code>). The <code>grantedScopes</code> field shows the effective permissions granted to the agent for this request, which is the intersection of what the agent can do and what the user is entitled to. The <code>jti</code> claim in the token becomes the <code>transaction.id</code> in the logs, allowing you to correlate this event with downstream events in your resource&rsquo;s logs if they also log the transaction ID.</p>

<h3 class="relative group">XAA Use Cases
    <div id="xaa-use-cases" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#xaa-use-cases" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Let&rsquo;s see some concrete examples of how XAA can be used to secure different types of resources:</p>
<ol>
<li><strong>Internal API via MCP Server</strong> - A customer support agent needs to access the internal order database to answer customer queries.
<ul>
<li>Agent registered in Okta Universal Directory</li>
<li>MCP Server protected by Okta Custom Authorization Server</li>
<li>XAA flow: Agent exchanges user&rsquo;s ID Token for scoped access to <code>orders:read</code></li>
<li>Audit: Every query logged with user ID, agent ID, and transaction ID</li>
</ul>
</li>
<li><strong>First-Party SaaS (ISV-Enabled)</strong> - A sales assistant agent accessing Salesforce opportunities on behalf of a sales rep.
<ul>
<li>Salesforce implements ID-JAG validation</li>
<li>Agent presents ID-JAG to Salesforce authorization endpoint</li>
<li>Salesforce issues scoped token for the user&rsquo;s data only</li>
<li>No static credentials; no shared service accounts</li>
</ul>
</li>
<li><strong>Multi-Step Agent Workflows</strong> - A finance agent executes an approval workflow:
<ul>
<li><strong>Step 1</strong>: Read expense report (<code>read:expenses</code> scope)</li>
<li><strong>Step 2</strong>: Check budget availability (<code>read:budgets</code> scope)</li>
<li><strong>Step 3</strong>: Submit approval (<code>write:approvals</code> scope)</li>
<li>Each step can request different scopes. If the agent is compromised mid-workflow, revocation stops only that user&rsquo;s session without affecting others.</li>
</ul>
</li>
</ol>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="info">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          ISV Adoption in Progress
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>XAA is fully functional today for <strong>Okta Custom Authorization Servers</strong> (connection type: <em>&ldquo;Authorization Server&rdquo;</em>) and <strong>MCP Servers</strong> (connection type: &ldquo;MCP Server&rdquo;). ISV adoption for third-party SaaS integrations is currently in progress. Major vendors are actively working on ID-JAG support.</p>
<p><strong>Start building on XAA now</strong> so you&rsquo;re ready to extend to SaaS integrations as soon as ISVs complete their implementations. Until then, use STS (connection type: <em>&ldquo;Application&rdquo;</em>) for third-party SaaS that supports OAuth but not yet ID-JAG.</p></div></div>
<h3 class="relative group">Testing XAA: The xaa.dev Playground
    <div id="testing-xaa-the-xaadev-playground" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#testing-xaa-the-xaadev-playground" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Okta provides an interactive testing environment at <strong><a href="https://xaa.dev"  target="_blank" rel="noreferrer">xaa.dev</a></strong> where you can experiment with XAA flows without infrastructure setup<sup id="fnref:6"><a href="#fn:6" class="footnote-ref" role="doc-noteref">6</a></sup>.</p>
<p><strong>Features:</strong></p>
<ul>
<li>Browser-based testing (no Docker or local configuration)</li>
<li>Pre-configured components: Requesting App, Resource App, IdP</li>
<li>Get started in under 60 seconds</li>
<li>Register your own custom clients for testing</li>
</ul>
<p>The playground includes a sample flow where &ldquo;Bob Tables&rdquo; creates and manages tasks through an AI agent, demonstrating the full ID-JAG exchange.</p>

<h3 class="relative group">ID-JAG and XAA: A Note on Naming
    <div id="id-jag-and-xaa-a-note-on-naming" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#id-jag-and-xaa-a-note-on-naming" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>You&rsquo;ve likely seen &ldquo;<strong>ID-JAG</strong>&rdquo; and &ldquo;<strong>XAA</strong>&rdquo; used interchangeably across documentation, blog posts, and conference talks. They&rsquo;re closely related — but they sit at different levels of abstraction, and neither is an Okta-only thing.</p>
<p><strong>Cross-App Access (XAA)</strong> is the informal name of the OAuth extension as a whole — the end-to-end pattern where an enterprise IdP brokers access between two applications and replaces the user&rsquo;s manual approval step with a token exchange. It&rsquo;s documented on <a href="https://oauth.net/cross-app-access/"  target="_blank" rel="noreferrer">oauth.net/cross-app-access/</a> and is being standardized through the IETF.</p>
<p><strong>ID-JAG</strong> (Identity Assertion JWT Authorization Grant) is the formal IETF specification name. More precisely, it refers to the signed JWT assertion that moves between domains inside an XAA flow. XAA builds on the broader <a href="https://datatracker.ietf.org/doc/draft-ietf-oauth-identity-chaining/"  target="_blank" rel="noreferrer">Identity and Authorization Chaining Across Domains</a> draft and profiles it for interoperable enterprise use.</p>
<p>XAA is an open, multi-vendor extension. Current implementations listed on oauth.net include <strong>Okta</strong> (early access), <strong>Auth0</strong>, <strong>Athenz</strong>, and <strong>Keycloak</strong> (in progress), with clients such as <strong>Claude Code</strong> already adopting it. Okta has been a major driver of both the IETF effort and early industry adoption — which is why &ldquo;XAA&rdquo; is the term most people encounter first in Okta contexts — but the extension itself is not an Okta product name.</p>
<p>The practical takeaway: when you read Okta documentation, &ldquo;XAA&rdquo; describes Okta&rsquo;s implementation of the extension. When you read the IETF draft or a third-party integration guide, &ldquo;ID-JAG&rdquo; refers to the underlying assertion grant that any organization can implement.</p>

<h3 class="relative group">XAA Limitations
    <div id="xaa-limitations" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#xaa-limitations" aria-label="Anchor">#</a>
    </span>
    
</h3>
<ul>
<li>
<p><strong>ISV adoption in progress</strong>: XAA is GA on the Okta side, but third-party SaaS integrations require ISV support. Major vendors are actively implementing ID-JAG, building on XAA today ensures you&rsquo;re ready when they ship.</p>
</li>
<li>
<p><strong>Token lifetime vs. long-running sessions</strong>: Tokens are intentionally short-lived (lifetime is configurable by the IdP administrator, not fixed by the spec). Agents performing multi-step workflows need to re-exchange tokens as they expire. This is by design (limits blast radius) but requires agents to handle token refresh gracefully.</p>
</li>
<li>
<p><strong>Not suitable for</strong>: Agents that must operate offline or cache credentials indefinitely. For these scenarios, consider STS with careful credential lifecycle management.</p>
</li>
</ul>
<hr>

<h2 class="relative group">Secure Token Service (STS)
    <div id="secure-token-service-sts" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#secure-token-service-sts" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p><strong>Secure Token Service (STS)</strong> enables agents to access third-party SaaS applications that support OAuth but haven&rsquo;t yet adopted XAA. Okta acts as a <strong>secure broker</strong>, vaulting user-consented tokens in <strong>Okta Privileged Access (OPA)</strong> and providing short-lived federated access at runtime.</p>

<h3 class="relative group">When to Use STS
    <div id="when-to-use-sts" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#when-to-use-sts" aria-label="Anchor">#</a>
    </span>
    
</h3>
<ul>
<li>Third-party SaaS with OAuth support but no ID-JAG support yet (e.g., as today, GitHub, Google Workspace, Slack)</li>
<li>User-level context is required for audit and compliance</li>
</ul>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="tip">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M112.1 454.3c0 6.297 1.816 12.44 5.284 17.69l17.14 25.69c5.25 7.875 17.17 14.28 26.64 14.28h61.67c9.438 0 21.36-6.401 26.61-14.28l17.08-25.68c2.938-4.438 5.348-12.37 5.348-17.7L272 415.1h-160L112.1 454.3zM191.4 .0132C89.44 .3257 16 82.97 16 175.1c0 44.38 16.44 84.84 43.56 115.8c16.53 18.84 42.34 58.23 52.22 91.45c.0313 .25 .0938 .5166 .125 .7823h160.2c.0313-.2656 .0938-.5166 .125-.7823c9.875-33.22 35.69-72.61 52.22-91.45C351.6 260.8 368 220.4 368 175.1C368 78.61 288.9-.2837 191.4 .0132zM192 96.01c-44.13 0-80 35.89-80 79.1C112 184.8 104.8 192 96 192S80 184.8 80 176c0-61.76 50.25-111.1 112-111.1c8.844 0 16 7.159 16 16S200.8 96.01 192 96.01z"/></svg>
</span></div>
        <div class="grow">
          Tip
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>Regularly check with your SaaS vendors about their roadmap for ID-JAG support. STS is a bridge, not a destination. The goal is to migrate to XAA as soon as the vendor supports it.</p></div></div>
<h3 class="relative group">How STS Works
    <div id="how-sts-works" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-sts-works" aria-label="Anchor">#</a>
    </span>
    
</h3>
<pre class="not-prose mermaid">
sequenceDiagram
    autonumber
    actor User
    participant Client as 🤖 Client<br>(AI Agent)
    box rgba(243, 242, 247,0.3) Okta Cloud
        participant IdP as 🔐 IdP AS<br>(Okta Org AS)
        participant Vault as 🔑 OPA<br>(Token Vault)
    end
    participant SaaS as 📱 Third-Party SaaS

    Note over User, SaaS: Phase 1 — One-Time Consent (user-initiated)

    Note over User, SaaS: Step 1: SSO Authentication
    User->>Client: Login via SSO (OIDC)
    Client->>IdP: OIDC authentication
    IdP-->>Client: ID Token (sub: user@example.com)

    Note over User, SaaS: Step 2: OAuth Consent
    Client->>IdP: Request managed connection token
    IdP-->>Client: Consent URL (SaaS OAuth)
    Client-->>User: Redirect to SaaS consent
    User->>SaaS: Login and approve access

    Note over User, SaaS: Step 3: Token Vaulting
    SaaS-->>IdP: Authorization Code (callback)
    IdP->>SaaS: Exchange code for tokens
    SaaS-->>IdP: Access + Refresh Tokens
    IdP->>Vault: Store tokens (bound to user context)

    Note over Client, SaaS: Phase 2 — Runtime Access (agent-autonomous, RFC 8693)

    Note over Client, SaaS: Step 4: Token Exchange (RFC 8693)
    Client->>IdP: Token Exchange Request
    Note right of Client: grant_type:token-exchange<br>subject_token: (vaulted user token)<br>actor: workload identity<br>audience: Third-Party SaaS<br>auth: private_key_jwt
    IdP->>IdP: Validate managed connection policy
    IdP->>Vault: Retrieve user-consented tokens
    Vault-->>IdP: Access + Refresh Tokens
    IdP->>SaaS: Refresh token if expired
    SaaS-->>IdP: Fresh Access Token
    IdP-->>Client: Short-lived federated token
    Note left of IdP: scope: connection-scoped<br>token_type: Bearer<br>expires_in: short-lived

    Note over Client, SaaS: Step 5: API Call
    Client->>SaaS: API call with token
    SaaS-->>Client: Response
</pre>


<h4 class="relative group">Step-by-step breakdown
    <div id="step-by-step-breakdown-1" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#step-by-step-breakdown-1" aria-label="Anchor">#</a>
    </span>
    
</h4>
<ol>
<li><strong>User authenticates (SSO)</strong>: The user logs in through the Client via OIDC. Okta issues an ID Token with the user identity (<code>sub: user@example.com</code>).</li>
<li><strong>Consent redirect</strong>: The Client requests a managed connection token. Okta returns a consent URL; the Client redirects the user to the SaaS&rsquo;s standard OAuth consent screen.</li>
<li><strong>User approves</strong>: The user logs in to the third-party SaaS and approves the requested scopes. The SaaS returns an authorization code to Okta&rsquo;s callback endpoint.</li>
<li><strong>Token vaulting</strong>: Okta exchanges the authorization code for access and refresh tokens and stores them in Okta Privileged Access (OPA), bound to the user&rsquo;s identity context.</li>
<li><strong>Runtime access</strong> (agent-autonomous — no live user session required): The agent authenticates to Okta with its workload identity (<code>private_key_jwt</code>) and requests access via the managed connection policy.</li>
<li><strong>Token retrieval</strong>: Okta retrieves the vaulted tokens from OPA, refreshes them with the SaaS if expired, and issues a short-lived federated token to the agent.</li>
<li><strong>API call</strong>: The agent calls the third-party SaaS with the short-lived token. User credentials never touch the agent.</li>
</ol>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="info">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          User Presence and Autonomous Operation
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>The User appears in Phase 1 because STS <strong>requires explicit user consent</strong> — the user must authenticate to the third-party SaaS and approve the OAuth scopes. This is a one-time operation. Once consent is granted and tokens are vaulted, Phase 2 runs entirely autonomously: the agent retrieves and uses tokens without any user interaction. The user may not even be online when the agent accesses the SaaS.</p></div></div>
<h3 class="relative group">STS Use Cases
    <div id="sts-use-cases" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#sts-use-cases" aria-label="Anchor">#</a>
    </span>
    
</h3>
<ol>
<li><strong>GitHub</strong> — A coding assistant agent reads repositories and creates pull requests on behalf of developers. The developer consents once via GitHub&rsquo;s OAuth screen; Okta vaults the resulting tokens. At runtime, the agent receives a short-lived federated token to call GitHub&rsquo;s API — it never holds long-lived GitHub credentials.</li>
<li><strong>Google Workspace</strong> — A scheduling agent manages calendar events and drafts emails for a user. User context is preserved through the consent flow, so Google&rsquo;s audit logs capture which user authorized the agent&rsquo;s actions.</li>
<li><strong>Jira/Confluence</strong> — A project management agent creates tickets from Slack conversations and updates documentation pages. The agent authenticates through Okta&rsquo;s brokered token, never storing Atlassian credentials directly.</li>
</ol>

<h3 class="relative group">Key difference from XAA
    <div id="key-difference-from-xaa" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#key-difference-from-xaa" aria-label="Anchor">#</a>
    </span>
    
</h3>
<ul>
<li><strong>Consent flow</strong>: STS requires the user to go through the third-party&rsquo;s OAuth consent screen; Okta then stores and manages those tokens on behalf of the agent. XAA skips the consent screen entirely. Delegation happens at agent registration time in Okta.</li>
<li><strong>Audit trail</strong>: STS captures user consent and agent access in Okta logs, but the third-party service may only see the agent identity. XAA provides full user+agent context to the resource.</li>
<li><strong>Token lifetime</strong>: The federated token issued to the agent is short-lived (minutes) to limit risk, but the underlying access/refresh tokens in Okta may have longer lifetimes depending on the third-party service&rsquo;s policies.</li>
<li><strong>Revocation</strong>: Revoking access requires deleting the vault entry in Okta, which may affect all agents using that connection. No per-user revocation within the third-party service.</li>
<li><strong>Scope narrowing</strong>: The agent receives whatever scopes the user consented to during the OAuth flow. Okta can&rsquo;t dynamically narrow scopes per request like XAA.</li>
</ul>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="info">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          User Context Preserved
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>Unlike Pre-Shared Key, STS preserves user context through the consent flow. Audit logs capture both the user who consented and the agent that accessed the resource.</p></div></div><div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="warning">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M506.3 417l-213.3-364c-16.33-28-57.54-28-73.98 0l-213.2 364C-10.59 444.9 9.849 480 42.74 480h426.6C502.1 480 522.6 445 506.3 417zM232 168c0-13.25 10.75-24 24-24S280 154.8 280 168v128c0 13.25-10.75 24-23.1 24S232 309.3 232 296V168zM256 416c-17.36 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 401.9 273.4 416 256 416z"/></svg>
</span></div>
        <div class="grow">
          Strategic Direction
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>STS is explicitly a <strong>transitional bridge pattern</strong>. Once an ISV or SaaS vendor ships ID-JAG support, you can upgrade that connection from STS to XAA without re-architecting. Until then, STS gives you user-level context that Pre-Shared Key and Service Account simply can&rsquo;t provide.</p></div></div><hr>

<h2 class="relative group">Pre-Shared Key (PSK) or Vaulted Secret
    <div id="pre-shared-key-psk-or-vaulted-secret" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#pre-shared-key-psk-or-vaulted-secret" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p><strong>Pre-Shared Key (PSK)</strong> stores static credentials (API keys, bearer tokens, webhook secrets) in <strong>Okta Privileged Access (OPA)</strong>. The agent retrieves secrets at runtime rather than embedding them in code or configuration.</p>

<h3 class="relative group">When to Use Pre-Shared Key
    <div id="when-to-use-pre-shared-key" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#when-to-use-pre-shared-key" aria-label="Anchor">#</a>
    </span>
    
</h3>
<ul>
<li>Legacy REST APIs that only support API key authentication</li>
<li>Webhook endpoints requiring bearer tokens</li>
<li>Third-party integrations with static token auth</li>
<li>Early-phase services that will eventually add OAuth</li>
</ul>

<h3 class="relative group">How Pre-Shared Key Works
    <div id="how-pre-shared-key-works" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-pre-shared-key-works" aria-label="Anchor">#</a>
    </span>
    
</h3>
<pre class="not-prose mermaid">
sequenceDiagram
    autonumber
    actor Admin as Admin
    participant Client as 🤖 Client<br>(AI Agent)
    box rgba(243, 242, 247,0.3) Okta Cloud
        participant IdP as 🔐 IdP AS<br>(Okta Org AS)
        participant Vault as 🔑 OPA<br>(Secret Vault)
    end
    participant RS as 📦 Resource Server<br>(Protected API)

    Note over Admin, Vault: Phase 1 — Configuration (admin-initiated)
    Admin->>Vault: Create & vault secret (API key)
    Admin->>IdP: Create managed connection on agent (type: Secret)

    Note over Client, RS: Phase 2 — Runtime Access (agent-autonomous)
    Client->>IdP: Authenticate (workload identity)
    Note right of Client: private_key_jwt<br>managed connection policy
    IdP->>IdP: Validate managed connection policy
    IdP->>Vault: Retrieve vaulted secret
    Vault-->>IdP: API key / bearer token
    IdP-->>Client: Release secret
    Client->>RS: API call with secret
    RS-->>Client: Response
</pre>


<h4 class="relative group">Step-by-step breakdown
    <div id="step-by-step-breakdown-2" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#step-by-step-breakdown-2" aria-label="Anchor">#</a>
    </span>
    
</h4>
<ol>
<li><strong>Admin vaults the secret</strong>: An administrator stores the API key or bearer token in Okta Privileged Access and creates a managed connection on the agent (type: Secret)</li>
<li><strong>Agent authenticates</strong>: At runtime, the agent authenticates to Okta with its workload principal identity</li>
<li><strong>Policy check</strong>: Okta validates the agent&rsquo;s identity and checks the managed connection policy</li>
<li><strong>Secret released</strong>: Okta releases the vaulted credential to the agent</li>
<li><strong>Direct resource access</strong>: The agent uses the static credential to call the downstream resource directly — no token exchange, no user context</li>
</ol>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="tip">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M112.1 454.3c0 6.297 1.816 12.44 5.284 17.69l17.14 25.69c5.25 7.875 17.17 14.28 26.64 14.28h61.67c9.438 0 21.36-6.401 26.61-14.28l17.08-25.68c2.938-4.438 5.348-12.37 5.348-17.7L272 415.1h-160L112.1 454.3zM191.4 .0132C89.44 .3257 16 82.97 16 175.1c0 44.38 16.44 84.84 43.56 115.8c16.53 18.84 42.34 58.23 52.22 91.45c.0313 .25 .0938 .5166 .125 .7823h160.2c.0313-.2656 .0938-.5166 .125-.7823c9.875-33.22 35.69-72.61 52.22-91.45C351.6 260.8 368 220.4 368 175.1C368 78.61 288.9-.2837 191.4 .0132zM192 96.01c-44.13 0-80 35.89-80 79.1C112 184.8 104.8 192 96 192S80 184.8 80 176c0-61.76 50.25-111.1 112-111.1c8.844 0 16 7.159 16 16S200.8 96.01 192 96.01z"/></svg>
</span></div>
        <div class="grow">
          Password rotation
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>When possible (i.e. for supported SaaS Services) configure the vault to automatically rotate credentials. This reduces risk if a credential is compromised, but requires the downstream service to support credential updates without downtime.</p></div></div>
<h3 class="relative group">Pre-Shared Key Limitations
    <div id="pre-shared-key-limitations" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#pre-shared-key-limitations" aria-label="Anchor">#</a>
    </span>
    
</h3>
<ul>
<li><strong>No user context</strong>: Resource sees agent identity only, not the user</li>
<li><strong>No scope narrowing</strong>: Agent has full access granted to the credential</li>
<li><strong>Limited audit trail</strong>: Logs show agent access, not user attribution</li>
</ul>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="warning">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M506.3 417l-213.3-364c-16.33-28-57.54-28-73.98 0l-213.2 364C-10.59 444.9 9.849 480 42.74 480h426.6C502.1 480 522.6 445 506.3 417zM232 168c0-13.25 10.75-24 24-24S280 154.8 280 168v128c0 13.25-10.75 24-23.1 24S232 309.3 232 296V168zM256 416c-17.36 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 401.9 273.4 416 256 416z"/></svg>
</span></div>
        <div class="grow">
          Plan Migration
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>Pre-Shared Key has limited audit trail and no user context. Plan migration to XAA or STS as downstream services add OAuth support. This pattern should be treated as temporary for legacy integrations.</p></div></div><hr>

<h2 class="relative group">Service Account
    <div id="service-account" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#service-account" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p><strong>Service Account</strong> uses <strong>username and password</strong> credentials linked to a service identity stored in <strong>Okta Privileged Access (OPA)</strong>. <a href="https://help.okta.com/oie/en-us/content/topics/ai-agents/ai-agent-connect-svc-account.htm"  target="_blank" rel="noreferrer">Okta&rsquo;s official documentation</a> is explicit: <em>&ldquo;because this method uses username and password credentials to grant access to AI agents, it&rsquo;s the least secure choice and isn&rsquo;t recommended.&rdquo;</em> This is the <strong>legacy pattern</strong> that Okta explicitly recommends migrating away from.</p>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="note">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          Both Service Account and PSK use OPA — what&rsquo;s the difference?
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>Both patterns are materialized as <strong>Managed Connections</strong> backed by Okta Privileged Access, but they store different objects and lead to different downstream behaviour. The distinction is unpacked in the <a href="/blog/okta-ai-access-patterns-deep-dive/#service-account-vs-pre-shared-key--the-key-conceptual-distinction" >comparison table</a> at the end of this section.</p></div></div>
<h3 class="relative group">How Service Account Works
    <div id="how-service-account-works" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-service-account-works" aria-label="Anchor">#</a>
    </span>
    
</h3>
<pre class="not-prose mermaid">
sequenceDiagram
    autonumber
    actor Admin as Admin
    participant ClientA as 🤖 Client A<br>(AI Agent)
    participant ClientB as 🤖 Client B<br>(AI Agent)
    box rgba(243, 242, 247,0.3) Okta Cloud
        participant IdP as 🔐 IdP AS<br>(Okta Org AS)
        participant Vault as 🔑 OPA<br>(Credential Vault)
    end
    participant RS as 📦 Resource Server<br>(Protected API)

    Note over Admin, RS: Phase 1 — Configuration (admin-initiated)
    Admin->>Vault: Create service account (svc_agent@example)
    Admin->>ClientA: Register with managed connection
    Admin->>ClientB: Register with managed connection

    Note over ClientA, RS: Phase 2 — Runtime Access (agent-autonomous)
    ClientA->>IdP: Request credentials
    ClientB->>IdP: Request credentials
    Note right of ClientA: private_key_jwt<br>managed connection
    IdP->>IdP: Validate managed connection policy
    IdP->>Vault: Retrieve vaulted credentials
    Vault-->>IdP: Username/Password (svc_agent@example)
    IdP-->>ClientA: Username/Password
    IdP-->>ClientB: Username/Password
    ClientA->>RS: Authenticate as svc_agent@example
    ClientB->>RS: Authenticate as svc_agent@example

    Note over RS: Both appear as same identity!
</pre>


<h4 class="relative group">Step-by-step breakdown
    <div id="step-by-step-breakdown-3" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#step-by-step-breakdown-3" aria-label="Anchor">#</a>
    </span>
    
</h4>
<ol>
<li><strong>Admin provisions service account</strong>: An administrator creates a service account in OPA (Credential Vault) and registers managed connections on one or more agents</li>
<li><strong>Agents request credentials</strong>: At runtime, each agent authenticates to the IdP AS with its workload identity (<code>private_key_jwt</code>) and requests the service account credentials via the managed connection</li>
<li><strong>Okta releases username/password</strong>: The IdP AS retrieves the vaulted credentials from OPA, validates the agent&rsquo;s identity, checks policy, and hands over the shared credentials</li>
<li><strong>Agent authenticates to resource</strong>: The agent logs into the Resource Server as the service account — indistinguishable from any other agent using the same credentials</li>
</ol>

<h3 class="relative group">Service Accounts Limitations
    <div id="service-accounts-limitations" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#service-accounts-limitations" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Service Accounts present four critical security gaps:</p>
<ol>
<li><strong>Invisible agents</strong>: Multiple agents share a single identity, making it impossible to tell which one performed an action</li>
<li><strong>Excessive permissions</strong>: Service accounts typically carry broad, static privileges that far exceed what any single task requires</li>
<li><strong>Missing user attribution</strong>: Compliance audits can&rsquo;t answer <em>&ldquo;which user triggered this data access?&rdquo;</em></li>
<li><strong>All-or-nothing revocation</strong>: Deactivating the service account kills access for every agent and system that depends on it</li>
</ol>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="caution">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">
<path fill="currentColor"  d="M159.3 5.4c7.8-7.3 19.9-7.2 27.7 .1c27.6 25.9 53.5 53.8 77.7 84c11-14.4 23.5-30.1 37-42.9c7.9-7.4 20.1-7.4 28 .1c34.6 33 63.9 76.6 84.5 118c20.3 40.8 33.8 82.5 33.8 111.9C448 404.2 348.2 512 224 512C98.4 512 0 404.1 0 276.5c0-38.4 17.8-85.3 45.4-131.7C73.3 97.7 112.7 48.6 159.3 5.4zM225.7 416c25.3 0 47.7-7 68.8-21c42.1-29.4 53.4-88.2 28.1-134.4c-2.8-5.6-5.6-11.2-9.8-16.8l-50.6 58.8s-81.4-103.6-87.1-110.6C133.1 243.8 112 273.2 112 306.8C112 375.4 162.6 416 225.7 416z"/></svg></span></div>
        <div class="grow">
          Not Recommended
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>Service Accounts are <strong>not as secure as the authorization server or vaulted secret resource types.</strong> New integrations should never default to this pattern.</p></div></div>
<h4 class="relative group">When Service Account is Unavoidable
    <div id="when-service-account-is-unavoidable" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#when-service-account-is-unavoidable" aria-label="Anchor">#</a>
    </span>
    
</h4>
<ul>
<li>Legacy systems requiring username/password authentication (on-prem databases, mainframes, LDAP-backed services)</li>
<li>Batch processing with no end-user context</li>
<li>Systems that have not adopted any modern authentication method</li>
</ul>
<p>Service Account is acceptable only for batch processes with no user context, with a documented sunset plan.</p>

<h2 class="relative group">Service Account vs Pre-Shared Key
    <div id="service-account-vs-pre-shared-key" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#service-account-vs-pre-shared-key" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>Both patterns are Managed Connections backed by <strong>Okta Privileged Access</strong>, and neither carries user context or scope narrowing. The confusion is legitimate: at a glance they do the same thing. The difference becomes clear once you look at <em>what</em> is stored in OPA, <em>what</em> the agent receives, and <em>what</em> the downstream resource sees.</p>
<table>
  <thead>
      <tr>
          <th>Aspect</th>
          <th>Pre-Shared Key (Secret)</th>
          <th>Service Account</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>What is stored in OPA</strong></td>
          <td>A <a href="https://help.okta.com/oie/en-us/content/topics/privileged-access/pam-secrets.htm"  target="_blank" rel="noreferrer"><strong>machine-native credential</strong></a> (API key, bearer token, OAuth client secret, certificate, webhook secret)</td>
          <td>A <strong>real user account</strong> on the target system — <a href="https://help.okta.com/oie/en-us/content/topics/privileged-access/pam-okta-accounts.htm"  target="_blank" rel="noreferrer">Okta service account</a>, <a href="https://help.okta.com/oie/en-us/content/topics/privileged-access/pam-ad-accnts-project.htm"  target="_blank" rel="noreferrer">Active Directory account</a>, or <a href="https://help.okta.com/oie/en-us/content/topics/privileged-access/pam-saas-apps.htm"  target="_blank" rel="noreferrer">SaaS app service account</a> (Salesforce admin, M365, etc.), typically tied to an <strong>OPA Project</strong></td>
      </tr>
      <tr>
          <td><strong>What Okta hands to the agent</strong></td>
          <td>The secret string (e.g. <code>Bearer eyJ…</code>, <code>X-API-Key: …</code>)</td>
          <td>The cleartext username and password (via a <strong>checkout</strong> mechanism)</td>
      </tr>
      <tr>
          <td><strong>How the agent uses it</strong></td>
          <td>Injects it into an HTTP header and calls the API</td>
          <td>Performs a <strong>login</strong> against the target system (form POST, LDAP bind, mainframe login, etc.)</td>
      </tr>
      <tr>
          <td><strong>What the resource sees</strong></td>
          <td>An application token — a vendor-side &ldquo;integration token&rdquo;, distinct from user accounts</td>
          <td>A <strong>real user</strong> authenticating — the same credentials would be usable by a human if leaked</td>
      </tr>
      <tr>
          <td><strong>Attack surface if leaked</strong></td>
          <td><strong>API only</strong>, with the integration&rsquo;s scope (a human can use <code>curl</code>, but there is no login UI or account workflows)</td>
          <td><strong>Full user access</strong>: interactive login to the SaaS UI, possible password reset, notifications, sessions — plus every API with the account&rsquo;s privileges</td>
      </tr>
      <tr>
          <td><strong>Typical privileges</strong></td>
          <td>Minimal integration scope, defined by the vendor</td>
          <td>User-account privileges, often broad and hard to narrow</td>
      </tr>
      <tr>
          <td><strong>Typical granularity</strong></td>
          <td><strong>One secret per integration/agent</strong> → agent-level isolation and attribution</td>
          <td><strong>Shared identity</strong> across multiple agents (and often humans or scripts) → attribution collapses</td>
      </tr>
      <tr>
          <td><strong>OPA management model</strong></td>
          <td>Vault + on-demand release</td>
          <td>Vault + <strong>checkout/checkin</strong> + post-use password change</td>
      </tr>
      <tr>
          <td><strong>Auto-rotation in OPA</strong></td>
          <td>⚠️ <strong>No</strong> in the general case: OPA stores the secret but has no rotation framework for arbitrary API keys. Rotation is manual or orchestrated externally (the vendor regenerates the key, you update it in OPA)</td>
          <td>✅ <strong>Yes</strong>, when the target app sits behind a supported <a href="https://help.okta.com/oie/en-us/content/topics/privileged-access/pam-saas-apps.htm"  target="_blank" rel="noreferrer"><strong>LCM connector</strong></a> (Salesforce, M365, AD, Okta…): scheduled rotation and post-checkout change are built-in</td>
      </tr>
      <tr>
          <td><strong>Okta&rsquo;s official posture</strong></td>
          <td>Legacy but acceptable for API-key-only systems</td>
          <td><strong>&ldquo;Least secure choice and isn&rsquo;t recommended&rdquo;</strong> (<a href="https://help.okta.com/oie/en-us/content/topics/ai-agents/ai-agent-connect-svc-account.htm"  target="_blank" rel="noreferrer">Okta Help Center</a>)</td>
      </tr>
  </tbody>
</table>
<p>In one sentence: <strong>PSK is a machine-native credential with an API-only surface; Service Account is a real user identity that gets borrowed</strong>, with all the attack surface of a human account (even with auto-rotation and checkout/checkin enabled). Both are &ldquo;reusable&rdquo; by an attacker who exfiltrates them — an API key works with <code>curl</code> too — but a user password opens many more doors: interactive login, account recovery, long-lived sessions, and privileges that usually go far beyond pure integration scope.</p>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="note">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M65.9 228.5c13.3-93 93.4-164.5 190.1-164.5 53 0 101 21.5 135.8 56.2 .2 .2 .4 .4 .6 .6l7.6 7.2-47.9 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-128c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 53.4-11.3-10.7C390.5 28.6 326.5 0 256 0 127 0 20.3 95.4 2.6 219.5 .1 237 12.2 253.2 29.7 255.7s33.7-9.7 36.2-27.1zm443.5 64c2.5-17.5-9.7-33.7-27.1-36.2s-33.7 9.7-36.2 27.1c-13.3 93-93.4 164.5-190.1 164.5-53 0-101-21.5-135.8-56.2-.2-.2-.4-.4-.6-.6l-7.6-7.2 47.9 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 320c-8.5 0-16.7 3.4-22.7 9.5S-.1 343.7 0 352.3l1 127c.1 17.7 14.6 31.9 32.3 31.7S65.2 496.4 65 478.7l-.4-51.5 10.7 10.1c46.3 46.1 110.2 74.7 180.7 74.7 129 0 235.7-95.4 253.4-219.5z"/></svg></span></div>
        <div class="grow">
          On rotation: Service Account wins a round, not the match
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>On a single axis (automatic rotation managed by OPA), Service Account currently has the edge: the LCM connector framework actually rotates passwords on a schedule, while for an arbitrary PSK you have to orchestrate rotation outside OPA. That is a real point in its favour.</p>
<p>But rotation reduces <strong>credential lifetime</strong> risk, not <strong>identity model</strong> risk. A Service Account rotated every 24 hours is still a shared identity with full user attack surface: broken attribution, exposed login UI, exercisable password reset, privileges usually broader than the task. A static PSK is still a token isolated per integration, with API-only surface and agent-level attribution. That is why Okta&rsquo;s official posture (&ldquo;least secure choice&rdquo;) does not flip: the comparison is about the <em>model</em>, not just <em>rotation cadence</em>.</p></div></div><div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="note">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          What OPA calls a &ldquo;Service Account&rdquo;
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>Okta Privileged Access&rsquo;s <a href="https://help.okta.com/oie/en-us/content/topics/privileged-access/pam-saas-apps.htm"  target="_blank" rel="noreferrer">SaaS app service accounts</a>, <a href="https://help.okta.com/oie/en-us/content/topics/privileged-access/pam-okta-accounts.htm"  target="_blank" rel="noreferrer">Okta service accounts</a>, and <a href="https://help.okta.com/oie/en-us/content/topics/privileged-access/pam-ad-accnts-project.htm"  target="_blank" rel="noreferrer">Active Directory accounts</a> pages all describe the same thing: <strong>shared user accounts</strong> on the target system, managed with username/password through checkout/checkin and (when supported) auto-rotation via an LCM connector. They are not API keys. When an AI agent managed connection of type <em>Service Account</em> references one of these, the agent is literally borrowing a user account.</p></div></div><p>That is why moving from Service Account to PSK is the first defensible step on the migration ladder, even though neither pattern carries user context.</p>
<hr>

<h2 class="relative group">From Theory to Practice: Configuring Access Patterns in Okta
    <div id="from-theory-to-practice-configuring-access-patterns-in-okta" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#from-theory-to-practice-configuring-access-patterns-in-okta" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>In <strong>Okta&rsquo;s Universal Directory</strong>, you can register <strong>AI agents</strong> as workload identities and create <strong>Managed Connections</strong> that define how they access downstream resources. Each connection type corresponds to one of the access patterns I&rsquo;ve discussed above.</p>
<table>
  <thead>
      <tr>
          <th>AI Agents List</th>
          <th>AI Agent Detail</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>








<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="Okta Universal Directory - AI Agents List"
    srcset="
      /blog/okta-ai-access-patterns-deep-dive/okta-ud-ai-agents-list_hu_f7b397cd170bbee.webp  330w,
      /blog/okta-ai-access-patterns-deep-dive/okta-ud-ai-agents-list_hu_5eb0afa2ccf02aa3.webp  660w,
      /blog/okta-ai-access-patterns-deep-dive/okta-ud-ai-agents-list_hu_89ce901218dd741d.webp  960w,
      /blog/okta-ai-access-patterns-deep-dive/okta-ud-ai-agents-list_hu_9297a87962efc4df.webp 1280w,
      /blog/okta-ai-access-patterns-deep-dive/okta-ud-ai-agents-list_hu_55171c124bbe28df.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/okta-ai-access-patterns-deep-dive/okta-ud-ai-agents-list.png"
    src="/blog/okta-ai-access-patterns-deep-dive/okta-ud-ai-agents-list.png">


  
</figure>
</td>
          <td>








<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="Okta Universal Directory - AI Agent Detail"
    srcset="
      /blog/okta-ai-access-patterns-deep-dive/okta-ud-ai-agents-detail_hu_4d9aa456fef47011.webp  330w,
      /blog/okta-ai-access-patterns-deep-dive/okta-ud-ai-agents-detail_hu_879e324f6118d2d.webp  660w,
      /blog/okta-ai-access-patterns-deep-dive/okta-ud-ai-agents-detail_hu_aa1f867bff0b4414.webp  960w,
      /blog/okta-ai-access-patterns-deep-dive/okta-ud-ai-agents-detail_hu_5776c58541112f10.webp 1280w,
      /blog/okta-ai-access-patterns-deep-dive/okta-ud-ai-agents-detail_hu_3b19e35bcb1a08ce.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/okta-ai-access-patterns-deep-dive/okta-ud-ai-agents-detail.png"
    src="/blog/okta-ai-access-patterns-deep-dive/okta-ud-ai-agents-detail.png">


  
</figure>
</td>
      </tr>
  </tbody>
</table>
<p>When you create a managed connection, you&rsquo;ll see <strong>five resource types</strong>. They map to the four access patterns covered in this article:</p>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="O4AA Connection Options"
    srcset="
      /blog/okta-ai-access-patterns-deep-dive/o4aa_connection_hu_c1cbb6434b1054d4.webp  330w,
      /blog/okta-ai-access-patterns-deep-dive/o4aa_connection_hu_72b339498008c1e7.webp  660w,
      /blog/okta-ai-access-patterns-deep-dive/o4aa_connection_hu_1b656c8ccc89a23a.webp  960w,
      /blog/okta-ai-access-patterns-deep-dive/o4aa_connection_hu_59393e8d0eb31b08.webp 1280w,
      /blog/okta-ai-access-patterns-deep-dive/o4aa_connection_hu_7377d490b2683fb3.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/okta-ai-access-patterns-deep-dive/o4aa_connection.png"
    src="/blog/okta-ai-access-patterns-deep-dive/o4aa_connection.png">


  
</figure>
<table>
  <thead>
      <tr>
          <th>Connection Type</th>
          <th>Access Pattern</th>
          <th>What It Does</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>Authorization Server</strong></td>
          <td><a href="/blog/okta-ai-access-patterns-deep-dive/#cross-app-access-xaa" >XAA (Cross App Access)</a></td>
          <td>Agent gets scoped tokens from an Okta Custom Authorization Server via ID-JAG exchange</td>
      </tr>
      <tr>
          <td><strong>Secret</strong></td>
          <td><a href="/blog/okta-ai-access-patterns-deep-dive/#pre-shared-key-vaulted-secret" >Pre-Shared Key (PSK)</a></td>
          <td>Agent retrieves a vaulted API key or bearer token from Okta Privileged Access</td>
      </tr>
      <tr>
          <td><strong>Service Account</strong></td>
          <td><a href="/blog/okta-ai-access-patterns-deep-dive/#service-account" >Service Account</a></td>
          <td>Agent retrieves username/password credentials for a service identity vaulted in Okta Privileged Access</td>
      </tr>
      <tr>
          <td><strong>Application</strong></td>
          <td><a href="/blog/okta-ai-access-patterns-deep-dive/#secure-token-service-sts" >STS (Secure Token Service)</a></td>
          <td>Agent accesses an OIN app or custom resource server through Okta-brokered OAuth token exchange</td>
      </tr>
      <tr>
          <td><strong>MCP Server</strong></td>
          <td><a href="/blog/okta-ai-access-patterns-deep-dive/#cross-app-access-xaa" >XAA (Cross App Access)</a></td>
          <td>Same ID-JAG exchange as Authorization Server, specialized for the MCP protocol surface</td>
      </tr>
  </tbody>
</table>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="tip">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M112.1 454.3c0 6.297 1.816 12.44 5.284 17.69l17.14 25.69c5.25 7.875 17.17 14.28 26.64 14.28h61.67c9.438 0 21.36-6.401 26.61-14.28l17.08-25.68c2.938-4.438 5.348-12.37 5.348-17.7L272 415.1h-160L112.1 454.3zM191.4 .0132C89.44 .3257 16 82.97 16 175.1c0 44.38 16.44 84.84 43.56 115.8c16.53 18.84 42.34 58.23 52.22 91.45c.0313 .25 .0938 .5166 .125 .7823h160.2c.0313-.2656 .0938-.5166 .125-.7823c9.875-33.22 35.69-72.61 52.22-91.45C351.6 260.8 368 220.4 368 175.1C368 78.61 288.9-.2837 191.4 .0132zM192 96.01c-44.13 0-80 35.89-80 79.1C112 184.8 104.8 192 96 192S80 184.8 80 176c0-61.76 50.25-111.1 112-111.1c8.844 0 16 7.159 16 16S200.8 96.01 192 96.01z"/></svg>
</span></div>
        <div class="grow">
          MCP Server = XAA for MCP
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>The <strong>MCP Server</strong> connection type is not a separate access pattern: it&rsquo;s XAA applied specifically to Model Context Protocol servers. The same ID-JAG delegation model, token structure (<code>sub</code> + <code>act.sub</code>), and policy enforcement apply. Okta provides a dedicated connection type to streamline MCP-specific configuration.</p></div></div>
<h3 class="relative group">XAA Configuration Overview
    <div id="xaa-configuration-overview" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#xaa-configuration-overview" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Implementing XAA requires:</p>
<ol>
<li><strong>Register the agent</strong> in Okta Universal Directory as a workload principal</li>
<li><strong>Create a Managed Connection</strong> and select <strong>&ldquo;Authorization Server&rdquo;</strong> (for custom APIs) or <strong>&ldquo;MCP Server&rdquo;</strong> (for MCP endpoints). Both use the same ID-JAG exchange under the hood.</li>
<li><strong>Configure the Custom Authorization Server</strong> protecting your resource</li>
<li><strong>Define RBAC policies</strong> that evaluate both user and agent attributes</li>
</ol>
<p><strong>Example policy logic</strong>, to ensure the agent can only access sales data when the user is a member of the sales team:</p>
<div class="highlight-wrapper"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-basic" data-lang="basic"><span class="line"><span class="cl"><span class="kr">IF</span><span class="w"> </span><span class="p">(</span><span class="vg">act</span><span class="o">.</span><span class="vg">sub</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="s2">&#34;sales-representative-agent&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="ow">AND</span><span class="w"> </span><span class="p">(</span><span class="vg">sub</span><span class="w"> </span><span class="vg">IN</span><span class="w"> </span><span class="vg">groups</span><span class="p">[</span><span class="s2">&#34;sales-team&#34;</span><span class="p">])</span>
</span></span><span class="line"><span class="cl"><span class="ow">AND</span><span class="w"> </span><span class="p">(</span><span class="vg">requested_scope</span><span class="w"> </span><span class="vg">IN</span><span class="w"> </span><span class="p">[</span><span class="s2">&#34;sales:read&#34;</span><span class="p">,</span><span class="w"> </span><span class="s2">&#34;accounts:read&#34;</span><span class="p">])</span>
</span></span><span class="line"><span class="cl"><span class="kr">THEN</span><span class="w"> </span><span class="vg">issue_token_with_scope</span>
</span></span><span class="line"><span class="cl"><span class="k">ELSE</span><span class="w"> </span><span class="vg">deny</span></span></span></code></pre></div></div>
<p>This is a <em>pseudo-code</em> example. In the Okta Admin Console, Custom Authorization Server <a href="https://developer.okta.com/docs/guides/customize-authz-server/main/"  target="_blank" rel="noreferrer">access policies</a> use a <strong>policy + rule</strong> model — not a scripting language. To follow the example you can:</p>
<ol>
<li><strong>Create an Access Policy</strong> assigned to the agent&rsquo;s AI Agent (i.e., <code>sales-representative-agent</code>). This implicitly scopes the policy to that specific agent (<code>act.sub</code>).</li>
<li><strong>Create a Rule</strong> within that policy:
<ul>
<li><strong>Grant type</strong>: <code>JWT Bearer</code> (the ID-JAG exchange grant)</li>
<li><strong>User eligibility</strong>: Users member of group: <code>sales-team</code> — this ensures only sales team members can delegate access through this agent</li>
<li><strong>Scopes</strong>: Allowlist of <code>orders:read</code> and <code>accounts:read</code> — the agent can&rsquo;t request broader scopes even if the user has them</li>
<li><strong>Token lifetime</strong>: 5 minutes (ephemeral)</li>
<li><strong>Evaluation</strong>: Policies and rules are evaluated in priority order. The first match wins. If no rule matches (e.g., a user outside <code>sales-team</code> tries to use this agent), the request is denied.</li>
</ul>
</li>
</ol>
<p>The result: the agent can only access sales data when the user behind the request is a member of the sales team. The effective permissions are the <strong>intersection</strong> of the policy&rsquo;s scope allowlist, the user&rsquo;s group membership, and the agent&rsquo;s managed connection.</p>

<h3 class="relative group">STS Configuration
    <div id="sts-configuration" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#sts-configuration" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>In the Okta admin console, you configure STS by creating a managed connection with the <strong>&ldquo;Application&rdquo;</strong> resource type, selecting an OIN app integration or a custom resource server<sup id="fnref:7"><a href="#fn:7" class="footnote-ref" role="doc-noteref">7</a></sup>. Okta then brokers the OAuth token exchange between the agent and the third-party service.</p>

<h3 class="relative group">Pre-Shared Key Configuration
    <div id="pre-shared-key-configuration" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#pre-shared-key-configuration" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>In the Okta admin console, you configure PSK by creating a managed connection with the <strong>&ldquo;Secret&rdquo;</strong> resource type. The API key or bearer token must first be stored in <strong>Okta Privileged Access</strong>; the managed connection then references that vaulted secret. At runtime, the agent retrieves the credential on demand — it is never hardcoded in the agent&rsquo;s code or configuration.</p>

<h3 class="relative group">Service Account Configuration
    <div id="service-account-configuration" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#service-account-configuration" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>In the Okta admin console, you configure a Service Account connection by creating a managed connection with the <strong>&ldquo;Service Account&rdquo;</strong> resource type, linking it to a service account identity stored in <strong>Okta Privileged Access</strong>. Because multiple agents can reference the same service account, treat this as a last resort and document a clear sunset plan before deploying it.</p>
<hr>

<h2 class="relative group">Where to Next
    <div id="where-to-next" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#where-to-next" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>You now have the protocol-level toolkit for every Okta for AI Agents pattern. Two natural next stops:</p>
<ul>
<li><strong>Back to the strategic view</strong>: re-read <a href="/posts/blog/okta-ai-access-patterns/" >Part 2 — Access Patterns</a> with the implementation details fresh in mind. The decision framework and migration ladder make a lot more sense once you&rsquo;ve seen the token claims and sequence diagrams.</li>
<li><strong>Forward to compliance</strong>: in <a href="/posts/blog/okta-ai-compliance/" >Part 4 — EU AI Act Compliance</a> I map each pattern to the regulatory requirements (EU AI Act, NIST AI RMF, NIS2, DORA), showing how the audit fields you&rsquo;ve just learned to read translate directly into compliance evidence.</li>
</ul>

<h3 class="relative group">Try It Live
    <div id="try-it-live" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#try-it-live" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Explore the interactive XAA playground at <strong><a href="https://xaa.dev"  target="_blank" rel="noreferrer">xaa.dev</a></strong> — no setup required. Spin up agents, perform ID-JAG exchanges, and inspect the resulting tokens directly in your browser.</p>

<h3 class="relative group">Reference Library
    <div id="reference-library" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#reference-library" aria-label="Anchor">#</a>
    </span>
    
</h3>
<ul>
<li><strong><a href="https://help.okta.com/oie/en-us/content/topics/apps/apps-cross-app-access.htm"  target="_blank" rel="noreferrer">Cross App Access Documentation</a></strong> — Official Okta configuration guide</li>
<li><strong><a href="https://xaa.dev/docs/overview"  target="_blank" rel="noreferrer">XAA.dev Documentation</a></strong> — Interactive playground docs</li>
<li><strong><a href="https://developer.okta.com/blog/2025/09/03/cross-app-access"  target="_blank" rel="noreferrer">Cross App Access Introduction</a></strong> — Technical introduction</li>
<li><strong><a href="https://developer.okta.com/blog/2026/01/20/xaa-dev-playground"  target="_blank" rel="noreferrer">XAA Developer Playground</a></strong> — Hands-on tutorial</li>
<li><strong><a href="https://developer.okta.com/blog/2026/02/17/xaa-resource-app"  target="_blank" rel="noreferrer">Building Resource Apps</a></strong> — Implementation guide</li>
<li><strong><a href="https://developer.okta.com/docs/guides/ai-agent-token-exchange/service-account/main/"  target="_blank" rel="noreferrer">AI Agent Token Exchange Guide</a></strong> — Step-by-step developer guide</li>
<li><strong><a href="https://help.okta.com/oie/en-us/content/topics/ai-agents/ai-agent-secure.htm"  target="_blank" rel="noreferrer">Secure AI agent access to resources</a></strong> — Okta Help Center</li>
<li><strong><a href="https://oauth.net/cross-app-access/"  target="_blank" rel="noreferrer">OAuth.net — Cross-App Access</a></strong> — Vendor-neutral overview of the XAA extension, list of implementations, and related IETF specs</li>
</ul>

<h3 class="relative group">Join the Conversation
    <div id="join-the-conversation" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#join-the-conversation" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Which pattern are you implementing first? Hitting any blockers on ID-JAG exchange or managed connection policies? <strong>Drop a note in the <a href="/blog/okta-ai-access-patterns-deep-dive/#comments" >comments below</a></strong> or reach out on <a href="https://linkedin.com/in/fabiograsso82"  target="_blank" rel="noreferrer">LinkedIn</a>.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://datatracker.ietf.org/doc/draft-ietf-oauth-identity-assertion-authz-grant/"  target="_blank" rel="noreferrer">Identity JWT Authorization Grant</a>, IETF OAuth Working Group, 2025&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p><a href="https://pages.nist.gov/800-63-4/"  target="_blank" rel="noreferrer">NIST SP 800-63-4: Digital Identity Guidelines</a>, NIST, 2024&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:3">
<p><a href="https://artificialintelligenceact.eu/"  target="_blank" rel="noreferrer">EU Artificial Intelligence Act</a>, European Union, 2024&#160;<a href="#fnref:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:4">
<p><a href="https://digital-strategy.ec.europa.eu/en/policies/nis-directive"  target="_blank" rel="noreferrer">NIS2 Directive</a>, European Commission, 2024&#160;<a href="#fnref:4" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:5">
<p><a href="https://digital-strategy.ec.europa.eu/en/policies/digital-operational-resilience-act"  target="_blank" rel="noreferrer">DORA: Digital Operational Resilience Act</a>, European Commission, 2024&#160;<a href="#fnref:5" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:6">
<p><a href="https://developer.okta.com/blog/2026/01/20/xaa-dev-playground"  target="_blank" rel="noreferrer">XAA Developer Playground</a>, Okta Developer Blog, January 2026&#160;<a href="#fnref:6" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:7">
<p><a href="https://help.okta.com/oie/en-us/content/topics/ai-agents/ai-agent-secure.htm"  target="_blank" rel="noreferrer">Secure AI agent access to resources</a>, Okta Help Center&#160;<a href="#fnref:7" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
      <category>Okta</category>
      <category>AI</category>
      <category>Artificial Intelligence</category>
      <category>AI Agents</category>
      <category>IAM</category>
      <category>OAuth</category>
      <category>OIDC</category>
      <category>ID-JAG</category>
      <category>STS</category>
      <category>XAA</category>
      <category>Cross-App Access</category>
      <category>Identity Governance</category>
      <category>Zero Trust</category>
      <category>Cybersecurity</category>
      <category>O4AA</category>
    </item>
    <item>
      <title>Okta for AI Agents: Access Patterns</title>
      <link>https://iam.fabiograsso.net/blog/okta-ai-access-patterns/</link>
      <pubDate>Thu, 23 Apr 2026 10:00:00 +0000</pubDate>
      <guid>https://iam.fabiograsso.net/blog/okta-ai-access-patterns/</guid>
      <description>A strategic overview of the four access patterns for AI agent integrations — XAA, STS, PSK, Service Account — with a comparison matrix, decision framework, and migration roadmap. Companion deep dive covers protocol details and Okta configuration.</description>
      <content:encoded>&lt;![CDATA[
<h2 class="relative group">Choosing the Right Access Pattern
    <div id="choosing-the-right-access-pattern" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#choosing-the-right-access-pattern" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>In my previous article on the <a href="/posts/blog/okta-ai-blueprint/" >Agentic Enterprise Blueprint</a>, I explored how Okta positions AI agents as first-class identities within the enterprise security fabric. I examined the strategic framework answering three foundational questions: <em><a href="/posts/blog/okta-ai-blueprint/" >Where are my agents? What can they connect to? What can they do?</a></em></p>
<p>But strategy without execution is just theory. Now I want to answer a more practical question: <strong>How should AI agents authenticate and authorize their communications with enterprise resources?</strong></p>
<p>This guide is designed to help <strong>architects, security teams, and solution engineers</strong> evaluate the four access patterns <a href="https://www.okta.com/solutions/secure-ai/"  target="_blank" rel="noreferrer">Okta for AI Agents</a> provides for AI agent integrations. By the end, you&rsquo;ll understand:</p>
<ul>
<li><strong>Which pattern fits your security requirements</strong> (user context, scope narrowing, audit trails)</li>
<li><strong>Which pattern your resources support</strong> (ID-JAG, OAuth, API keys, or username/password)</li>
<li><strong>How to compare security levels</strong> between patterns</li>
<li><strong>When to migrate</strong> from legacy patterns to modern approaches</li>
</ul>
<p>This question isn&rsquo;t academic. The access pattern you choose determines:</p>
<ul>
<li><strong>Whether your audit logs capture user attribution</strong>: Can you trace an action back to both the agent <em>and</em> the user it acted for?</li>
<li><strong>Whether you can revoke access surgically</strong>: Can you disable a single user&rsquo;s access to one agent without affecting others?</li>
<li><strong>Whether your architecture complies with regulatory requirements</strong>: Does your implementation satisfy NIST SP 800-63-4<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>, the EU AI Act<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>, NIS2<sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>, DORA<sup id="fnref:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup> traceability mandates?</li>
</ul>
<p>Consider this scenario: Your security team is investigating a data access incident. An AI agent accessed sensitive customer records at 3:47 AM. With the wrong access pattern, your audit logs might show only <code>service-account-agent accessed database</code> With the right pattern, you see <code>sales-representative-agent, acting on behalf of john@example.com, accessed customer record #12847 with read scope, transaction ID jti-7z9x2q8</code>.</p>
<p><strong>Okta for AI Agents (O4AA)</strong> provides four distinct access patterns, each optimized for different security models, resource capabilities, and compliance requirements<sup id="fnref:5"><a href="#fn:5" class="footnote-ref" role="doc-noteref">5</a></sup>. The choice isn&rsquo;t arbitrary: it&rsquo;s a fundamental architectural decision that shapes your agent security posture.</p>
<p>Let&rsquo;s examine each pattern, understand when to use it, and see how they fit into a coherent access strategy.</p>
<hr>

<h2 class="relative group">Access Patterns at a Glance
    <div id="access-patterns-at-a-glance" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#access-patterns-at-a-glance" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>The <strong>Okta for AI Agents (O4AA)</strong> platform offers four ways for an agent to reach a downstream resource. Each one is configured as a <strong>Managed Connection</strong> attached to the agent&rsquo;s workload principal in Okta. Picking the right pattern comes down to three factors:</p>
<ol>
<li><strong>What does the downstream resource support?</strong> (XAA, ID-JAG, OAuth, API key, username/password)</li>
<li><strong>Is user-level context required?</strong> (Audit attribution, per-user scope narrowing)</li>
<li><strong>What are your security and governance requirements?</strong> (Compliance profile, revocation granularity)</li>
</ol>

<h3 class="relative group">The Four Patterns
    <div id="the-four-patterns" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-four-patterns" aria-label="Anchor">#</a>
    </span>
    
</h3>
<table>
  <thead>
      <tr>
          <th>Pattern</th>
          <th>Recommendation</th>
          <th>User Context</th>
          <th>Best For</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong><a href="/blog/okta-ai-access-patterns/#cross-app-access-xaa" >Cross App Access (XAA)</a></strong></td>
          <td>✅ Recommended</td>
          <td>✅ Yes</td>
          <td>Internal APIs, MCP servers, ISV-enabled SaaS</td>
      </tr>
      <tr>
          <td><strong><a href="/blog/okta-ai-access-patterns/#secure-token-service-sts" >Secure Token Service (STS)</a></strong></td>
          <td>🔄 Transitional</td>
          <td>✅ Yes</td>
          <td>Third-party SaaS with OAuth</td>
      </tr>
      <tr>
          <td><strong><a href="/blog/okta-ai-access-patterns/#pre-shared-key-vaulted-secret" >Pre-Shared Key (PSK)</a></strong></td>
          <td>⚠️ Legacy</td>
          <td>❌ No</td>
          <td>API-key-only services, legacy REST APIs</td>
      </tr>
      <tr>
          <td><strong><a href="/blog/okta-ai-access-patterns/#service-account" >Service Account</a></strong></td>
          <td>🚫 Deprecate</td>
          <td>❌ No</td>
          <td>Username/password-only systems (last resort)</td>
      </tr>
  </tbody>
</table>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="info">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          Direction
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p><strong>XAA is where there is the strongest maturity and security.</strong> Every upcoming capability builds on the same ID-JAG exchange that XAA introduced. The strongest signal? The MCP specification chose XAA as its enterprise authentication model in November 2025<sup id="fnref:6"><a href="#fn:6" class="footnote-ref" role="doc-noteref">6</a></sup>, making it a <em>de facto industry standard</em>.</p></div></div>








<figure>
      <img class="my-0 rounded-md" loading="lazy" alt="Access Patterns Overview" src="/blog/okta-ai-access-patterns/access-patterns-summary.svg">


  
</figure>
<hr>
<p>Below is a <strong>brief overview of each pattern</strong> — what it does, when to use it, and the headline trade-off. For the full implementation guide (protocol flows, sequence diagrams, token claims, audit log examples, and Okta configuration walkthroughs) see the companion article: <strong><a href="/posts/blog/okta-ai-access-patterns-deep-dive/" >Access Patterns Deep Dive</a></strong>.</p>
<hr>

<h2 class="relative group">Cross App Access (XAA)
    <div id="cross-app-access-xaa" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#cross-app-access-xaa" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p><strong><a href="https://www.okta.com/solutions/cross-app-access/"  target="_blank" rel="noreferrer">Cross App Access (XAA)</a></strong> is the flagship access pattern. It implements <strong>user-delegated, user-context-aware access</strong> through the Identity Assertion JWT Authorization Grant (ID-JAG)<sup id="fnref:7"><a href="#fn:7" class="footnote-ref" role="doc-noteref">7</a></sup>, an emerging IETF standard. Every token carries both <code>sub</code> (the user) and <code>act.sub</code> (the agent) — enabling per-user audit attribution, surgical revocation, dynamic scope narrowing, and direct alignment with NIST SP 800-63-4<sup id="fnref1:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>, the EU AI Act<sup id="fnref1:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>, NIS2<sup id="fnref1:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>, and DORA<sup id="fnref1:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup>.</p>
<ul>
<li><strong>When to use it</strong>: internal APIs, MCP servers, and SaaS that has shipped ID-JAG support.</li>
<li><strong>Key benefit</strong>: full identity context at every hop. Effective permissions = intersection of agent rights, user entitlements, and per-request scopes.</li>
<li><strong>Limitation</strong>: ISV adoption for third-party SaaS is in progress.</li>
</ul>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="info">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          MCP picked XAA
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>The MCP specification adopted XAA as its enterprise authentication model in November 2025, making ID-JAG a <em>de facto</em> industry standard for AI agent access.</p></div></div><p>👉 <strong><a href="/posts/blog/okta-ai-access-patterns-deep-dive/#cross-app-access-xaa" >Deep dive: ID-JAG flow, token claims, audit logs, and configuration</a></strong></p>
<hr>

<h2 class="relative group">Secure Token Service (STS)
    <div id="secure-token-service-sts" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#secure-token-service-sts" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p><strong>Secure Token Service (STS)</strong> is the bridge for third-party SaaS that supports OAuth but hasn&rsquo;t yet adopted ID-JAG. Okta acts as a secure broker: user-consented tokens are vaulted in <strong>Okta Privileged Access (OPA)</strong>, and at runtime the agent gets a short-lived federated token. User context is preserved through the consent flow, so audit logs still capture <em>who</em> authorized the action.</p>
<ul>
<li><strong>When to use it</strong>: third-party SaaS with standard OAuth (e.g. GitHub, Google Workspace, Atlassian) — until the vendor ships ID-JAG.</li>
<li><strong>Key benefit</strong>: user context without requiring ISV-side ID-JAG support; one-time consent enables fully autonomous Phase-2 operation.</li>
<li><strong>Limitation</strong>: scopes are fixed at consent time (no per-request narrowing); revocation is per-connection, not per-user.</li>
</ul>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="warning">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M506.3 417l-213.3-364c-16.33-28-57.54-28-73.98 0l-213.2 364C-10.59 444.9 9.849 480 42.74 480h426.6C502.1 480 522.6 445 506.3 417zM232 168c0-13.25 10.75-24 24-24S280 154.8 280 168v128c0 13.25-10.75 24-23.1 24S232 309.3 232 296V168zM256 416c-17.36 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 401.9 273.4 416 256 416z"/></svg>
</span></div>
        <div class="grow">
          Transitional by design
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>STS is explicitly a bridge pattern. Plan to migrate connections to XAA as soon as the upstream vendor adds ID-JAG support.</p></div></div><p>👉 <strong><a href="/posts/blog/okta-ai-access-patterns-deep-dive/#secure-token-service-sts" >Deep dive: token vaulting flow, RFC 8693 exchange, comparison with XAA</a></strong></p>
<hr>

<h2 class="relative group">Pre-Shared Key (PSK) or Vaulted Secret
    <div id="pre-shared-key-psk-or-vaulted-secret" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#pre-shared-key-psk-or-vaulted-secret" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p><strong>Pre-Shared Key (PSK)</strong> stores static credentials (API keys, bearer tokens, webhook secrets) in <strong>Okta Privileged Access</strong>. The agent retrieves the secret at runtime instead of embedding it in code or configuration — and Okta can rotate it automatically when the downstream service supports it.</p>
<ul>
<li><strong>When to use it</strong>: legacy REST APIs, webhook endpoints, or any service that authenticates only with API keys or bearer tokens.</li>
<li><strong>Key benefit</strong>: removes secrets from code; per-secret isolation gives at least <em>agent-level</em> attribution and surgical revocation.</li>
<li><strong>Limitation</strong>: no user context, no scope narrowing — audit logs see only the agent identity.</li>
</ul>
<p>👉 <strong><a href="/posts/blog/okta-ai-access-patterns-deep-dive/#pre-shared-key-vaulted-secret" >Deep dive: secret retrieval flow, configuration, and migration path</a></strong></p>
<hr>

<h2 class="relative group">Service Account
    <div id="service-account" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#service-account" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p><strong>Service Account</strong> uses username/password credentials linked to a shared service identity. This is the legacy pattern Okta explicitly recommends migrating away from. Multiple agents typically share the same login, which breaks per-agent attribution and forces all-or-nothing revocation.</p>
<ul>
<li><strong>When to use it</strong>: only when unavoidable — legacy systems (mainframes, on-prem databases, LDAP-backed services) that support nothing else, with a documented sunset plan.</li>
<li><strong>Key benefit</strong>: works with any system that accepts username/password.</li>
<li><strong>Limitation</strong>: no user context, no scope narrowing, shared identity, manual rotation. Every Service Account is a compliance gap.</li>
</ul>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="caution">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">
<path fill="currentColor"  d="M159.3 5.4c7.8-7.3 19.9-7.2 27.7 .1c27.6 25.9 53.5 53.8 77.7 84c11-14.4 23.5-30.1 37-42.9c7.9-7.4 20.1-7.4 28 .1c34.6 33 63.9 76.6 84.5 118c20.3 40.8 33.8 82.5 33.8 111.9C448 404.2 348.2 512 224 512C98.4 512 0 404.1 0 276.5c0-38.4 17.8-85.3 45.4-131.7C73.3 97.7 112.7 48.6 159.3 5.4zM225.7 416c25.3 0 47.7-7 68.8-21c42.1-29.4 53.4-88.2 28.1-134.4c-2.8-5.6-5.6-11.2-9.8-16.8l-50.6 58.8s-81.4-103.6-87.1-110.6C133.1 243.8 112 273.2 112 306.8C112 375.4 162.6 416 225.7 416z"/></svg></span></div>
        <div class="grow">
          Not recommended for new integrations
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>Service Accounts are the weakest pattern. New integrations should never default here. The first defensible step on the migration ladder is moving to PSK; the strategic destination is XAA.</p></div></div><p>👉 <strong><a href="/posts/blog/okta-ai-access-patterns-deep-dive/#service-account" >Deep dive: shared-identity flow, PSK comparison, and exit strategy</a></strong></p>
<hr>

<h2 class="relative group">Strategic Recommendations
    <div id="strategic-recommendations" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#strategic-recommendations" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>With the four patterns understood individually, the next step is to weigh them against each other and chart a migration path — the matrix, decision tree, and roadmap below pull it all together.</p>

<h3 class="relative group">Pattern Comparison Matrix
    <div id="pattern-comparison-matrix" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#pattern-comparison-matrix" aria-label="Anchor">#</a>
    </span>
    
</h3>
<table>
  <thead>
      <tr>
          <th>Dimension</th>
          <th>XAA</th>
          <th>STS</th>
          <th>PSK</th>
          <th>Service Account</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>User context in token</strong></td>
          <td>✅ Full (<code>sub</code> + <code>act.sub</code>)</td>
          <td>✅ Via consent flow</td>
          <td>❌ None</td>
          <td>❌ None</td>
      </tr>
      <tr>
          <td><strong>Scope narrowing</strong></td>
          <td>✅ Dynamic, per-request</td>
          <td>⚠️ Fixed at connection time</td>
          <td>❌ None</td>
          <td>❌ None</td>
      </tr>
      <tr>
          <td><strong>Token lifetime</strong></td>
          <td>✅ Ephemeral</td>
          <td>✅ Short-lived access tokens</td>
          <td>❌ Static secret</td>
          <td>❌ Static password</td>
      </tr>
      <tr>
          <td><strong>Audit depth</strong></td>
          <td>✅ Full (User + agent + transaction ID)</td>
          <td>✅ Partial (User + agent)</td>
          <td>⚠️ Agent identity only</td>
          <td>❌ Shared service identity</td>
      </tr>
      <tr>
          <td><strong>Revocation precision</strong></td>
          <td>✅ Per-user, per-agent, per-session</td>
          <td>⚠️ Per-connection</td>
          <td>⚠️ Per-secret</td>
          <td>❌ All-or-nothing</td>
      </tr>
      <tr>
          <td><strong>ISV adoption needed</strong></td>
          <td>⚠️ Yes (ID-JAG validation)</td>
          <td>✅ No (standard OAuth)</td>
          <td>✅ No (API key)</td>
          <td>✅ No (user/pass)</td>
      </tr>
      <tr>
          <td><strong>Okta roadmap focus</strong></td>
          <td>✅ Strategic focus</td>
          <td>🔄 Transitional (Bridge to XAA)</td>
          <td>⚠️ Legacy support</td>
          <td>🚫 Deprecate</td>
      </tr>
      <tr>
          <td><strong>Permission model</strong></td>
          <td>✅ User-delegated: effective permissions = intersection of agent, user, and task-level scopes</td>
          <td>⚠️ User-consented</td>
          <td>⚠️ Agent-level</td>
          <td>❌ Shared service identity</td>
      </tr>
      <tr>
          <td><strong>Connection type</strong></td>
          <td>Authorization Server or MCP Server</td>
          <td>Application</td>
          <td>Secret</td>
          <td>Service Account</td>
      </tr>
      <tr>
          <td><strong>Standards</strong></td>
          <td>IETF ID-JAG (draft-02), RFC 8693, RFC 7523</td>
          <td>OAuth 2.0</td>
          <td>N/A (API key management)</td>
          <td>N/A (username/password)</td>
      </tr>
  </tbody>
</table>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="note">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          Regulatory Alignment
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>NIST SP 800-63-4<sup id="fnref2:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>, EU AI Act<sup id="fnref2:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>, NIS2<sup id="fnref2:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>, and DORA<sup id="fnref2:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup> emphasize continuous monitoring and user attribution. XAA aligns directly with these requirements. Service Account patterns may require compensating controls to meet compliance thresholds.</p></div></div>
<h3 class="relative group">Decision Framework
    <div id="decision-framework" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#decision-framework" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>The framework prioritizes patterns by security posture: XAA provides the strongest guarantees, while Service Account represents the weakest (and should be treated as temporary).</p>
<pre class="not-prose mermaid">
---
config:
  layout: dagre
---
flowchart TB
    A["Does resource support ID-JAG?"] -- Yes --> XAA["✅ Use XAA<br>User-delegated, full audit,<br>surgical revocation"]
    A -- No --> B["Does resource support OAuth 2.0?"]
    B -- Yes --> STS["🔄 Use STS<br>User-consented token brokering"]
    B -- No --> C["Does resource support API keys?"]
    C -- Yes --> PSK["⚠️ Use PSK<br>Vaulted secret"]
    C -- No --> SA["🚫 Service Account<br>Only option - plan migration immediately"]

    A@{ shape: hex}
    B@{ shape: hex}
    C@{ shape: hex}
    style XAA fill:#d4edda,stroke:#28a745
    style STS fill:#E1BEE7,stroke:#0d6efd
    style PSK fill:#fff3cd,stroke:#ffc107
    style SA fill:#f8d7da,stroke:#dc3545
</pre>


<h3 class="relative group">Implementation Sequencing
    <div id="implementation-sequencing" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#implementation-sequencing" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Here&rsquo;s a recommended roadmap for transitioning to XAA while maintaining security and compliance:</p>
<ul>
<li><strong>Phase 1: Audit existing integrations</strong>
<ul>
<li>Map all agent connections to one of the four patterns</li>
<li>Identify service accounts and pre-shared keys</li>
</ul>
</li>
<li><strong>Phase 2: New integrations default to XAA</strong>
<ul>
<li>Use STS only when XAA isn&rsquo;t supported</li>
<li>Use Service Account, or Pre-Shared Key only when absolutely necessary</li>
<li>Document rationale for non-XAA choices</li>
</ul>
</li>
<li><strong>Phase 3: Monitor ISV roadmaps</strong>
<ul>
<li>As ISVs adopt ID-JAG, migrate STS connections to XAA</li>
<li>Track adoption announcements</li>
</ul>
</li>
<li><strong>Phase 4: Service Account and Pre-Shared Key sunset</strong>
<ul>
<li>Establish formal deprecation timeline</li>
<li>Migrate to STS as intermediate step</li>
<li>Target zero service accounts for user-context workloads</li>
</ul>
</li>
</ul>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="info">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          Info
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>Okta for AI Agents (O4AA) can help you during this transition, providing a unified platform to discover and manage all four patterns while you modernize your architecture. Start with XAA for new integrations and use O4AA&rsquo;s flexible managed connections to bridge legacy systems as you migrate.</p></div></div>








<figure>
      <img class="my-0 rounded-md" loading="lazy" alt="Security Maturity Progression" src="/blog/okta-ai-access-patterns/security-maturity-progression.svg">


  
    <figcaption>The journey from Service Account to XAA represents a security maturity progression: each step adds user context, scope narrowing, and audit granularity</figcaption>
</figure>
<hr>

<h2 class="relative group">Conclusions
    <div id="conclusions" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#conclusions" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>The choice of access pattern isn&rsquo;t a technical detail: it&rsquo;s an <strong>architectural decision</strong> that shapes your AI agent security posture for years to come.</p>
<p><strong>Key takeaways:</strong></p>
<ol>
<li>
<p><strong>XAA is the future</strong>: User-delegated, auditable, compliant. Investing in XAA now means your architecture is ready for MCP Server and Agent-to-Agent support the moment they land.</p>
</li>
<li>
<p><strong>STS bridges the gap</strong>: For third-party SaaS that supports OAuth but not ID-JAG, STS provides user context while you wait for ISV adoption.</p>
</li>
<li>
<p><strong>Pre-Shared Key is acceptable for legacy</strong>: API-key-only services need vaulted secrets, but plan migration as resources modernize.</p>
</li>
<li>
<p><strong>Service Account is technical debt</strong>: Every service account is a compliance gap waiting to surface in an audit. Start planning your exit.</p>
</li>
</ol>
<p>The journey from Service Account → Pre-Shared Key → STS → XAA represents a <strong>security maturity progression</strong>. Each step up the ladder adds user context, scope narrowing, and audit granularity.</p>
<p><strong>XAA</strong> will also be the foundation for future capabilities like <strong>Agent-to-Agent Access</strong> (A2A), <strong>Kill Switch</strong> (global token revocation), <strong>Human-in-the-Loop</strong> (HITL) workflows. Starting with XAA means you&rsquo;re not just securing today&rsquo;s integrations, but also future-proofing for tomorrow&rsquo;s innovations.</p>
<hr>

<h2 class="relative group">Getting Started
    <div id="getting-started" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#getting-started" aria-label="Anchor">#</a>
    </span>
    
</h2>

<h3 class="relative group">Test XAA Today
    <div id="test-xaa-today" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#test-xaa-today" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Explore the interactive XAA playground at <strong><a href="https://xaa.dev"  target="_blank" rel="noreferrer">xaa.dev</a></strong>, no setup required. Experience the full ID-JAG flow in your browser.</p>

<h3 class="relative group">Learn More
    <div id="learn-more" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#learn-more" aria-label="Anchor">#</a>
    </span>
    
</h3>
<ul>
<li><strong><a href="/posts/blog/okta-ai-access-patterns-deep-dive/" >Access Patterns Deep Dive</a></strong>: Companion article with full protocol details, sequence diagrams, audit log examples, and Okta configuration</li>
<li><strong><a href="https://www.okta.com/solutions/secure-ai/"  target="_blank" rel="noreferrer">Okta for AI Agents</a></strong>: Platform overview</li>
<li><strong><a href="https://www.okta.com/solutions/cross-app-access/"  target="_blank" rel="noreferrer">Cross App Access Solution</a></strong>: XAA solution page</li>
<li><strong><a href="https://help.okta.com/oie/en-us/content/topics/apps/apps-cross-app-access.htm"  target="_blank" rel="noreferrer">Cross App Access Documentation</a></strong>: Official configuration guide</li>
<li><strong><a href="https://xaa.dev/docs/overview"  target="_blank" rel="noreferrer">XAA.dev Documentation</a></strong>: Interactive playground docs</li>
<li><strong><a href="https://developer.okta.com/blog/2025/09/03/cross-app-access"  target="_blank" rel="noreferrer">Cross App Access Introduction</a></strong>: Technical deep dive</li>
<li><strong><a href="https://developer.okta.com/blog/2026/01/20/xaa-dev-playground"  target="_blank" rel="noreferrer">XAA Developer Playground</a></strong>: Hands-on tutorial</li>
<li><strong><a href="https://developer.okta.com/blog/2026/02/17/xaa-resource-app"  target="_blank" rel="noreferrer">Building Resource Apps</a></strong>: Implementation guide</li>
<li><strong><a href="https://developer.okta.com/docs/guides/ai-agent-token-exchange/service-account/main/"  target="_blank" rel="noreferrer">AI Agent Token Exchange Guide</a></strong>: Step-by-step developer guide for agent token exchange flows</li>
<li><strong><a href="/posts/blog/okta-ai-blueprint/" >Agentic Enterprise Blueprint</a></strong>: Strategic governance framework</li>
<li><strong><a href="https://www.okta.com/demo/securing-the-autonomous-enterprise/"  target="_blank" rel="noreferrer">Interactive Demo: Securing the Autonomous Enterprise</a></strong>: Demo</li>
</ul>

<h3 class="relative group">Join the Conversation
    <div id="join-the-conversation" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#join-the-conversation" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Which integrations in your environment are still using service accounts? Have you started mapping your agent connections to these access patterns? Where are you in that journey?</p>
<p><strong>Share your experience in the <a href="/blog/okta-ai-access-patterns/#comments" >comments below</a></strong> or connect with me on <a href="https://linkedin.com/in/fabiograsso82"  target="_blank" rel="noreferrer">LinkedIn</a> to continue the discussion.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://pages.nist.gov/800-63-4/"  target="_blank" rel="noreferrer">NIST SP 800-63-4: Digital Identity Guidelines</a>, NIST, 2024&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref1:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref2:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p><a href="https://artificialintelligenceact.eu/"  target="_blank" rel="noreferrer">EU Artificial Intelligence Act</a>, European Union, 2024&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref1:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref2:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:3">
<p><a href="https://digital-strategy.ec.europa.eu/en/policies/nis-directive"  target="_blank" rel="noreferrer">NIS2 Directive</a>, European Commission, 2024&#160;<a href="#fnref:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref1:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref2:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:4">
<p><a href="https://digital-strategy.ec.europa.eu/en/policies/digital-operational-resilience-act"  target="_blank" rel="noreferrer">DORA: Digital Operational Resilience Act</a>, European Commission, 2024&#160;<a href="#fnref:4" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref1:4" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref2:4" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:5">
<p><a href="https://www.okta.com/solutions/secure-ai/"  target="_blank" rel="noreferrer">Okta for AI Agents: Product Overview</a>, Okta, 2026&#160;<a href="#fnref:5" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:6">
<p><a href="https://modelcontextprotocol.io/specification"  target="_blank" rel="noreferrer">MCP Specification: Enterprise Authentication</a>, Model Context Protocol, November 2025&#160;<a href="#fnref:6" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:7">
<p><a href="https://datatracker.ietf.org/doc/draft-ietf-oauth-identity-assertion-authz-grant/"  target="_blank" rel="noreferrer">Identity JWT Authorization Grant</a>, IETF OAuth Working Group, 2025&#160;<a href="#fnref:7" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
      <category>Okta</category>
      <category>AI</category>
      <category>Artificial Intelligence</category>
      <category>AI Agents</category>
      <category>IAM</category>
      <category>OAuth</category>
      <category>OIDC</category>
      <category>Identity Governance</category>
      <category>Zero Trust</category>
      <category>Cybersecurity</category>
      <category>O4AA</category>
    </item>
    <item>
      <title>Securing AI: Okta&#39;s Blueprint for the Secure Agentic Enterprise</title>
      <link>https://iam.fabiograsso.net/blog/okta-ai-blueprint/</link>
      <pubDate>Wed, 18 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://iam.fabiograsso.net/blog/okta-ai-blueprint/</guid>
      <description>Okta&amp;rsquo;s Showcase 2026 unveils the Agentic Enterprise Blueprint: a comprehensive framework to discover, govern, and secure AI agents as first-class identities, addressing the emerging shadow AI crisis and regulatory compliance requirements.</description>
      <content:encoded>&lt;![CDATA[
<h2 class="relative group">The Identity gap in the age of AI Agents
    <div id="the-identity-gap-in-the-age-of-ai-agents" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-identity-gap-in-the-age-of-ai-agents" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>The enterprise AI revolution is no longer coming, it&rsquo;s here. Organizations worldwide are deploying AI agents that autonomously access data, make decisions, and execute actions at machine speed across corporate infrastructure. Yet beneath this acceleration lies a critical blind spot: <strong>88% of organizations have experienced suspected or confirmed AI agent security incidents, but only 22% treat agents as independent identity-bearing entities</strong><sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>.</p>
<p>This represents what Okta identifies as <strong>&ldquo;the identity gap&rdquo;</strong>, a dangerous mismatch between how fast AI agents proliferate and how slowly security controls adapt. While enterprises spent decades refining identity governance for employees, contractors, and partners, AI agents now operate outside these frameworks, accumulating privileged access without oversight, accountability, or audit trails.</p>
<p>The problem intensifies with &ldquo;shadow AI&rdquo;, agents employees create informally through platforms like ChatGPT Team, Claude for Work, or custom scripts calling LLM APIs. Research shows <strong>91% of organizations already deploy AI agents</strong>, yet <strong>44% lack governance frameworks</strong> and <strong>23% have experienced credential exposure through agents</strong><sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>. These aren&rsquo;t theoretical risks: unauthorized agents have accessed sensitive databases, exfiltrated confidential data, and made unauthorized API calls, all while remaining invisible to security teams.</p>
<p>Against this backdrop, Okta&rsquo;s <strong>Showcase 2026</strong> event on March 16, 2026, delivered a strategic response: the <strong>Agentic Enterprise Blueprint</strong>, a comprehensive framework positioning AI agents as first-class identities within the enterprise security fabric<sup id="fnref1:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>.</p>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="eager"
    decoding="async"
    fetchpriority="high"
    alt="Okta for AI"
    srcset="
      /blog/okta-ai-blueprint/okta-ai_hu_c6535ece979d9743.webp  330w,
      /blog/okta-ai-blueprint/okta-ai_hu_86701fc8c95517bb.webp  660w,
      /blog/okta-ai-blueprint/okta-ai_hu_b0c545205061a3d4.webp  960w,
      /blog/okta-ai-blueprint/okta-ai_hu_463a92b04b78c393.webp 1280w,
      /blog/okta-ai-blueprint/okta-ai_hu_8e2f6c89bf5a319e.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/okta-ai-blueprint/okta-ai.png"
    src="/blog/okta-ai-blueprint/okta-ai.png">


  
</figure>
<hr>

<h2 class="relative group">The Regulatory Imperative
    <div id="the-regulatory-imperative" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-regulatory-imperative" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>As organizations deploy AI agents at scale, regulators worldwide are establishing governance frameworks. Regulations such as the <strong>EU Artificial Intelligence Act</strong>, along with emerging standards in the US, UK, and Asia-Pacific, share common requirements that directly intersect with identity management:</p>
<ul>
<li><strong>Traceability</strong>: Complete audit logs of AI system decisions and actions</li>
<li><strong>Human Oversight</strong>: Mechanisms to pause, override, or revoke agent actions</li>
<li><strong>Accountability</strong>: Clear attribution of who authorized each agent and what it accessed</li>
<li><strong>Transparency</strong>: Users must know when they interact with AI systems</li>
<li><strong>Cybersecurity</strong>: AI systems must be resilient to attacks and unauthorized access</li>
</ul>
<p>These requirements make AI identity governance a board-level compliance imperative. The Agentic Enterprise Blueprint provides the foundation for meeting these obligations through comprehensive agent discovery, lifecycle governance, and audit-ready accountability.</p>
<hr>

<h2 class="relative group">Okta Showcase 2026: Securing the Agentic Enterprise
    <div id="okta-showcase-2026-securing-the-agentic-enterprise" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#okta-showcase-2026-securing-the-agentic-enterprise" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>On March 16, 2026, Okta unveiled a comprehensive platform evolution designed to answer three foundational questions every CISO must address in the agentic era<sup id="fnref2:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>:</p>
<ol>
<li><strong>Where are my agents?</strong> – Establishing complete visibility across shadow and sanctioned deployments</li>
<li><strong>What can they connect to?</strong> – Mapping and controlling resource access pathways</li>
<li><strong>What can they do?</strong> – Enforcing runtime controls and behavioral policies</li>
</ol>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="Okta Showcase 2026 - The Agentic Enterprise Blueprint - Three questions"
    srcset="
      /blog/okta-ai-blueprint/okta-ai-blueprint-three-questions_hu_15df9a9a7a9c4e1d.webp  330w,
      /blog/okta-ai-blueprint/okta-ai-blueprint-three-questions_hu_f094655db799d581.webp  660w,
      /blog/okta-ai-blueprint/okta-ai-blueprint-three-questions_hu_4577c6bf5d67aebf.webp  960w,
      /blog/okta-ai-blueprint/okta-ai-blueprint-three-questions_hu_89702725572c9722.webp 1280w,
      /blog/okta-ai-blueprint/okta-ai-blueprint-three-questions_hu_7cbfb641d220004.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/okta-ai-blueprint/okta-ai-blueprint-three-questions.png"
    src="/blog/okta-ai-blueprint/okta-ai-blueprint-three-questions.png">


  
</figure>

<h3 class="relative group">Major Announcements
    <div id="major-announcements" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#major-announcements" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p><strong>Okta for AI Agents</strong> (General Availability: April 30, 2026)
A platform extension bringing AI agents into the enterprise identity security fabric with capabilities spanning discovery, registration, governance, and threat response<sup id="fnref3:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup><sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>.</p>
<p><strong>Auth0 for AI Agents</strong> (Early Access)
Developer-focused tools enabling application teams to build secure agentic workflows with identity verification, token management, and human approval mechanisms<sup id="fnref1:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup><sup id="fnref1:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>.</p>
<p><strong>Identity Security Fabric Use Cases</strong> (Generally Available)
Unified control plane integrating governance, threat protection, and privileged access across human and non-human identities<sup id="fnref2:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>.</p>
<p>These announcements represent more than feature additions: they constitute an <strong>architectural shift</strong> treating AI agents as first-class identities alongside employees, contractors, partners, and service accounts.</p>
<hr>

<h2 class="relative group">The Agentic Enterprise Blueprint: A Three-Pillar Framework
    <div id="the-agentic-enterprise-blueprint-a-three-pillar-framework" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-agentic-enterprise-blueprint-a-three-pillar-framework" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>Okta&rsquo;s <strong>Agentic Enterprise Blueprint</strong> provides a structured approach to AI agent security, built on three interconnected pillars that answer the foundational questions every security team must address<sup id="fnref:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup>:</p>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="The Blueprint for the Secure Agentic Enterprise"
    srcset="
      /blog/okta-ai-blueprint/blueprint1_hu_438fc3c7b6cb746a.webp  330w,
      /blog/okta-ai-blueprint/blueprint1_hu_7b4c0a98483b7179.webp  660w,
      /blog/okta-ai-blueprint/blueprint1_hu_e4850808ed4182d8.webp  960w,
      /blog/okta-ai-blueprint/blueprint1_hu_ad63c1af297b38b6.webp 1280w,
      /blog/okta-ai-blueprint/blueprint1_hu_70d899fb4c00419b.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/okta-ai-blueprint/blueprint1.png"
    src="/blog/okta-ai-blueprint/blueprint1.png">


  
    <figcaption>The three pillars of the Agentic Enterprise Blueprint: Where are my agents? What can they connect to? What can they do?</figcaption>
</figure>

<h3 class="relative group">Pillar 1: &ldquo;Where are my agents?&rdquo; — Discovery &amp; Visibility
    <div id="pillar-1-where-are-my-agents--discovery--visibility" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#pillar-1-where-are-my-agents--discovery--visibility" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p><strong>The Challenge</strong>: Shadow AI proliferates through multiple channels: employees creating custom agents via public LLMs, development teams integrating third-party agent platforms, business units deploying specialized automation tools. Traditional discovery mechanisms fail because agents don&rsquo;t authenticate like humans.</p>
<p><strong>The Solution</strong>: Multi-layered detection combining:</p>
<ul>
<li><strong>Agent integrations</strong>: Direct registration from agent platforms like Boomi, DataRobot, Google Vertex AI, and custom systems through the Okta Integration Network</li>
<li><strong>Browser-based protection</strong>: Identifying agents created through web interfaces using Okta Browser Plugin analytics</li>
<li><strong>Endpoint detection</strong>: Discovering agents running on managed devices</li>
<li><strong>Network detection</strong>: Identifying unauthorized agent communications through SASE and network monitoring</li>
<li><strong>Gateway detection</strong>: Spotting unregistered AI clients through API gateway traffic pattern analysis</li>
<li><strong>AI agent risk detection</strong>: Automated risk assessment generating risk signals for newly discovered agents</li>
</ul>
<p><strong>Okta Implementation</strong>: <strong>Shadow AI Agent Discovery</strong> scans cloud environments to automatically detect unmanaged agents, flagging them for security review before registration. This addresses the <strong>91% of organizations already deploying agents</strong>, many unknowingly, by making the invisible visible<sup id="fnref2:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup><sup id="fnref3:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>.</p>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="Shadow AI Discovery Workflow"
    srcset="
      /blog/okta-ai-blueprint/okta-ai-agents-discover-shadow-ai_hu_ca0fadc3f6a3a4f.webp  330w,
      /blog/okta-ai-blueprint/okta-ai-agents-discover-shadow-ai_hu_1134f3c1bdd84cf0.webp  660w,
      /blog/okta-ai-blueprint/okta-ai-agents-discover-shadow-ai_hu_91d7ed1311ab033.webp  960w,
      /blog/okta-ai-blueprint/okta-ai-agents-discover-shadow-ai_hu_ac7cb54076aca448.webp 1280w,
      /blog/okta-ai-blueprint/okta-ai-agents-discover-shadow-ai_hu_ad7bc0e439683aad.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/okta-ai-blueprint/okta-ai-agents-discover-shadow-ai.png"
    src="/blog/okta-ai-blueprint/okta-ai-agents-discover-shadow-ai.png">


  
</figure>

<h3 class="relative group">Pillar 2: &ldquo;What can they connect to?&rdquo; — Access Control &amp; Credential Management
    <div id="pillar-2-what-can-they-connect-to--access-control--credential-management" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#pillar-2-what-can-they-connect-to--access-control--credential-management" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p><strong>The Challenge</strong>: AI agents require access to databases, APIs, SaaS applications, and other agents to perform their functions. Traditional approaches grant agents static service account credentials, creating permanent privileged access that violates least-privilege principles and presents attractive targets for attackers.</p>
<p><strong>The Solution</strong>: Dynamic credential management and centralized authorization covering all connection types:</p>
<ul>
<li><strong>MCP servers</strong>: Centralized Agent Gateway aggregating access to Model Context Protocol servers for tool and data access</li>
<li><strong>SaaS services</strong>: OAuth/OIDC-based authentication to enterprise applications with scope-based permissions</li>
<li><strong>Agent-to-agent connections</strong>: Cryptographic handshakes and policy enforcement when agents invoke other agents</li>
<li><strong>Service accounts</strong>: Governance and visibility over underlying service account usage</li>
<li><strong>Vaulted credentials</strong>: Secure credential storage with automated rotation eliminating static secrets</li>
</ul>
<p><strong>Okta Implementation</strong>: <strong>Universal Directory</strong> now treats AI agents as distinct identity types, each with ownership attribution, approval workflows, and access policies. The <strong>Agent Gateway</strong> (leveraging MCP) provides a unified access layer where security policies apply consistently across all agent interactions<sup id="fnref4:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup><sup id="fnref1:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup>.</p>
<p>This approach directly supports <strong>regulatory compliance</strong> by eliminating the credential sprawl that makes traceability impossible. With credentials tied to specific agent identities rather than generic service accounts, organizations can definitively answer: &ldquo;Which agent accessed this data, when, and why?&rdquo;</p>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="Agents to MCP Authorization"
    srcset="
      /blog/okta-ai-blueprint/okta-ai-agents-mcp-authorization_hu_c34cb3806e9dcb52.webp  330w,
      /blog/okta-ai-blueprint/okta-ai-agents-mcp-authorization_hu_32bd0344d6565dde.webp  660w,
      /blog/okta-ai-blueprint/okta-ai-agents-mcp-authorization_hu_797555b715689fe1.webp  960w,
      /blog/okta-ai-blueprint/okta-ai-agents-mcp-authorization_hu_2c8e5b37864ab210.webp 1280w,
      /blog/okta-ai-blueprint/okta-ai-agents-mcp-authorization_hu_d46255a7d255fc0.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/okta-ai-blueprint/okta-ai-agents-mcp-authorization.png"
    src="/blog/okta-ai-blueprint/okta-ai-agents-mcp-authorization.png">


  
</figure>

<h3 class="relative group">Pillar 3: &ldquo;What can they do?&rdquo; — Governance &amp; Runtime Controls
    <div id="pillar-3-what-can-they-do--governance--runtime-controls" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#pillar-3-what-can-they-do--governance--runtime-controls" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p><strong>The Challenge</strong>: Without governance, agent permissions accumulate over time, following the same &ldquo;privilege creep&rdquo; pattern that plagues human identities. Agents created for temporary projects continue accessing resources indefinitely. Ownership changes occur without access reviews. Test agents migrate to production with excessive permissions.</p>
<p><strong>The Solution</strong>: Extending Identity Governance and runtime controls to non-human identities:</p>
<ul>
<li><strong>Kill switch</strong>: Universal logout capability for instant emergency response</li>
<li><strong>Runtime enforcement</strong>: Policy engine evaluating every agent action against defined rules</li>
<li><strong>Agent lifecycle management</strong>: Certification campaigns, deactivation workflows, and continuous least-privilege assessment</li>
<li><strong>Human-in-the-loop</strong>: Approval workflows pausing agent operations for sensitive actions requiring human oversight</li>
<li><strong>Audit logs and telemetry</strong>: Complete trails capturing agent actions, configuration changes, and compliance evidence</li>
</ul>
<p><strong>Okta Implementation</strong>: <strong>Okta Identity Governance (OIG)</strong> now includes AI agents in standard certification workflows. Security teams can launch campaigns asking: &ldquo;Should the Customer Support Agent still access the Payment Database?&rdquo; Business owners approve, modify, or revoke access, applying the same rigor to agents as to privileged human accounts<sup id="fnref5:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>.</p>
<p>The <strong>Universal Logout</strong> capability addresses perhaps the most critical requirement: immediate threat response. If an agent exhibits anomalous behavior, like accessing unusual data volumes, making unexpected API calls, or showing signs of prompt injection compromise, security teams can instantly revoke all access while investigating<sup id="fnref4:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup><sup id="fnref6:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>.</p>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="Okta Identity Governance - AI Agent Certification"
    srcset="
      /blog/okta-ai-blueprint/okta-ai-certification-campaign_hu_caf98153d055095.webp  330w,
      /blog/okta-ai-blueprint/okta-ai-certification-campaign_hu_4d4efc988a671f19.webp  660w,
      /blog/okta-ai-blueprint/okta-ai-certification-campaign_hu_bf49aa66ea5ca924.webp  960w,
      /blog/okta-ai-blueprint/okta-ai-certification-campaign_hu_1ddc2ddaf5a470b9.webp 1280w,
      /blog/okta-ai-blueprint/okta-ai-certification-campaign_hu_e9e39f377edd89cf.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/okta-ai-blueprint/okta-ai-certification-campaign.png"
    src="/blog/okta-ai-blueprint/okta-ai-certification-campaign.png">


  
</figure>

<h3 class="relative group">The Three Pillars in Action: An Integrated Architecture
    <div id="the-three-pillars-in-action-an-integrated-architecture" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-three-pillars-in-action-an-integrated-architecture" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>The following diagram illustrates how these three pillars interconnect through the Okta platform, with the <strong>Agent Gateway</strong> and <strong>Policy Engine</strong> at the center, processing <strong>risk signals</strong> from discovery, enforcing access policies, and enabling runtime controls including the <strong>kill switch</strong> for emergency response:</p>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="Agentic Enterprise Blueprint - Detailed Architecture"
    srcset="
      /blog/okta-ai-blueprint/blueprint2_hu_ea8cdfa07c45f2ac.webp  330w,
      /blog/okta-ai-blueprint/blueprint2_hu_b5e991a74f4ba45a.webp  660w,
      /blog/okta-ai-blueprint/blueprint2_hu_5db3fd0b7bfe3a3f.webp  960w,
      /blog/okta-ai-blueprint/blueprint2_hu_c29efadd3e96f5cd.webp 1280w,
      /blog/okta-ai-blueprint/blueprint2_hu_6a78c90d05e86611.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/okta-ai-blueprint/blueprint2.png"
    src="/blog/okta-ai-blueprint/blueprint2.png">


  
    <figcaption>How the three pillars interconnect: from agent discovery through access control to runtime governance, with Okta for AI Agents at the center</figcaption>
</figure>
<hr>

<h2 class="relative group">Technical Deep Dive: Okta for AI Agents
    <div id="technical-deep-dive-okta-for-ai-agents" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#technical-deep-dive-okta-for-ai-agents" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p><strong>Okta for AI Agents</strong> extends the core identity platform with capabilities specifically designed for autonomous systems<sup id="fnref7:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup><sup id="fnref2:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup>.</p>

<h3 class="relative group">Key Capabilities
    <div id="key-capabilities" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#key-capabilities" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p><strong>1. AI Agent Registration in Universal Directory</strong></p>
<blockquote><p>Powered by <a href="https://www.okta.com/products/universal-directory/"  target="_blank" rel="noreferrer">Okta Universal Directory</a></p>
</blockquote><p>Each agent becomes a distinct identity with attributes including:</p>
<ul>
<li>Agent name and description</li>
<li>Owner/sponsor (human accountability)</li>
<li>Creation date and lifecycle status</li>
<li>Access permissions and scope</li>
<li>Connection to underlying service accounts</li>
<li>Risk score based on privilege level and behavior</li>
</ul>
<p>This registration process answers <strong>regulatory traceability requirements</strong>: organizations can demonstrate which agents exist, who authorized them, and what they&rsquo;re designed to do.</p>
<p><strong>2. Shadow AI Discovery Engine</strong></p>
<blockquote><p>Powered by <a href="https://www.okta.com/products/identity-security-posture-management/"  target="_blank" rel="noreferrer">Okta Identity Security Posture Management (ISPM)</a></p>
</blockquote><p>The discovery engine leverages multiple data sources:</p>
<ul>
<li>Cloud infrastructure APIs (scanning AWS, Azure, GCP for agent workloads)</li>
<li>SaaS application logs (identifying agents authenticated to Salesforce, Microsoft 365, etc.)</li>
<li>Network traffic analysis (spotting LLM API calls from unexpected sources)</li>
<li>Endpoint detection (finding agents on developer workstations)</li>
</ul>
<p>Discovered agents are flagged as &ldquo;unmanaged&rdquo; and enter a registration workflow requiring:</p>
<ul>
<li>Business justification</li>
<li>Owner assignment</li>
<li>Risk assessment</li>
<li>Access scope definition</li>
</ul>
<p><strong>3. Privileged Credential Management</strong></p>
<blockquote><p>Powered by <a href="https://www.okta.com/products/privileged-access/"  target="_blank" rel="noreferrer">Okta Privileged Access</a></p>
</blockquote><p>Rather than granting agents permanent credentials, Okta implements:</p>
<ul>
<li><strong>Just-in-time credential provisioning</strong>: Generating short-lived tokens only when agents need access</li>
<li><strong>Automated credential rotation</strong>: Rotating underlying secrets without agent code changes</li>
<li><strong>Secure vaulting</strong>: Storing credentials in hardware-backed secure enclaves</li>
<li><strong>Usage tracking</strong>: Complete logs of credential issuance and usage</li>
</ul>
<p>This eliminates the <strong>23% of organizations experiencing credential exposure through agents</strong>, by ensuring credentials are ephemeral, monitored, and revocable<sup id="fnref3:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>.</p>
<p><strong>4. API Access Management Integration</strong></p>
<blockquote><p>Powered by <a href="https://www.okta.com/products/api-access-management/"  target="_blank" rel="noreferrer">Okta API Access Management</a></p>
</blockquote><p>Okta&rsquo;s API Access Management enforces least-privilege at runtime:</p>
<ul>
<li>Agents receive OAuth 2.0 access tokens scoped to specific resources and operations</li>
<li>Token introspection validates permissions on each request</li>
<li>Policy engine evaluates context (time, frequency, data volume) before granting access</li>
<li>Anomaly detection identifies deviations from expected behavior</li>
</ul>
<p>For example, a &ldquo;Customer Support Agent&rdquo; might have scope: <code>read:customer_data</code>, <code>read:order_history</code>, but explicitly lack <code>write:payment_methods</code>. Attempts to exceed scope are blocked and logged.</p>
<p><strong>5. Certification Workflows &amp; Governance</strong></p>
<blockquote><p>Powered by <a href="https://www.okta.com/products/identity-governance/"  target="_blank" rel="noreferrer">Okta Identity Governance (OIG)</a></p>
</blockquote><p>AI agents enter the same governance lifecycle as human identities:</p>
<ul>
<li><strong>Onboarding</strong>: Formal request-and-approval process</li>
<li><strong>Access reviews</strong>: Quarterly certification campaigns</li>
<li><strong>Lifecycle events</strong>: Automated deactivation when owners leave, projects end, or risk thresholds exceed</li>
<li><strong>Audit reporting</strong>: Complete trail for compliance teams</li>
</ul>
<p><strong>6. Universal Logout / Kill Switch</strong></p>
<blockquote><p>Powered by <a href="https://www.okta.com/products/identity-threat-protection/"  target="_blank" rel="noreferrer">Okta Identity Threat Protection (ITP)</a> and <a href="https://www.okta.com/products/single-sign-on-workforce-identity/"  target="_blank" rel="noreferrer">Single Sign-On</a></p>
</blockquote><p>The emergency response mechanism revokes:</p>
<ul>
<li>All active sessions and access tokens</li>
<li>MCP server connections</li>
<li>API gateway authorizations</li>
<li>Privileged credential access</li>
</ul>
<p>This supports regulatory <strong>human oversight requirements</strong>: organizations can immediately halt agent operations if harm is detected<sup id="fnref8:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>.</p>

<h3 class="relative group">Demo Video
    <div id="demo-video" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#demo-video" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>See the Okta for AI Agents demo video showcasing agent discovery, registration, access control, and runtime governance in action:</p>
<!-- https://share.vidyard.com/watch/xjsNSSWBxdHzUgAAojWRHR -->
<script type="text/javascript" async src="https://play.vidyard.com/embed/v4.js"></script>
<p><img
style="width: 100%; margin: auto; display: block;"
class="vidyard-player-embed"
src="https://play.vidyard.com/xjsNSSWBxdHzUgAAojWRHR.jpg"
data-uuid="xjsNSSWBxdHzUgAAojWRHR"
data-v="4"
data-type="inline"
/></p>
<hr>

<h2 class="relative group">Identity Fabric for the AI Era
    <div id="identity-fabric-for-the-ai-era" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#identity-fabric-for-the-ai-era" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>The Agentic Enterprise Blueprint extends Okta&rsquo;s foundational <strong><a href="/posts/blog/quis-custodiet-ipsos-custodes/#identity-fabric-the-architecture-that-unifies-identities" >Identity Fabric</a></strong> concept: a unified architecture governing all identity types, to explicitly encompass AI agents<sup id="fnref9:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>.</p>
<p>This architectural approach delivers strategic advantages:</p>
<p><strong>1. Unified Governance Model</strong></p>
<p>Rather than separate systems for:</p>
<ul>
<li>Employees and contractors</li>
<li>Partners and customers</li>
<li>Service accounts and applications</li>
<li>AI agents</li>
</ul>
<p>Organizations manage all identities through a single control plane. This eliminates governance blind spots and reduces operational complexity.</p>
<p><strong>2. Open Standards Foundation</strong></p>
<p>The Agentic Enterprise Blueprint leverages standards including:</p>
<ul>
<li><strong>OAuth 2.0 / OIDC</strong>: Authentication and authorization</li>
<li><strong>SCIM</strong>: Identity provisioning</li>
<li><strong>Model Context Protocol (MCP)</strong>: Agent-to-resource access</li>
<li><strong>Shared Signals Framework (SSF)</strong>: Cross-platform threat intelligence</li>
</ul>
<p>This vendor-neutral approach prevents lock-in, enabling organizations to choose best-of-breed agent platforms while maintaining consistent security controls.</p>
<p><strong>3. Future-Proof Architecture</strong></p>
<p>As AI capabilities evolve, from today&rsquo;s task-specific agents to tomorrow&rsquo;s general-purpose autonomous systems, the identity framework remains constant. New agent types register in Universal Directory, receive scoped permissions, undergo governance reviews, and integrate with threat detection, no architecture redesign required.</p>
<p><strong>4. Business Enablement, Not Obstruction</strong></p>
<p>The blueprint&rsquo;s goal isn&rsquo;t blocking AI innovation but enabling it securely. By providing:</p>
<ul>
<li>Streamlined agent registration workflows</li>
<li>Developer-friendly APIs (Auth0 for AI Agents)</li>
<li>Automated compliance reporting</li>
<li>Clear approval processes</li>
</ul>
<p>Organizations can deploy agents confidently, knowing security and compliance are assured from day one.</p>
<hr>

<h2 class="relative group">Conclusions: Treating Agents as First-Class Identities
    <div id="conclusions-treating-agents-as-first-class-identities" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#conclusions-treating-agents-as-first-class-identities" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>The proliferation of AI agents represents the most significant identity challenge since the rise of SaaS applications a decade ago. Just as organizations eventually standardized on SSO and centralized IAM for cloud applications, the agentic era demands extending identity governance to autonomous systems.</p>
<p><strong>Okta&rsquo;s Showcase 2026 announcements: Okta for AI Agents, Auth0 for AI Agents, and the Agentic Enterprise Blueprint, which provide the first comprehensive framework treating agents as first-class identities</strong>. This isn&rsquo;t simply a product evolution; it&rsquo;s an architectural maturation recognizing that identity is the control plane for all enterprise interactions, whether initiated by humans, applications, or AI.</p>
<p>As AI regulations worldwide (such as the <strong>EU Artificial Intelligence Act</strong>) take effect, organizations face a choice: reactively bolt-on compliance after agents are deployed, or proactively build governance into the foundation. The Agentic Enterprise Blueprint enables the latter, transforming regulatory obligation into strategic advantage.</p>
<p>The key insight is this: <strong>AI agents are not tools; they are autonomous actors requiring the same identity rigor as employees accessing sensitive data</strong>. Organizations that recognize this fundamental shift (and implement governance accordingly) will navigate the agentic era securely, compliantly, and competitively.</p>
<p>Those that delay face the same credential sprawl, shadow IT proliferation, and audit nightmares that plagued early cloud adoption, except at machine speed, with AI agents autonomously accessing data 24/7/365 without visibility or control.</p>
<p>The identity gap is real. The Agentic Enterprise Blueprint closes it.</p>
<hr>

<h2 class="relative group">Getting Started with AI Agent Governance
    <div id="getting-started-with-ai-agent-governance" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#getting-started-with-ai-agent-governance" aria-label="Anchor">#</a>
    </span>
    
</h2>

<h3 class="relative group">🎓 Get the Okta for AI Agents Early Adopters badge
    <div id="-get-the-okta-for-ai-agents-early-adopters-badge" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-get-the-okta-for-ai-agents-early-adopters-badge" aria-label="Anchor">#</a>
    </span>
    
</h3>









<figure>
    <img class="my-0 rounded-md" loading="lazy" alt="Okta for AI Agents Early Adopters skills badge" src="okta-ai-agents-badge.png#floatright">


  
</figure>
<p>Become an AI Identity Leader: learn to evaluate AI risks and identity security gaps, and implement a comprehensive governance framework using Okta for AI Agents.</p>
<p>Get your <a href="https://learning.okta.com/path/okta-for-ai-agents-early-adopter"  target="_blank" rel="noreferrer">Okta for AI Agents Early Adopters skills badge</a> today!</p>

<h3 class="relative group">🚀 Explore Okta&rsquo;s AI Agent Capabilities
    <div id="-explore-oktas-ai-agent-capabilities" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-explore-oktas-ai-agent-capabilities" aria-label="Anchor">#</a>
    </span>
    
</h3>
<ul>
<li><strong><a href="https://www.okta.com/solutions/secure-ai/"  target="_blank" rel="noreferrer">Okta for AI Agents</a></strong>: Learn about discovery, governance, and threat response for enterprise agents</li>
<li><strong><a href="https://www.auth0.com/"  target="_blank" rel="noreferrer">Auth0 for AI Agents</a></strong>: Explore developer tools for building secure customer-facing agentic applications</li>
<li><strong><a href="https://www.okta.com/solutions/secure-ai/agentic-enterprise-blueprint/"  target="_blank" rel="noreferrer">Agentic Enterprise Blueprint</a></strong>: Download the complete framework guide</li>
<li><strong><a href="https://www.okta.com/solutions/compliance/"  target="_blank" rel="noreferrer">Compliance Resources</a></strong>: Understand how identity governance supports regulatory requirements</li>
</ul>

<h3 class="relative group">💬 Join the Conversation
    <div id="-join-the-conversation" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-join-the-conversation" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>How is your organization approaching AI agent security? Have you encountered shadow AI in your environment? What governance challenges keep you up at night?</p>
<p><strong>Share your experience in the <a href="/blog/okta-ai-blueprint/#comments" >comments below</a></strong> or connect with me on <a href="https://linkedin.com/in/fabiograsso82"  target="_blank" rel="noreferrer">LinkedIn</a> to continue the discussion.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://www.okta.com/newsroom/press-releases/showcase-2026/"  target="_blank" rel="noreferrer">Okta Showcase 2026: Press Release</a>, Okta Newsroom, March 16, 2026&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref1:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref2:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref3:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref4:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p><a href="https://www.okta.com/solutions/secure-ai/"  target="_blank" rel="noreferrer">Okta Secures AI: Solutions Overview</a>, Okta, 2026&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref1:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref2:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref3:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:3">
<p><a href="https://www.okta.com/blog/product-innovation/launch-week-1-showcase-edition/"  target="_blank" rel="noreferrer">Launch Week 1: Showcase Edition - Product Announcements</a>, Okta Product Blog, March 2026&#160;<a href="#fnref:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref1:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref2:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref3:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref4:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref5:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref6:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref7:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref8:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref9:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:4">
<p><a href="https://www.okta.com/solutions/secure-ai/agentic-enterprise-blueprint/"  target="_blank" rel="noreferrer">The Agentic Enterprise Blueprint: A Framework for AI Agent Security</a>, Okta, 2026&#160;<a href="#fnref:4" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref1:4" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref2:4" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
      <category>Okta</category>
      <category>AI</category>
      <category>Artificial Intelligence</category>
      <category>AI Agents</category>
      <category>Agentic AI</category>
      <category>MCP</category>
      <category>Model Context Protocol</category>
      <category>IAM</category>
      <category>Identity Governance</category>
      <category>Identity Fabric</category>
      <category>Shadow AI</category>
      <category>Non-Human Identity</category>
      <category>ISPM</category>
      <category>ITP</category>
      <category>O4AA</category>
    </item>
    <item>
      <title>Quis Custodiet Ipsos Custodes: Why Independent IAM is Essential for Security</title>
      <link>https://iam.fabiograsso.net/blog/quis-custodiet-ipsos-custodes/</link>
      <pubDate>Wed, 03 Sep 2025 05:00:00 +0200</pubDate>
      <guid>https://iam.fabiograsso.net/blog/quis-custodiet-ipsos-custodes/</guid>
      <description>Who will guard the guards themselves? A critical analysis of vendor lock-in risks in IAM and the advantages of an agnostic approach based on Identity Fabric and open standards.</description>
      <content:encoded>&lt;![CDATA[
<h2 class="relative group">The guards in the digital identity era
    <div id="the-guards-in-the-digital-identity-era" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-guards-in-the-digital-identity-era" aria-label="Anchor">#</a>
    </span>
    
</h2>
<blockquote><p>«Pone seram, cohibe, sed quis custodiet ipsos custodes? Cauta est et ab illis incipit uxor.»
<cite>— Decimus Iunius Iuvenalis <sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup></cite></p>
</blockquote><p><em>«Bolt the door, keep her in, but <strong>who will guard the guards themselves?</strong> The wife is cunning and will start with them.»</em></p>
<p>Originally referring to the difficulty of controlling marital infidelity, this famous <em>Latin phrase</em> by Roman poet <em>Juvenal</em> has become a timeless maxim about the nature of power, trust, and vigilance. The question <em>&ldquo;Quis custodiet ipsos custodes?&rdquo;</em> — <em>Who will guard the guards themselves?</em> — resonates powerfully today in the world of <strong>cybersecurity</strong>, prompting us to question who protects the systems that, in turn, protect us.</p>
<p>In an era where the security perimeter is no longer physical but virtual, digital identity has become the new bastion to protect. This brings us to a crucial paradox: can we truly entrust identity management to the same provider that hosts our infrastructure and services?</p>
<p>Recently, a client posed a deliberately provocative question: <em>&ldquo;What&rsquo;s the point of Okta? My current provider can already give me everything: infrastructure, email, storage, Business Intelligence, device protection&hellip; and even identity management. Why should I spend more money on Okta when I can have everything practically free and integrated with what I already have?&rdquo;</em> This statement, seemingly logical and innocuous, reveals a widespread perception: that <strong>IAM (Identity and Access Management)</strong> is a simple integrated feature, not a strategic choice. The debate isn&rsquo;t between two products, but between a centralized model and an independent, agnostic architecture.</p>
<hr>

<h2 class="relative group">The Zero Trust Model
    <div id="the-zero-trust-model" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-zero-trust-model" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>We all know by now that the traditional security model, based on the concept of &ldquo;trusted perimeter,&rdquo; is obsolete. In a world where people work remotely, access SaaS resources, and interact with APIs, implicit trust is a vulnerability. The answer to this challenge was initially the Zero Trust model, whose core philosophy is &ldquo;never trust, always verify.&rdquo;</p>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="eager"
    decoding="async"
    fetchpriority="high"
    alt="CISA&rsquo;s Zero Trust Maturity Model (ZTMM)"
    srcset="
      /blog/quis-custodiet-ipsos-custodes/model-zero-trust_hu_966976d9eac54b56.webp  330w,
      /blog/quis-custodiet-ipsos-custodes/model-zero-trust_hu_a75b4c7dff1b5be.webp  660w,
      /blog/quis-custodiet-ipsos-custodes/model-zero-trust_hu_7122900e6213f186.webp  960w,
      /blog/quis-custodiet-ipsos-custodes/model-zero-trust_hu_3aaf210251f7348f.webp 1280w,
      /blog/quis-custodiet-ipsos-custodes/model-zero-trust_hu_dc672de49b08328f.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/quis-custodiet-ipsos-custodes/model-zero-trust.png"
    src="/blog/quis-custodiet-ipsos-custodes/model-zero-trust.png">


  
    <figcaption>CISA&rsquo;s Zero Trust Maturity Model (ZTMM)</figcaption>
</figure>

<h3 class="relative group">Identity as the pillar of security
    <div id="identity-as-the-pillar-of-security" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#identity-as-the-pillar-of-security" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>The <a href="https://www.cisa.gov/zero-trust-maturity-model"  target="_blank" rel="noreferrer">CISA&rsquo;s Zero Trust Maturity Model (ZTMM)</a>, a globally recognized framework, identifies <strong>Identity</strong> as <strong>the first of the fundamental pillars</strong> of this architecture. Identity is not just a component, but the primary control point upon which the entire security strategy is founded. To successfully implement this model, an organization needs a robust IAM system capable of:</p>
<ul>
<li><strong>Applying adaptive policies:</strong> Dynamically adapting access policies based on context (user, device, location, time).</li>
<li><strong>Using strong authentication:</strong> Implementing intelligent, adaptive, and phishing-resistant multi-factor authentication (MFA).</li>
</ul>
<p>Tools like <strong><a href="https://www.okta.com/fastpass/"  target="_blank" rel="noreferrer">FastPass</a></strong>, <strong><a href="https://www.okta.com/multi-factor-authentication/"  target="_blank" rel="noreferrer">Adaptive MFA</a></strong>, and <strong><a href="https://www.okta.com/products/identity-threat-protection/"  target="_blank" rel="noreferrer">Identity Threat Protection (ITP)</a></strong> become essential for achieving these objectives, ensuring that only legitimate users and devices can interact with corporate resources.</p>

<h3 class="relative group">The foundations
    <div id="the-foundations" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-foundations" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>If we then analyze the <strong>foundations</strong>, we find:</p>
<ul>
<li>
<p><strong>Governance</strong>: defines the rules and policies that guide the entire security strategy. It&rsquo;s not enough to implement the right tools; it&rsquo;s crucial to establish who can access what, under what conditions, and for how long.
Solutions like <strong><a href="https://www.okta.com/identity-governance/"  target="_blank" rel="noreferrer">Okta Identity Governance</a></strong> become vital in this context, as they ensure that access is always compliant with corporate policies and is revoked in a timely manner when no longer necessary. This approach not only strengthens security but also ensures regulatory compliance.</p>
</li>
<li>
<p><strong>Automation and Orchestration</strong>: The effectiveness of a Zero Trust model depends on its ability to react quickly to context changes. Manually managing every single access request or every device state change would be impossible. Tools like <strong><a href="https://www.okta.com/workflows/"  target="_blank" rel="noreferrer">Okta Workflows</a></strong> allow automation of identity and access management processes, eliminating the need for manual interventions, reducing human errors, and significantly improving operational efficiency. Automation allows the system to adapt in real-time, applying the &ldquo;never trust, always verify&rdquo; philosophy in a scalable way.</p>
</li>
<li>
<p><strong>Visibility and Analytics</strong>: To make informed decisions and react to threats, an organization must have a clear and constant view of what&rsquo;s happening in its ecosystem. Platforms like <strong><a href="https://www.okta.com/identity-security-posture-management/"  target="_blank" rel="noreferrer">Okta ISPM (Identity Security Posture Management)</a></strong> are designed to continuously analyze the health of identity security, providing valuable data and insights that help identify and mitigate risks before they can become serious problems. The ability to analyze data and visualize access patterns is the pivot on which the proactive reaction capability of the Zero Trust model is based.</p>
</li>
</ul>

<h3 class="relative group">Better together: the other pillars
    <div id="better-together-the-other-pillars" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#better-together-the-other-pillars" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Continuing with the other “pillars”:</p>
<ul>
<li>
<p><strong>Device</strong>: The device represents the first point of contact and a potential vulnerability. Integration of IAM with Device Management ensures that only trusted devices, compliant with security policies, can access applications and data. Okta leverages standard technologies, such as SCEP (Simple Certificate Enrollment Protocol), to integrate with the most common Device Managers.
This protection is further reinforced by integrations with third-party tools like <strong>EDR</strong> (<strong>Endpoint Detection and Response</strong>) such as <strong><a href="https://www.crowdstrike.com/"  target="_blank" rel="noreferrer">CrowdStrike</a></strong>, which constantly monitor the device&rsquo;s security status and report anomalies, blocking access in case of detected threats.
Additionally, <strong><a href="https://www.okta.com/desktop-access/"  target="_blank" rel="noreferrer">Okta Desktop Access (ODA)</a></strong> allows implementing multi-factor authentication directly from the desktop, blocking operating system access.</p>
</li>
<li>
<p><strong>Networks</strong>: The traditional network perimeter no longer exists. With cloud adoption and hybrid work, access to resources occurs from uncontrolled networks. Identity-based authentication and authorization extend to tools like VPNs and, more evolved, to <strong>ZTA (Zero Trust Architecture)</strong> systems, such as <strong><a href="https://www.zscaler.com/"  target="_blank" rel="noreferrer">Zscaler</a></strong>. This approach ensures that access to specific network resources is not based only on geographic location or network of origin, but on the validity of the user&rsquo;s identity, their device, and the context of the request.</p>
</li>
<li>
<p><strong>Application &amp; Workloads</strong>: Applications are the beating heart of business activity and represent a primary target for attackers. Protection of this pillar is based on extending IAM to the applications themselves, ensuring that every access and operation is traceable, verified, and compliant with policies. <strong>Single Sign-On (SSO)</strong> and <strong>Multi-Factor Authentication (MFA)</strong> mechanisms for applications are fundamental to reducing the attack surface. Standardization through protocols like <strong>SAML</strong> and <strong>OIDC (OpenID Connect)</strong> allows centralizing identity management across all applications, internal and external, and controlling authorizations at a granular level.</p>
</li>
</ul>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="Okta &#43; Zscaler &#43; Crowdstrike"
    srcset="
      /blog/quis-custodiet-ipsos-custodes/okta-crowdstrike-zscaler_hu_39b3dc7c44762e9b.webp  330w,
      /blog/quis-custodiet-ipsos-custodes/okta-crowdstrike-zscaler_hu_d908e959d19a994b.webp  660w,
      /blog/quis-custodiet-ipsos-custodes/okta-crowdstrike-zscaler_hu_4320b36ddf6ba94b.webp  960w,
      /blog/quis-custodiet-ipsos-custodes/okta-crowdstrike-zscaler_hu_c0c10a8f22cd25fa.webp 1280w,
      /blog/quis-custodiet-ipsos-custodes/okta-crowdstrike-zscaler_hu_13a4164ef146a3b7.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/quis-custodiet-ipsos-custodes/okta-crowdstrike-zscaler.png"
    src="/blog/quis-custodiet-ipsos-custodes/okta-crowdstrike-zscaler.png">


  
    <figcaption><a href="https://www.okta.com/partners/crowdstrike-and-zscaler/"  target="_blank" rel="noreferrer"><em>Better Together</em>: <strong>Okta</strong> integrates seamlessly with tools like <strong>Zscaler</strong> and <strong>Crowdstrike</strong> to share signals and increase security</a></figcaption>
</figure>

<h3 class="relative group">ABAC, ReBAC, DLP
    <div id="abac-rebac-dlp" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#abac-rebac-dlp" aria-label="Anchor">#</a>
    </span>
    
</h3>
<ul>
<li>
<p><strong>Data</strong>: The final pillar recognizes that protecting the perimeter isn&rsquo;t enough: you need to protect the <em>data</em> itself. In this context, IAM evolves from a simple &ldquo;door guardian&rdquo; to an <strong>intelligent content controller</strong>. Through technologies like <strong><a href="https://www.okta.com/identity-101/role-based-access-control-vs-attribute-based-access-control/"  target="_blank" rel="noreferrer">Attribute-Based Access Control (ABAC)</a></strong> and <strong>Fine-Grained Authorization</strong> solutions like <strong><a href="https://www.okta.com/products/fine-grained-authorization/"  target="_blank" rel="noreferrer">Okta/Auth0 FGA</a></strong> (and its open version <strong><a href="https://openfga.dev/"  target="_blank" rel="noreferrer">OpenFGA</a></strong>), modern IAM can apply granular authorization policies that go beyond simple authentication.
The flexible authorization model of <strong>FGA</strong>, based on <strong>Relationship-Based Access Control (ReBAC)</strong>, makes it possible to implement data access policies that exactly reflect organizational structure and business processes.</p>
<p>Integration with <strong>DLP (Data Loss Prevention)</strong> systems allows blocking non-compliant operations in real-time, while <strong>Identity Governance</strong> ensures that access rights are automatically revoked when conditions change (role change, contract end, organizational modifications).</p>
</li>
</ul>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="Okta FGA Model Example"
    srcset="
      /blog/quis-custodiet-ipsos-custodes/okta-fga_hu_d617fdbdc0740329.webp  330w,
      /blog/quis-custodiet-ipsos-custodes/okta-fga_hu_ce0599ada6ef860f.webp  660w,
      /blog/quis-custodiet-ipsos-custodes/okta-fga_hu_ad4cadb112e6226f.webp  960w,
      /blog/quis-custodiet-ipsos-custodes/okta-fga_hu_84b1c4660fea1f2b.webp 1280w,
      /blog/quis-custodiet-ipsos-custodes/okta-fga_hu_dabb73c7e68b8a26.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/quis-custodiet-ipsos-custodes/okta-fga.png"
    src="/blog/quis-custodiet-ipsos-custodes/okta-fga.png">


  
    <figcaption>Okta FGA Model Example</figcaption>
</figure>
<hr>

<h2 class="relative group">Identity Fabric: The Architecture That Unifies Identities
    <div id="identity-fabric-the-architecture-that-unifies-identities" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#identity-fabric-the-architecture-that-unifies-identities" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>While the Zero Trust model clearly defines <strong>what</strong> to protect and <strong>how</strong> to approach security, it doesn&rsquo;t automatically solve the problem of <strong>coordination</strong> between all involved systems. Without a unifying architecture, there&rsquo;s a risk of having a theoretically solid but practically fragmented Zero Trust model, where each component operates in isolation.</p>
<p>To overcome the fragmentation of these ecosystems, the concept of <strong>Identity Fabric</strong> emerges as the most effective architectural approach. Identity Fabric is not a single product, but a comprehensive framework that integrates and orchestrates all disparate IAM systems to function as a single unified system. This approach creates a coherent security &ldquo;fabric&rdquo; that extends across the entire corporate IT infrastructure, eliminating silos and security blind spots that emerge from a fragmented Zero Trust implementation.</p>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="Identity Fabric Model for Zero Trust Maturity"
    srcset="
      /blog/quis-custodiet-ipsos-custodes/model-identity-fabric_hu_86f2219b086279bf.webp  330w,
      /blog/quis-custodiet-ipsos-custodes/model-identity-fabric_hu_34c03c9104899077.webp  660w,
      /blog/quis-custodiet-ipsos-custodes/model-identity-fabric_hu_950f1af5a39aeeee.webp  960w,
      /blog/quis-custodiet-ipsos-custodes/model-identity-fabric_hu_e681c16195604c61.webp 1280w,
      /blog/quis-custodiet-ipsos-custodes/model-identity-fabric_hu_9c0094d252ed207b.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/quis-custodiet-ipsos-custodes/model-identity-fabric.png"
    src="/blog/quis-custodiet-ipsos-custodes/model-identity-fabric.png">


  
    <figcaption>Identity Fabric Model, evolution of the Zero Trust Maturity Model</figcaption>
</figure>
<p><strong>Okta is designed to serve as the central orchestrator in this Identity Fabric.</strong> Thanks to its extensive integration capabilities, Okta connects and manages all identities, applications, and infrastructures (IaaS, on-prem, multi-cloud), regardless of the vendor. This <em>vendor-agnostic</em> approach not only ensures complete visibility and centralized control but also allows applying consistent security policies to all digital entities, human and non-human. In practice, it enables orchestrating identities and access in an agile, scalable, and secure way, adapting to a cloud-first and API-driven reality, bringing Zero Trust principles to a broader and more cohesive implementation level.</p>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="Okta Identity Fabric"
    srcset="
      /blog/quis-custodiet-ipsos-custodes/okta-identity-fabric_hu_c087d0268e197de4.webp  330w,
      /blog/quis-custodiet-ipsos-custodes/okta-identity-fabric_hu_dc206d5690988c3f.webp  660w,
      /blog/quis-custodiet-ipsos-custodes/okta-identity-fabric_hu_279ee77da1378394.webp  960w,
      /blog/quis-custodiet-ipsos-custodes/okta-identity-fabric_hu_88d2e03efdb45f4a.webp 1280w,
      /blog/quis-custodiet-ipsos-custodes/okta-identity-fabric_hu_7ab190bed11e961f.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/quis-custodiet-ipsos-custodes/okta-identity-fabric.png"
    src="/blog/quis-custodiet-ipsos-custodes/okta-identity-fabric.png">


  
</figure>

<h3 class="relative group">IPSIE: The Importance of Open Standards
    <div id="ipsie-the-importance-of-open-standards" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#ipsie-the-importance-of-open-standards" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>The true strength of an Identity Fabric lies not only in a single vendor&rsquo;s ability to orchestrate all components but in its <strong>intrinsic interoperability</strong> based on open standards. This principle is fundamental to ensuring that the architecture remains flexible and that organizations maintain the freedom to choose the best solutions for each specific need, without being tied to a single proprietary ecosystem.</p>
<p><strong>Okta actively supports this philosophy through the adoption of standard protocols</strong> like SAML, OIDC, OAuth 2.0, and SCIM, and actively participates in the <strong><a href="https://www.okta.com/blog/2024/10/oktas-mission-to-standardize-identity-security/"  target="_blank" rel="noreferrer">IPSIE (Identity Provider Security and Integration Ecosystem)</a></strong> initiative of the <strong>OpenID Foundation<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup></strong>. This project aims to create the first unified security standard for enterprise identities, ensuring that different IAM solutions and other security products can communicate and collaborate without compromising security.</p>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="IPSIE (Identity Provider Security and Integration Ecosystem)"
    srcset="
      /blog/quis-custodiet-ipsos-custodes/okta-ipsie_hu_872eb830bc5dba5.webp  330w,
      /blog/quis-custodiet-ipsos-custodes/okta-ipsie_hu_ebacf4fe3c7f10f6.webp  660w,
      /blog/quis-custodiet-ipsos-custodes/okta-ipsie_hu_77320e85a04b0891.webp  960w,
      /blog/quis-custodiet-ipsos-custodes/okta-ipsie_hu_e7b5da0cfa46709c.webp 1280w,
      /blog/quis-custodiet-ipsos-custodes/okta-ipsie_hu_d2237d45ffc67978.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/quis-custodiet-ipsos-custodes/okta-ipsie.png"
    src="/blog/quis-custodiet-ipsos-custodes/okta-ipsie.png">


  
</figure>
<p>The open standards-based approach means that an organization can, for example, use <strong>Okta</strong> for <strong>Identity Governance</strong> while maintaining a different solution for <strong>Access Management</strong>, or exchange signals with third-party security tools like EDR, Antispam, ZTNA. This flexibility <strong>democratizes identity security</strong>, allowing each organization to build its own tailored Identity Fabric, combining the best available solutions on the market in a coherent and secure ecosystem.</p>
<hr>

<h2 class="relative group">The Hidden Risk of the Integrated Provider
    <div id="the-hidden-risk-of-the-integrated-provider" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-hidden-risk-of-the-integrated-provider" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>Choosing an IAM solution provided by the same vendor that manages your infrastructure and data in the cloud may seem convenient and economically advantageous, but it presents significant risks. Let&rsquo;s examine them in detail.</p>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="Vendor Lock-in"
    srcset="
      /blog/quis-custodiet-ipsos-custodes/vendor-lock_hu_e955fc96d4c4009f.webp  330w,
      /blog/quis-custodiet-ipsos-custodes/vendor-lock_hu_dc0d65526ad7e501.webp  660w,
      /blog/quis-custodiet-ipsos-custodes/vendor-lock_hu_7d770bec4e34be08.webp  960w,
      /blog/quis-custodiet-ipsos-custodes/vendor-lock_hu_17e261384dbc6a7a.webp 1280w,
      /blog/quis-custodiet-ipsos-custodes/vendor-lock_hu_3c857d7880a60e65.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/quis-custodiet-ipsos-custodes/vendor-lock.png"
    src="/blog/quis-custodiet-ipsos-custodes/vendor-lock.png">


  
</figure>
<p>Deep integration with a single provider&rsquo;s proprietary ecosystem can trap companies in an almost irreversible <strong>Vendor Lock-in</strong>. Migration becomes a prohibitively expensive and time-consuming process, drastically limiting the flexibility to adopt new technologies or negotiate more advantageous economic conditions.</p>
<p>Moreover, when a provider controls both services and infrastructure and the security mechanism, an <strong>intrinsic conflict of interest</strong> emerges.
Their priorities might not be security or universal interoperability, but deep integration with their own ecosystem. This can lead to compromises, security shortcuts, and ultimately to a <strong>lack of transparency and impartiality</strong>.</p>
<p>Often, clients discover limitations of integrated solutions only when it&rsquo;s too late and becomes very expensive to change.</p>
<hr>

<h2 class="relative group">The Advantages of Independent IAM
    <div id="the-advantages-of-independent-iam" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-advantages-of-independent-iam" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>An <strong>independent IAM</strong> solution, like <strong>Okta</strong>, is designed to be neutral, interoperable, and modular. Choosing an independent platform offers the following advantages:</p>
<ul>
<li><strong>Flexibility and Agility</strong>: With an extensive catalog of integrations, a <em>vendor-agnostic</em> solution allows companies to adopt a &ldquo;best-of-breed&rdquo; strategy, choosing the best tools for each business function and unifying identity management in a single secure platform.
For example, it&rsquo;s possible to choose solutions from different providers for: Infrastructure (IaaS), Collaboration (email, files, instant messaging), EDR, Antispam, etc.</li>
<li><strong>Neutrality and Open Standards</strong>: Solutions like Okta are based on open standards (OAuth 2.0, OIDC, SAML, SCIM), avoiding proprietary logic. This neutrality favors portability, compliance, and interoperability between different ecosystems.
This commitment manifests in the <strong><a href="/blog/quis-custodiet-ipsos-custodes/#ipsie-the-importance-of-open-standards" >IPSIE</a></strong> initiative, which we discussed earlier.</li>
<li><strong>No dependency on proprietary logic</strong>: This approach completely eliminates any dependency on proprietary logic, ensuring that the system is flexible, interoperable, and future-proof. Independence from binding solutions allows organizations to choose technologies best suited to their needs without being limited by a single vendor&rsquo;s decisions. This favors innovation and adaptability in a continuously evolving technological landscape.</li>
<li><strong>Resilience and Enhanced Governance</strong>: An independent IAM doesn&rsquo;t limit itself to login. It offers Identity Governance (IGA) tools to manage identity lifecycle, Privileged Access Management (PAM) to protect sensitive accounts, and Identity Security Posture Management (ISPM) for continuous monitoring.</li>
</ul>
<p>Okta engages in a continuous process of security improvement through investments in innovation, controls, and transparency. This is realized in the <strong><a href="https://www.okta.com/secure-identity-commitment/"  target="_blank" rel="noreferrer">Okta Secure Identity Commitment</a></strong>, a long-term strategic initiative to lead the industry in fighting identity attacks. It articulates around four principles: <strong>providing cutting-edge secure products</strong>, <strong>promoting best practices among customers</strong>, <strong>continuously strengthening internal corporate infrastructure</strong>, and <strong>elevating standards across the entire industry</strong> (for example with <a href="/blog/quis-custodiet-ipsos-custodes/#ipsie-the-importance-of-open-standards" >IPSIE</a>).</p>

<h3 class="relative group">Tangible ROI and Measurable Benefits
    <div id="tangible-roi-and-measurable-benefits" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#tangible-roi-and-measurable-benefits" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>The advantages of an <em>Identity Fabric</em>-based IAM approach are not just theoretical. According to a recent study by <strong>Forrester Consulting</strong><sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>, organizations implementing <strong><a href="https://www.okta.com/identity-governance/"  target="_blank" rel="noreferrer">Okta Identity Governance</a></strong> achieve a <strong>211% ROI</strong> over three years. Benefits include:</p>
<ul>
<li><strong>Operational cost reduction</strong>: Automation of provisioning and deprovisioning activities with a 75% reduction in time needed to manage user access</li>
<li><strong>Productivity improvement</strong>: Users recover an average of 30 minutes per day thanks to SSO and reduced access friction</li>
<li><strong>Compliance risk reduction</strong>: 60% decrease in time needed for audits and compliance verification</li>
<li><strong>Breach prevention</strong>: The avoided cost of a single breach can far exceed the investment in the entire IAM platform</li>
</ul>
<p>To explore the specific ROI potential for your organization, Okta provides a <a href="https://www.okta.com/roi/"  target="_blank" rel="noreferrer">dedicated calculator</a> that considers the specific dimensions and characteristics of the company.</p>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="The Okta Platform"
    srcset="
      /blog/quis-custodiet-ipsos-custodes/okta-platform-identity-security-fabric_hu_7dcbb9dad0c188da.webp  330w,
      /blog/quis-custodiet-ipsos-custodes/okta-platform-identity-security-fabric_hu_653cd77452c177a7.webp  660w,
      /blog/quis-custodiet-ipsos-custodes/okta-platform-identity-security-fabric_hu_f0dbf5c6fd7e9792.webp  960w,
      /blog/quis-custodiet-ipsos-custodes/okta-platform-identity-security-fabric_hu_cb6788edde496cd3.webp 1280w,
      /blog/quis-custodiet-ipsos-custodes/okta-platform-identity-security-fabric_hu_a874a4114b00b5f6.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/quis-custodiet-ipsos-custodes/okta-platform-identity-security-fabric.png"
    src="/blog/quis-custodiet-ipsos-custodes/okta-platform-identity-security-fabric.png">


  
</figure>

<h3 class="relative group">IAM Maturity Assessment: Where Do You Stand?
    <div id="iam-maturity-assessment-where-do-you-stand" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#iam-maturity-assessment-where-do-you-stand" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Before undertaking transformation, it&rsquo;s essential to assess the current state. <strong><a href="https://www.okta.com/resources/whitepaper-a-comprehensive-guide-for-your-identity-maturity-journey/"  target="_blank" rel="noreferrer">Okta&rsquo;s IAM maturity model</a></strong> identifies four progressive levels that define how Identity capabilities can contribute to achieving business objectives and organizational value:</p>
<ol>
<li><strong>Fundamental</strong>: Manual access management, shared passwords, no centralized visibility</li>
<li><strong>Scaling</strong>: Basic process automation, SSO and MFA implementation across multiple applications</li>
<li><strong>Advanced</strong>: Centralized policies, structured Governance, advanced Automation, access monitoring and integration with other systems. Identity integrates with the broader technology stack to improve efficiency for proactive security management, with optimized user experiences</li>
<li><strong>Strategic</strong>: Identity is strategic: Complete automation, predictive analytics, implemented Zero Trust, AI for insights and recommendations. Identity becomes the primary control plane for access administration and a key element of cybersecurity strategy</li>
</ol>
<p>Most organizations are between Stage 1 and 2, with significant improvement opportunities through adopting a modern IAM platform.</p>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="Okta Identity Maturity Model"
    srcset="
      /blog/quis-custodiet-ipsos-custodes/okta-identity-maturity-model_hu_d2b28841c8519dcb.webp  330w,
      /blog/quis-custodiet-ipsos-custodes/okta-identity-maturity-model_hu_e69a98f9a3b038e0.webp  660w,
      /blog/quis-custodiet-ipsos-custodes/okta-identity-maturity-model_hu_19d940d9a41e0c84.webp  960w,
      /blog/quis-custodiet-ipsos-custodes/okta-identity-maturity-model_hu_2bc9c85dd331ceaa.webp 1280w,
      /blog/quis-custodiet-ipsos-custodes/okta-identity-maturity-model_hu_1b961f809600dab6.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/quis-custodiet-ipsos-custodes/okta-identity-maturity-model.png"
    src="/blog/quis-custodiet-ipsos-custodes/okta-identity-maturity-model.png">


  
    <figcaption><a href="https://www.okta.com/resources/whitepaper-a-comprehensive-guide-for-your-identity-maturity-journey/"  target="_blank" rel="noreferrer">Okta Identity Maturity Model</a></figcaption>
</figure>
<hr>

<h2 class="relative group">A Balanced Assessment
    <div id="a-balanced-assessment" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#a-balanced-assessment" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>While the advantages of an <strong>Identity Fabric</strong> are significant, it&rsquo;s important to recognize some challenges that organizations might encounter:</p>
<ul>
<li>
<p><strong>Initial setup complexity</strong>: Implementing an independent solution requires more initial planning compared to activating an already integrated feature. However, this initial complexity translates into greater long-term flexibility and control.</p>
</li>
<li>
<p><strong>Investment in skills</strong>: The IT team must acquire familiarity with integration protocols (SAML, OIDC, SCIM) and IAM best practices. Okta mitigates this challenge through over 8,000 out-of-the-box integrations in the <a href="https://www.okta.com/integrations/"  target="_blank" rel="noreferrer">OIN - Okta Integration Network</a> catalog, <a href="https://help.okta.com/en-us/content/index.htm"  target="_blank" rel="noreferrer">extensive documentation</a>, <a href="https://learning.okta.com/"  target="_blank" rel="noreferrer">free training</a>, and dedicated support during onboarding.</p>
</li>
<li>
<p><strong>Additional licensing costs</strong>: Unlike &ldquo;<em>free</em>&rdquo; integrated solutions, a specialized IAM platform has a licensing cost. However, as demonstrated by ROI data, this investment pays back quickly through operational efficiency and risk reduction.</p>
</li>
</ul>
<p>The key is recognizing that these challenges are <strong>temporary and mitigable</strong>, while the advantages of an agnostic IAM, based on an Identity Fabric architecture, are <strong>structural and lasting</strong>.</p>

<h3 class="relative group">For small and medium enterprises
    <div id="for-small-and-medium-enterprises" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#for-small-and-medium-enterprises" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Even if the integrated approach may seem appealing to reduce initial costs and complexity, experience shows that in the long run it doesn&rsquo;t pay off, especially in terms of ROI and breach risk. Small businesses are often the most vulnerable targets precisely because they perceive security as a cost rather than an investment.</p>
<p>Okta offers <a href="https://www.okta.com/solutions/small-business/"  target="_blank" rel="noreferrer">specific solutions for small businesses</a> that make enterprise IAM accessible even to smaller organizations, with a <strong>scalable pricing model</strong> that grows with the company, allowing you to start with essential functionalities and extend them in the future.</p>
<p>This approach allows SMEs and SMBs to implement enterprise security best practices from the beginning, avoiding costly future migrations and protecting themselves from increasingly sophisticated threats that make no distinction between large and small organizations.</p>
<hr>

<h2 class="relative group">Conclusions: Identity as an Impartial Arbiter
    <div id="conclusions-identity-as-an-impartial-arbiter" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#conclusions-identity-as-an-impartial-arbiter" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>In today&rsquo;s digital landscape, <strong>identity is the new security perimeter. The choice of an IAM platform is not merely a technical decision, but a fundamental strategic choice</strong>. Relying on a single provider for infrastructure, data, and identity may appear advantageous, but <strong>true security is founded on separation of powers, transparency, and freedom of choice</strong>.</p>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt=""
    srcset="
      /blog/quis-custodiet-ipsos-custodes/mfa_hu_fc3b24a15f34535.webp  330w,
      /blog/quis-custodiet-ipsos-custodes/mfa_hu_eb67678aae7659ca.webp  660w,
      /blog/quis-custodiet-ipsos-custodes/mfa_hu_33c52214684f18c4.webp  960w,
      /blog/quis-custodiet-ipsos-custodes/mfa_hu_624f007878f85557.webp 1280w,
      /blog/quis-custodiet-ipsos-custodes/mfa_hu_c46a1caaf7fd8ca1.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/quis-custodiet-ipsos-custodes/mfa.png"
    src="/blog/quis-custodiet-ipsos-custodes/mfa.png">


  
</figure>
<p>Adopting an <strong>independent IAM</strong> solution, configured as a true <strong>Identity Fabric</strong>, means implementing an architecture that ensures unified and secure identity management. This approach reduces risks, increases flexibility, and fully supports a Zero Trust strategy.</p>
<p>As we quoted at the beginning: <em>&ldquo;Who will guard the guards themselves?&rdquo;</em>. <strong>IAM must operate as an impartial arbiter, not as a player on the field.</strong></p>
<p>Authentic security derives from separation of powers: <strong>those responsible for protection cannot be those who control every aspect of infrastructure and data.</strong> An <strong>independent IAM architecture</strong> is not only more secure but is also intrinsically more <strong>resilient, scalable, and free</strong>.</p>
<p>As an <strong>Okta Solutions Engineer</strong>, I see the benefits of this approach daily. This is why I believe <strong>Okta</strong> represents the best implementation of this philosophy.</p>
<hr>

<h2 class="relative group">✋ Your Experience Matters
    <div id="-your-experience-matters" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-your-experience-matters" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>📊 <strong>Assess your current state</strong>: Before undertaking any IAM transformation, it&rsquo;s essential to take stock of the situation. Okta offers a free <strong>Secure Identity Discovery Assessment</strong> that analyzes your current identity security risks through <em>12 key questions</em>, providing targeted recommendations from Okta experts. <a href="/contacts" >Contact me</a> (or your Okta sales representative) to learn more.</p>
<p>📈 <strong>Calculate your ROI</strong>: Use the <strong><a href="https://www.okta.com/roi/"  target="_blank" rel="noreferrer">Okta ROI calculator</a></strong> to evaluate specific economic benefits for your organization. On average, Okta customers reduce maintenance and development costs by 60%.</p>
<p>📣 <strong>Share your experience in the comments</strong>: What&rsquo;s your approach to IAM solutions? Have you ever faced the dilemma between integrated and independent solutions?</p>
<p>🤝 <strong>Discover Identity Fabric</strong>: If you&rsquo;re interested in understanding how it can protect your company, <a href="/contacts" >contact me</a> for personalized consultation.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://en.wikipedia.org/wiki/Quis_custodiet_ipsos_custodes"  target="_blank" rel="noreferrer">Satire VI, O31-O32</a>, Juvenal (Decimus Iunius Iuvenalis), 111 - (<em>&ldquo;Who will guard the guards themselves?&rdquo;</em> often translated also with <em>&ldquo;Who will watch the watchmen?&rdquo;</em>)&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p><a href="https://openid.net/wg/ipsie/"  target="_blank" rel="noreferrer">The Interoperability Profiling for Secure Identity in the Enterprise (IPSIE) Work Group</a>, OpenID Foundation, 2024&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:3">
<p><a href="https://www.okta.com/blog/2025/07/new-forrester-study-reveals-okta-identity-governance-can-result-in-211-roi/"  target="_blank" rel="noreferrer">The Total Economic Impact™ Of Okta Identity Governance</a>, Forrester, 2025&#160;<a href="#fnref:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
      <category>IAM</category>
      <category>Zero Trust</category>
      <category>Identity Fabric</category>
      <category>Okta</category>
      <category>Cybersecurity</category>
      <category>Vendor Lock-in</category>
      <category>Identity Governance</category>
      <category>MFA</category>
      <category>SAML</category>
      <category>OIDC</category>
      <category>Digital Identity</category>
      <category>Enterprise Security</category>
      <category>IPSIE</category>
      <category>OpenID Foundation</category>
    </item>
    <item>
      <title>Banks under siege. The Strategy: Identity Fabric</title>
      <link>https://iam.fabiograsso.net/blog/report-banca-italia-2024/</link>
      <pubDate>Fri, 29 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://iam.fabiograsso.net/blog/report-banca-italia-2024/</guid>
      <description>Analysis of 2024 banking cyber incidents (+45%) according to Banca d&amp;rsquo;Italia report and the Identity Fabric strategy for operational resilience in the Italian and European financial sector.</description>
      <content:encoded>&lt;![CDATA[
<h2 class="relative group">The 2024 Situation
    <div id="the-2024-situation" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-2024-situation" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>The recent report <strong>&ldquo;Supervisory reporting framework for operational or security incidents - Cross-sectional analysis 2024&rdquo;</strong><sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> by Banca d&rsquo;Italia is not just a statistic, it&rsquo;s a strategic alarm bell for the entire Italian (and, by extension, European) financial sector. The data is clear and concerning: a <strong>45% increase in reported operational and security incidents</strong>, totaling <strong>188 notifications</strong>, the highest level ever recorded since 2020.</p>

<div class="chart">
  <canvas id="chart-77b588d73efa863d198b422db4beb315"></canvas>
  <script type="text/javascript">
    window.addEventListener("DOMContentLoaded", (event) => {
      const ctx = document.getElementById("chart-77b588d73efa863d198b422db4beb315");
      const chart = new Chart(ctx, {
        
type: 'bar',
data: {
    labels: ['2020','2021','2022','2023','2024'],
    datasets: [
        {
        label: 'Cyber incidents',
        data: [26, 20, 15, 37, 40],
        backgroundColor: 'rgba(255, 99, 132, 0.7)',
        borderColor: 'rgba(255, 99, 132, 1)',
        borderWidth: 1,
        borderRadius: 2
        },
        {
        label: 'Operational Incidents',
        data: [56, 76, 84, 93, 148],
        backgroundColor: 'rgba(54, 162, 235, 0.7)',
        borderColor: 'rgba(54, 162, 235, 1)',
        borderWidth: 1,
        borderRadius: 2
        },
        {
        label: 'Total incidents',
        type: 'line',
        data: [82, 96, 99, 130, 188],
        borderColor: 'rgba(255, 159, 64, 1)',
        backgroundColor: 'rgba(255, 159, 64, 0.2)',
        borderWidth: 2,
        pointRadius: 5,
        pointHoverRadius: 10,
        tension: 0.3,
        fill: false,
        }
    ]
},
options: {
    responsive: true,
    interaction: { mode: 'index', intersect: false },
    scales: {
        x: { stacked: true },
        y: {stacked: true, beginAtZero: true,       ticks: { precision: 0 } }
    },
    plugins: {
        title: {
        display: true,
        text: 'Evolution of Banking Incidents in Italy (2020-2024)'
        }
    }
}

      });
    });
  </script>
</div>

<p>But the most revealing data emerges from detailed analysis: <strong>65% of all incidents involved an external service provider</strong>, a huge leap from 45% in 2023. This, combined with an average service restoration time more than doubled (from 9 to 21 hours), tells us one thing clearly: the traditional security perimeter no longer exists. Risk is fragmented, interconnected, and increasingly resides in the management of identities and privileged access.</p>
<p>The threat landscape is also rapidly evolving. &ldquo;Noisy&rdquo; DDoS attacks have collapsed by 75% (from 16 in 2023 to 4 in 2024), making way for more silent and targeted threats like <strong>malware (50% of cyber incidents), unauthorized access (45%), and social engineering (22.5%)</strong>. The objective is no longer just to &ldquo;bring down&rdquo; a service, but to <em>infiltrate, steal credentials, and move laterally</em> through the interconnected digital infrastructure.<sup id="fnref1:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup></p>

<div class="chart">
  <canvas id="chart-a13450dd4e57ad2719f2bf849a05869b"></canvas>
  <script type="text/javascript">
    window.addEventListener("DOMContentLoaded", (event) => {
      const ctx = document.getElementById("chart-a13450dd4e57ad2719f2bf849a05869b");
      const chart = new Chart(ctx, {
        
type: 'bar',
data: {
    labels: ['Malware','Unauthorized Access','Social Engineering','DDoS','Other'],
    datasets: [
        {
        data: [20, 18, 9, 4, 3],
        backgroundColor: [
            'rgba(255, 99, 132, 0.7)',
            'rgba(54, 162, 235, 0.7)',
            'rgba(255, 206, 86, 0.7)',
            'rgba(153, 102, 255, 0.7)',
            'rgba(75, 192, 192, 0.7)'
        ],
        borderColor: [
            'rgba(255, 99, 132, 1)',
            'rgba(54, 162, 235, 1)',
            'rgba(255, 206, 86, 1)',
            'rgba(153, 102, 255, 1)',
            'rgba(75, 192, 192, 1)'
        ],
        borderWidth: 1,
        borderRadius: 3
        }
    ]
},
options: {
    responsive: true,
    interaction: { mode: 'index', intersect: false },
    plugins: {
        legend: { display: false },
        tooltip: { enabled: true },
        title: {
            display: true,
            text: 'Cyber incident types in the Italian banking sector (2020–2024)'
        }
    },
    scales: {
        x: { stacked: false },
        y: {stacked: false, beginAtZero: true, max: 25, ticks: { precision: 0 } }
    },
}

      });
    });
  </script>
</div>

<p>These Italian data reflect a broader European trend. The European Banking Authority (EBA) reports that over 58% of European banks suffered at least one cyberattack in the second half of 2024, with 24% recording at least one successful attack with significant impact<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>. In parallel, ENISA identified 488 publicly reported cyber incidents in the European financial sector between January 2023 and June 2024, with banks as the primary target in 46% of cases<sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>.</p>
<p>In this scenario, regulations like the <strong>Digital Operational Resilience Act (DORA)</strong> and <strong>Network and Information Security (NIS) 2</strong> are not merely bureaucratic burdens, but the logical and necessary response to this new reality. With DORA and NIS2 regulatory deadlines already in effect since January 2025, the urgency to adopt a new defense model is maximum<sup id="fnref:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup><sup id="fnref:5"><a href="#fn:5" class="footnote-ref" role="doc-noteref">5</a></sup>.</p>
<p>The question is no longer <em>if</em> to adopt an identity-based security strategy, but <em>how</em> to build it in a way that is cohesive, scalable, and resilient in the face of increasingly sophisticated threats.</p>

<h2 class="relative group">The Strategic Response: Building a Resilient &ldquo;Identity Fabric&rdquo;
    <div id="the-strategic-response-building-a-resilient-identity-fabric" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-strategic-response-building-a-resilient-identity-fabric" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>Addressing such diverse threats — internal fragility, targeted external attacks, and supply chain vulnerabilities — with a mosaic of isolated security solutions is a losing strategy. Each tool creates a new silo, increasing operational complexity and leaving dangerous blind spots that attackers can exploit.</p>
<p>The modern answer is a <strong>unified platform approach</strong>: the <strong><a href="https://www.okta.com/identity-101/identity-fabric-the-future-of-identity-and-access-management/"  target="_blank" rel="noreferrer">Identity Fabric</a></strong> by Okta.</p>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="eager"
    decoding="async"
    fetchpriority="high"
    alt="Okta Identity Fabric"
    srcset="
      /blog/report-banca-italia-2024/okta-identity-fabric_hu_c087d0268e197de4.webp  330w,
      /blog/report-banca-italia-2024/okta-identity-fabric_hu_dc206d5690988c3f.webp  660w,
      /blog/report-banca-italia-2024/okta-identity-fabric_hu_279ee77da1378394.webp  960w,
      /blog/report-banca-italia-2024/okta-identity-fabric_hu_88d2e03efdb45f4a.webp 1280w,
      /blog/report-banca-italia-2024/okta-identity-fabric_hu_7ab190bed11e961f.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/report-banca-italia-2024/okta-identity-fabric.png"
    src="/blog/report-banca-italia-2024/okta-identity-fabric.png">


  
</figure>
<p><strong>What is an Identity Fabric?</strong> Identity Fabric is a unified identity security architecture that supports all identity use cases while being fully orchestrated and integrated. Think of it as an intelligent connective tissue that unifies the security of <strong>all identities</strong> (employees, customers, partners, APIs, AI agents, and service accounts) and <strong>all resources</strong> (applications, infrastructure, data). Instead of fragmented silos, it creates a single control plane that offers centralized visibility, policy orchestration, and coordinated threat response.</p>
<p>The <strong><a href="https://www.okta.com/products/okta-platform/"  target="_blank" rel="noreferrer">Okta Platform</a></strong> represents the natural evolution of this vision, offering an end-to-end solution that brings Identity Fabric to real life. Composed of <strong><a href="https://www.okta.com/products/workforce-identity/"  target="_blank" rel="noreferrer">Okta Workforce Identity</a></strong> and <strong><a href="https://www.okta.com/products/okta-customer-identity/"  target="_blank" rel="noreferrer">Okta Customer Identity</a></strong>, the platform is designed with this architecture in mind, ensuring that the product ecosystem works together to reduce risk while organizations focus on delivering world-class digital experiences (see <em><a href="https://www.okta.com/blog/2025/05/one-platform-every-identity-unifying-okta-customer-identity-with-okta-workforce/"  target="_blank" rel="noreferrer">One Platform, Every Identity</a></em>).</p>
<p>A fundamental concept of this approach is <strong>technological neutrality</strong>, which guarantees the freedom to choose the best technologies without being tied to a single proprietary ecosystem. This is particularly critical in a sector like banking, where integration with legacy systems and third-party providers is essential.</p>
<p>An effective Identity Fabric is founded on four strategic pillars that work in synergy.</p>

<h3 class="relative group">1. Beyond MFA: Phishing-Resistant Authentication
    <div id="1-beyond-mfa-phishing-resistant-authentication" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#1-beyond-mfa-phishing-resistant-authentication" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>With social engineering and credential theft as primary attack vectors (responsible for 22.5% of cyber incidents in 2024), traditional MFA (push notifications, OTP) is no longer sufficient. It&rsquo;s essential to neutralize phishing at the root with phishing-resistant methods.<sup id="fnref2:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup></p>
<p><strong>💡 Key Technologies:</strong></p>
<ul>
<li><strong><a href="https://www.okta.com/products/fastpass/"  target="_blank" rel="noreferrer">Okta FastPass</a></strong> uses open cryptographic standards like FIDO2 to cryptographically bind authentication to the device. Simply put, even if a user is tricked into entering their credentials on a fake site, these are useless to the attacker because they cannot be reused elsewhere thanks to public key cryptography.</li>
<li><strong><a href="https://www.okta.com/products/adaptive-multi-factor-authentication/"  target="_blank" rel="noreferrer">Okta Adaptive MFA</a></strong>: This solution goes beyond static MFA, offering <strong>risk-based dynamic authentication</strong> that evaluates the context of each access attempt. The system analyzes factors like geographic location, device used, user behavior, and compromise indicators (such as proxy use or compromised passwords) to automatically determine the required authentication level. For high-risk transactions or access from non-compliant devices, it can require additional factors like WebAuthn or biometrics, while for low-risk scenarios it reduces user friction while maintaining security.</li>
</ul>

<h3 class="relative group">2. Total Governance: Managing the Lifecycle of <em>All</em> Identities
    <div id="2-total-governance-managing-the-lifecycle-of-all-identities" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#2-total-governance-managing-the-lifecycle-of-all-identities" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>The 65% of incidents involving suppliers highlights a critical problem of access governance in the digital supply chain. This risk is amplified by the explosion of <strong>Non-Human Identities (NHI)</strong> — API keys, service accounts, system tokens, digital certificates — which today far outnumber human ones and are the connective tissue of the digital supply chain. The lack of governance of these identities with the same rigor as human ones represents a direct violation of DORA principles.<sup id="fnref3:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup></p>
<p><strong>💡 Key Technologies:</strong></p>
<ul>
<li><strong><a href="https://www.okta.com/products/identity-governance/"  target="_blank" rel="noreferrer">Okta Identity Governance (OIG)</a></strong> automates the entire access lifecycle through intelligent <strong>JML (Joiner-Mover-Leaver)</strong> workflows. The system ensures that every identity — human and non-human — is rigorously applied the <strong>least privilege</strong> principle through traceable request and approval workflows, automated periodic certification campaigns, and automatic de-provisioning when identities are no longer needed. For non-human identities, it implements automatic credential rotation and continuous usage monitoring.</li>
<li><strong><a href="https://www.okta.com/products/privileged-access/"  target="_blank" rel="noreferrer">Okta Privileged Access</a></strong>: This cloud-native PAM solution eliminates permanent access (standing access) to servers, containers, and privileged SaaS applications. It implements the <strong>Zero Standing Privileges</strong> principle, requiring just-in-time approvals for access to critical resources. It includes a <strong>cloud vault</strong> for secure management of shared credentials, complete SSH/RDP session recording for compliance, and native integration with <strong>Okta Access Requests</strong> for multi-step approval workflows with business justification and limited time durations. Particularly important for banks, it also manages privileged access to <strong>break-glass identities</strong> and critical service accounts.</li>
</ul>

<h3 class="relative group">3. From Prevention to Continuous and Proactive Protection
    <div id="3-from-prevention-to-continuous-and-proactive-protection" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#3-from-prevention-to-continuous-and-proactive-protection" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Security cannot be a static control at login time. It must be a dynamic process that evaluates risk in real-time, throughout the session duration, continuously adapting to the evolving threat landscape.</p>
<p><strong>💡 Key Technologies:</strong> Two complementary capabilities are needed here that work in synergy to offer 360-degree protection:</p>
<ul>
<li><strong><a href="https://www.okta.com/products/identity-security-posture-management/"  target="_blank" rel="noreferrer">Okta ISPM – Identity Security Posture Management</a></strong>: This is <strong>proactive</strong> defense. ISPM functions as a continuous &ldquo;check-up&rdquo; of your identity infrastructure, constantly scanning cloud systems (Azure AD, AWS, Google Workspace, Salesforce) to identify and correct misconfigurations, MFA gaps, excessive privileges, and security vulnerabilities <em>before</em> they are exploited by attackers. With the introduction of new 2025 capabilities, ISPM now also protects <strong>AI agents and non-human identities</strong>, automatically discovering service accounts, API keys, and other automated identities that often escape traditional governance.</li>
<li><strong><a href="https://www.okta.com/products/identity-threat-protection/"  target="_blank" rel="noreferrer">Okta ITP – Identity Threat Protection</a></strong>: This is real-time <strong>reactive</strong> defense. Using open standards like <strong>CAEP (Continuous Access Evaluation Protocol)</strong> and <strong>SSF (Shared Signals Framework)</strong> to integrate risk signals from the entire security ecosystem (e.g., from an EDR like CrowdStrike), ITP actively monitors every session <em>after</em> initial login. If it detects an anomaly — like a suspicious IP change, an alert from a device security system, or unusual user behavior — it can automatically intervene by terminating the session, requiring re-authentication, or escalating the incident to the security team.</li>
</ul>

<h3 class="relative group">4. Don&rsquo;t Forget the Customer: CIAM for Highly Regulated Environments
    <div id="4-dont-forget-the-customer-ciam-for-highly-regulated-environments" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#4-dont-forget-the-customer-ciam-for-highly-regulated-environments" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Customer trust represents the most precious asset for every financial institution. Protecting customer accounts from fraud and account takeover requires the same level of rigor applied internally, but with particular attention to the balance between security and user experience. In the banking sector, where every friction can translate to customer abandonment, this balance is particularly delicate.</p>
<p><strong>💡 Key Technologies:</strong></p>
<ul>
<li>
<p><strong><a href="https://www.auth0.com/"  target="_blank" rel="noreferrer">Auth0</a></strong> with <strong><a href="https://auth0.com/features/highly-regulated-identity"  target="_blank" rel="noreferrer">Highly Regulated Identity (HRI)</a></strong> represents the <strong>Financial-Grade Identity</strong> solution for sensitive customer operations. HRI is specifically designed to meet the highest security and regulatory compliance standards in the financial sector.</p>
</li>
<li>
<p><strong>HRI implements three fundamental security pillars:</strong></p>
<ul>
<li>
<p><strong>Strong Customer Authentication (SCA) with Dynamic Linking</strong>: HRI implements SCA as defined by <strong>PSD2 (Payment Services Directive 2)</strong>, requiring at least two independent authentication factors. <strong>Dynamic Linking</strong> cryptographically binds transaction details to the SCA approval process, showing the user exactly what they are approving (e.g., <code>Authorize payment of €1,000 to Giovanni Rossi?</code>) and thus preventing <em>sophisticated fraud</em> through <em>transaction tampering</em><sup id="fnref:6"><a href="#fn:6" class="footnote-ref" role="doc-noteref">6</a></sup>.</p>
</li>
<li>
<p><strong>FAPI 1 Advanced Protocols</strong>: HRI is a certified implementation of the <strong>Financial-Grade API</strong> standard by the OpenID Foundation, which includes<sup id="fnref:7"><a href="#fn:7" class="footnote-ref" role="doc-noteref">7</a></sup>:</p>
<ul>
<li><strong>PAR (Pushed Authorization Requests)</strong>: Moves sensitive transaction parameters from the front-channel (browser) to authenticated back-end calls, preventing interception</li>
<li><strong>JAR (JWT-Secured Authorization Request)</strong>: Protects the integrity of the authorization request through digital signature</li>
<li><strong>JWE (JSON Web Encryption)</strong>: Encrypts access token payload to prevent application data breaches</li>
</ul>
</li>
<li>
<p><strong>Strengthened Application Authentication</strong>: Supports <strong>Private Key JWT</strong> and <strong>mTLS (Mutual TLS)</strong> as alternatives to client secrets, eliminating the transmission of secrets over the network. <strong>Token Binding</strong> ensures that only the application that requested an access token can use it, making tokens useless even if intercepted.</p>
</li>
<li>
<p><strong>Customization and User Experience</strong>: Despite rigorous security controls, HRI maintains a smooth user experience through native integration with <strong>Auth0 Actions</strong> for custom authorization logic and new templates for <strong>Universal Login</strong> that allow customizing approval screens based on the type and details of the specific transaction (see <em><a href="https://www.okta.com/blog/2024/07/highly-regulated-identity-the-key-to-easier-more-secure-customer-interactions/"  target="_blank" rel="noreferrer">Okta Blog</a></em>).</p>
</li>
</ul>
</li>
</ul>

<h2 class="relative group">From Regulatory Obligation to Strategic Advantage
    <div id="from-regulatory-obligation-to-strategic-advantage" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#from-regulatory-obligation-to-strategic-advantage" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>The data from the Banca d&rsquo;Italia report<sup id="fnref4:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>, supported by European trends documented by EBA<sup id="fnref1:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup> and ENISA<sup id="fnref1:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>, clearly outline an increasingly complex and interconnected cyber battlefield. With 80% of incidents affecting payment services and 65% involving third-party suppliers, addressing these challenges with a fragmented approach is no longer sustainable or economically efficient.</p>
<p>The implementation of the <strong>EU Systemic Cyber Incident Coordination Framework (EU-SCICF)</strong> under <strong>DORA</strong> highlights how even regulators recognize that cyber resilience requires coordination and unified visibility at the systemic level. This same principle applies at the enterprise level: a unified <strong>Identity Fabric</strong> is needed<sup id="fnref:8"><a href="#fn:8" class="footnote-ref" role="doc-noteref">8</a></sup>.</p>
<p>Building an <strong>Identity Fabric</strong> with the <strong>Okta Platform</strong> means moving from a fragmented reactive defense posture to one of <strong>orchestrated proactive resilience</strong>. It means unifying visibility across all identities (human and non-human), automating access governance, and orchestrating threat response on a coherent and scalable platform.</p>
<p>This approach not only allows for effectively responding to the stringent requirements of <strong>DORA and NIS2</strong>, but transforms security from an operational cost center to a true <strong>strategic business enabler</strong>. A unified and resilient identity platform not only protects the organization from increasingly sophisticated threats, but simultaneously strengthens customer and partner trust, accelerates onboarding of new digital services, and reduces operational costs through intelligent automation.</p>
<p>In the current landscape, where average restoration time has more than doubled and where threats become increasingly silent and persistent, Identity Fabric is no longer a futuristic option — it&rsquo;s an immediate strategic necessity for the digital survival of the financial sector.</p>

<h2 class="relative group">✋ The Time to Act is Now
    <div id="-the-time-to-act-is-now" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-the-time-to-act-is-now" aria-label="Anchor">#</a>
    </span>
    
</h2>

<h3 class="relative group">📊 Assess Your Current Position
    <div id="-assess-your-current-position" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-assess-your-current-position" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Operational resilience always starts with an assessment of the current state. We suggest starting with:</p>
<ul>
<li>
<p><strong>Okta Secure Identity Discovery</strong>: A free assessment that analyzes your current identity security risks through 12 targeted questions, providing specific recommendations from Okta experts for the Financial Services sector. <a href="/contacts" >Contact me</a> to learn more.</p>
</li>
<li>
<p><strong><a href="https://www.okta.com/roi/"  target="_blank" rel="noreferrer">Okta ROI Calculator</a></strong>: Quantify the economic benefits of an Identity Fabric approach.</p>
</li>
</ul>

<h3 class="relative group">🎯 Start Your Identity Fabric
    <div id="-start-your-identity-fabric" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-start-your-identity-fabric" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>You don&rsquo;t need to revolutionize everything overnight. You can start with a gradual approach:</p>
<ol>
<li><strong>Pilot anti-phishing protection</strong>: Implement <strong><a href="https://www.okta.com/products/fastpass/"  target="_blank" rel="noreferrer">Okta FastPass</a></strong> on a group of users to test the effectiveness of phishing-resistant authentication</li>
<li><strong>Manage human and non-human identities</strong>: Use <strong><a href="https://www.okta.com/products/identity-security-posture-management/"  target="_blank" rel="noreferrer">Okta ISPM</a></strong> to map all identities, including service accounts and API keys that often escape traditional controls. 💡 <em>You can use it even if you don&rsquo;t use Okta as IAM!</em></li>
<li><strong>Protect customers</strong>: Experiment with <strong><a href="https://auth0.com/features/highly-regulated-identity"  target="_blank" rel="noreferrer">Auth0 HRI</a></strong> to implement PSD2-compliant Strong Customer Authentication while maintaining optimal UX</li>
</ol>

<h3 class="relative group">🚀 Immediate Resources
    <div id="-immediate-resources" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-immediate-resources" aria-label="Anchor">#</a>
    </span>
    
</h3>
<ul>
<li><strong><a href="https://www.okta.com/solutions/financial-services/"  target="_blank" rel="noreferrer">Okta for Financial Services</a></strong>: Specific solutions for banks and financial institutions</li>
<li><strong><a href="https://www.okta.com/uk/resources/infographic-5-key-dora-requirements/"  target="_blank" rel="noreferrer">5 key DORA requirements</a></strong>: useful infographic on DORA regulation</li>
<li><strong><a href="https://sec.okta.com/articles/2025/05/a-guide-to-dora-compliance-with-okta/"  target="_blank" rel="noreferrer">A Guide to DORA Compliance with Okta</a></strong>: Okta blog article</li>
<li><strong><a href="https://www.okta.com/blog/2024/11/pci-dss-4-0-what-financial-service-providers-need-to-know-about-new-regulatory/"  target="_blank" rel="noreferrer">PCI DSS 4.0: What financial service providers need to know about new regulatory requirements</a></strong></li>
</ul>

<h3 class="relative group">🤝 Let&rsquo;s Discuss Your Strategy
    <div id="-lets-discuss-your-strategy" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-lets-discuss-your-strategy" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>The financial sector has unique challenges that require specialized expertise:</p>
<p>📞 <strong><a href="/contacts" >Personalized consultation</a></strong>: As a Solutions Engineer specialized in the Italian market, I can help you define an Identity Fabric roadmap specific to your organization, considering legacy systems, regulatory constraints, and business objectives.</p>
<p>💬 <strong>Share your experience</strong>: How is your identity security strategy evolving? What are the biggest challenges you face in managing human and non-human identities in the DORA/NIS2 context? Let&rsquo;s discuss in the comments.</p>
<p>📰 <strong><a href="https://linkedin.com/in/fabiograsso82"  target="_blank" rel="noreferrer">Follow me on LinkedIn</a></strong> for regular insights on Identity Fabric, regulatory compliance, and best practices for the Financial Services sector.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://www.bancaditalia.it/compiti/vigilanza/analisi-sistema/approfondimenti-banche-int/Framework-segnaletico-di-Vigilanza-degli-incidenti-operativi-o-di-sicurezza-Analisi-orizzontale-2024.pdf"  target="_blank" rel="noreferrer">Framework segnaletico di Vigilanza degli incidenti operativi o di sicurezza - Analisi orizzontale 2024</a>, Banca d&rsquo;Italia, July 2025&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref1:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref2:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref3:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref4:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p><a href="https://www.eba.europa.eu/publications-and-media/press-releases/eu-banks-continue-be-robust-although-risks-geopolitical-tensions-and-cyber-threats-remain"  target="_blank" rel="noreferrer">EBA Risk Assessment Report - Autumn 2024</a>, European Banking Authority, November 2024&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref1:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:3">
<p><a href="https://www.enisa.europa.eu/publications/enisa-threat-landscape-finance-sector"  target="_blank" rel="noreferrer">ENISA Threat Landscape: Finance Sector</a>, European Union Agency for Cybersecurity, February 2025&#160;<a href="#fnref:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref1:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:4">
<p><a href="https://www.digital-operational-resilience-act.com/"  target="_blank" rel="noreferrer">Digital Operational Resilience Act (DORA)</a>, EU Regulation 2022/2554, applicable from January 17, 2025&#160;<a href="#fnref:4" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:5">
<p><a href="https://www.nis-2-directive.com/"  target="_blank" rel="noreferrer">Network and Information Security (NIS) 2 Directive</a>, EU Directive 2022/2555&#160;<a href="#fnref:5" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:6">
<p><a href="https://finance.ec.europa.eu/regulation-and-supervision/financial-services-legislation/implementing-and-delegated-acts/payment-services-directive_en"  target="_blank" rel="noreferrer">Implementing and delegated acts - PSD 2</a>&#160;<a href="#fnref:6" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:7">
<p><a href="https://curity.io/resources/learn/what-is-financial-grade/"  target="_blank" rel="noreferrer">Financial-Grade API Security Profile</a>, Curity, 2023&#160;<a href="#fnref:7" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:8">
<p><a href="https://www.eu-scicf.com/"  target="_blank" rel="noreferrer">EU Systemic Cyber Incident Coordination Framework</a>, ESRB Recommendation, implemented with DORA 2025&#160;<a href="#fnref:8" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
      <category>Okta</category>
      <category>Cybersecurity</category>
      <category>Financial Services</category>
      <category>DORA</category>
      <category>NIS2</category>
      <category>IAM</category>
      <category>CIAM</category>
      <category>ZeroTrust</category>
      <category>Banking Security</category>
      <category>Identity Management</category>
      <category>Zero Trust</category>
      <category>Identity Fabric</category>
      <category>Financial Services</category>
      <category>Identity Governance</category>
      <category>Strong Customer Authentication</category>
      <category>HRI</category>
      <category>High Regulated Identity</category>
    </item>
    <item>
      <title>NIST SP 800-63-4: The New Era of Phishing-Resistant Authentication</title>
      <link>https://iam.fabiograsso.net/blog/2025-nist-sp-800-63-4/</link>
      <pubDate>Mon, 18 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://iam.fabiograsso.net/blog/2025-nist-sp-800-63-4/</guid>
      <description>Technical analysis of the innovations introduced by NIST SP 800-63-4: from the end of forced password expiration to the emphasis on phishing-resistant authentication, with practical parallels on Okta products.</description>
      <content:encoded>&lt;![CDATA[<p>The <strong>July 2025 release</strong> of the fourth revision of the NIST Digital Identity Guidelines marks a turning point in the evolution of digital security standards. <strong>NIST SP 800-63-4</strong><sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> is not just a technical update, but a strategic response to emerging threats that have shaped the cybersecurity landscape in recent years, with particular focus on sophisticated phishing and social engineering attacks that have compromised even enterprise organizations with advanced security controls.</p>
<p>The timing of this revision is no coincidence: over the past three years, we have seen an escalation of attacks exploiting weaknesses in traditional multi-factor authentication implementations, proving that SMS OTP and non-cryptographic hardware tokens can be bypassed with increasingly sophisticated man-in-the-middle techniques.</p>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="&ldquo;NIST SP 800-63 Revision 4&rdquo;"
    srcset="
      /blog/2025-nist-sp-800-63-4/featured_hu_97c8482844071b01.webp  330w,
      /blog/2025-nist-sp-800-63-4/featured_hu_f9d958819b1c263e.webp  660w,
      /blog/2025-nist-sp-800-63-4/featured_hu_9a940b454a1329e8.webp  960w,
      /blog/2025-nist-sp-800-63-4/featured_hu_939a3c3722abf750.webp 1280w,
      /blog/2025-nist-sp-800-63-4/featured_hu_b0ee35e886cbf7c2.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/2025-nist-sp-800-63-4/featured.png"
    src="/blog/2025-nist-sp-800-63-4/featured.png">


  
</figure>

<h2 class="relative group">The modular structure
    <div id="the-modular-structure" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-modular-structure" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>The fourth revision maintains the modular approach introduced in version 3, consisting of four distinct volumes addressing complementary aspects of digital identity management<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>:</p>
<ul>
<li><strong>SP 800-63</strong><sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>: The base volume defining the Digital Identity Model, risk management principles, and fundamental terminology</li>
<li><strong>SP 800-63A</strong><sup id="fnref:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup>: Identity Proofing and Enrollment, covering identity verification and user registration processes</li>
<li><strong>SP 800-63B</strong><sup id="fnref:5"><a href="#fn:5" class="footnote-ref" role="doc-noteref">5</a></sup>: Authentication and Authenticator Management, dedicated to authentication mechanisms and authenticator lifecycle management</li>
<li><strong>SP 800-63C</strong><sup id="fnref:6"><a href="#fn:6" class="footnote-ref" role="doc-noteref">6</a></sup>: Federation and Assertions, defining protocols for federation and assertion management</li>
</ul>
<p>This article specifically focuses on the base volume and <strong>SP 800-63B</strong><sup id="fnref1:5"><a href="#fn:5" class="footnote-ref" role="doc-noteref">5</a></sup>, which covers authentication and authenticator management, central elements for any modern enterprise IAM strategy.</p>
<p><strong>The importance of these standards extends beyond U.S. borders</strong>. In Europe, NIST SP 800-63 serves as a fundamental technical reference inspiring directives such as <strong>NIS2</strong> and <strong>DORA</strong>, providing a pragmatic framework to implement effective security controls. Multinational organizations often use NIST SP 800-63 as a common baseline to standardize security controls across different jurisdictions, significantly simplifying governance and multi-regional compliance.</p>
<p>The convergence between U.S. and European standards is accelerating, with <strong>ENISA</strong> explicitly referencing NIST for specific technical aspects, creating a global ecosystem of shared best practices<sup id="fnref:7"><a href="#fn:7" class="footnote-ref" role="doc-noteref">7</a></sup>.</p>

<h2 class="relative group">Why it represents the future of Authentication
    <div id="why-it-represents-the-future-of-authentication" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-it-represents-the-future-of-authentication" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p><strong>SP 800-63B</strong> defines the technical requirements for user authentication and authenticator lifecycle management, introducing a risk-based approach balancing security and usability through three Authenticator Assurance Levels (AAL)<sup id="fnref:8"><a href="#fn:8" class="footnote-ref" role="doc-noteref">8</a></sup>:</p>
<ul>
<li><strong>AAL1</strong>: Single-factor authentication based on “something you know” (passwords, PINs)</li>
<li><strong>AAL2</strong>: Multi-factor authentication requiring at least two distinct authentication factors</li>
<li><strong>AAL3</strong>: Multi-factor authentication with mandatory phishing resistance</li>
</ul>
<p>The true innovation lies in the <strong>risk-adaptive approach</strong> allowing organizations to dynamically adjust authentication controls based on session context, user, and resource sensitivity<sup id="fnref:9"><a href="#fn:9" class="footnote-ref" role="doc-noteref">9</a></sup>. This means the same user can experience different authentication requirements depending on a real-time risk score.</p>
<p>The integration of <strong>behavioral analytics</strong> and <strong>threat intelligence</strong> in decision-making marks a significant advancement over traditional static controls that applied uniformly regardless of operating context.</p>

<h3 class="relative group">AAL Levels and authenticator requirements
    <div id="aal-levels-and-authenticator-requirements" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#aal-levels-and-authenticator-requirements" aria-label="Anchor">#</a>
    </span>
    
</h3>
<table>
  <thead>
      <tr>
          <th>AAL Level</th>
          <th>Authentication Factors</th>
          <th>Authenticator Types</th>
          <th>Phishing Resistance</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>AAL1</td>
          <td>Single factor (“something you know”)</td>
          <td>Memorized secrets (passwords, PINs)</td>
          <td>Not required</td>
      </tr>
      <tr>
          <td>AAL2</td>
          <td>Two distinct factors - at least one “something you have”</td>
          <td>Memorized secrets + one of:<br />• OTP hardware/software<br />• Out-of-band device<br /> • Cryptographic software authenticator (e.g. passkeys)</td>
          <td>Optional (recommended)</td>
      </tr>
      <tr>
          <td>AAL3</td>
          <td>Two factors with one “cryptographic hardware”</td>
          <td>• Cryptographic hardware authenticator (e.g. FIDO2 security keys, PIV smart cards)<br />• May include “something you know” for multifactor</td>
          <td>Mandatory</td>
      </tr>
  </tbody>
</table>

<h2 class="relative group">Evolution from v3 to v4
    <div id="evolution-from-v3-to-v4" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#evolution-from-v3-to-v4" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>The transition from version 3 to 4 introduces paradigm shifts reflecting evolving threat landscapes and technological progress. <strong>A comparative analysis highlights most important transformation areas</strong>:</p>
<table>
  <thead>
      <tr>
          <th>Key Change</th>
          <th>NIST SP 800-63-3</th>
          <th>NIST SP 800-63-4</th>
          <th>Technical Rationale</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>Risk Management Process</strong></td>
          <td>Static risk assessment at enrollment</td>
          <td><strong>Continuous evaluation and cross-functional engagement</strong><sup id="fnref:10"><a href="#fn:10" class="footnote-ref" role="doc-noteref">10</a></sup></td>
          <td>Need for dynamic threat response and team-based approach</td>
      </tr>
      <tr>
          <td><strong>Identity Proofing Controls</strong></td>
          <td>Basic IAL levels with limited flexibility</td>
          <td><strong>Restructured controls with expanded fraud requirements</strong><sup id="fnref:11"><a href="#fn:11" class="footnote-ref" role="doc-noteref">11</a></sup></td>
          <td>Address synthetic identity attacks and injection threats</td>
      </tr>
      <tr>
          <td><strong>Phishing-Resistant Authentication</strong></td>
          <td>Recommended only for AAL3</td>
          <td><strong>Required options for AAL2, mandatory for AAL3</strong><sup id="fnref:12"><a href="#fn:12" class="footnote-ref" role="doc-noteref">12</a></sup></td>
          <td>Rising sophistication in phishing attacks and OMB M-22-09 compliance</td>
      </tr>
      <tr>
          <td><strong>Syncable Authenticators</strong></td>
          <td>Not considered</td>
          <td><strong>Explicit support for passkeys and cross-device sync</strong><sup id="fnref:13"><a href="#fn:13" class="footnote-ref" role="doc-noteref">13</a></sup></td>
          <td>Enable modern passwordless user experiences</td>
      </tr>
      <tr>
          <td><strong>Password Expiration</strong></td>
          <td>Recommended periodic expiration (90 days)</td>
          <td><strong>Strongly discourages forced expiration</strong><sup id="fnref1:11"><a href="#fn:11" class="footnote-ref" role="doc-noteref">11</a></sup></td>
          <td>Research shows insecure behaviors with frequent rotations</td>
      </tr>
      <tr>
          <td><strong>SMS/Voice OTP</strong></td>
          <td>Limited for AAL2+ with exceptions</td>
          <td><strong>Further deprecated with strict limitations</strong><sup id="fnref:14"><a href="#fn:14" class="footnote-ref" role="doc-noteref">14</a></sup></td>
          <td>Increasing vulnerabilities to SIM swapping and interception</td>
      </tr>
      <tr>
          <td><strong>Subscriber-Controlled Wallets</strong></td>
          <td>Traditional federated model only</td>
          <td><strong>New federation model with user-controlled digital wallets</strong><sup id="fnref1:6"><a href="#fn:6" class="footnote-ref" role="doc-noteref">6</a></sup></td>
          <td>Support for emerging verifiable credentials and decentralized identity</td>
      </tr>
  </tbody>
</table>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="5 Key Changes of NIST SP 800-63-4"
    srcset="
      /blog/2025-nist-sp-800-63-4/5_key_changes_graphic-digital_identity_r4_hu_d4c98943e4921352.webp  330w,
      /blog/2025-nist-sp-800-63-4/5_key_changes_graphic-digital_identity_r4_hu_e8053b6f4b939db7.webp  660w,
      /blog/2025-nist-sp-800-63-4/5_key_changes_graphic-digital_identity_r4_hu_a78671ab3375a1ca.webp  960w,
      /blog/2025-nist-sp-800-63-4/5_key_changes_graphic-digital_identity_r4_hu_dbc6507a1ddfbae2.webp 1280w,
      /blog/2025-nist-sp-800-63-4/5_key_changes_graphic-digital_identity_r4_hu_e729e91079b106d2.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/2025-nist-sp-800-63-4/5_key_changes_graphic-digital_identity_r4.png"
    src="/blog/2025-nist-sp-800-63-4/5_key_changes_graphic-digital_identity_r4.png">


  
    <figcaption>5 Key Changes of NIST SP 800-63-4 (NIST official infographic<a href="/#fn:28" >16</a>)</figcaption>
</figure>

<h2 class="relative group">Key innovations
    <div id="key-innovations" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#key-innovations" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>Beyond the comparative framework, NIST SP 800-63-4 introduces fundamental innovations that redefine enterprise authentication. Here&rsquo;s how these changes translate to real-world implementations.</p>

<h3 class="relative group">Digital Identity Risk Management (DIRM)
    <div id="digital-identity-risk-management-dirm" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#digital-identity-risk-management-dirm" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p><strong>NIST SP 800-63-4 introduces the revolutionary concept of &ldquo;continuous evaluation&rdquo;</strong><sup id="fnref1:10"><a href="#fn:10" class="footnote-ref" role="doc-noteref">10</a></sup> in identity risk management, transforming security posture from reactive to predictive through continuous intelligence.</p>
<p>The framework sets specific requirements for continuous evaluation<sup id="fnref:15"><a href="#fn:15" class="footnote-ref" role="doc-noteref">15</a></sup>:</p>
<ul>
<li><strong>Real-time risk scoring</strong> based on behavioral analytics</li>
<li><strong>Threat intelligence integration</strong> identifying compromise indicators</li>
<li><strong>Adaptive authentication controls</strong> dynamically adjusting requirements</li>
<li><strong>Comprehensive audit trails</strong> for forensics and compliance</li>
</ul>
<p>To operationalize this vision, NIST defines a <strong>structured five-step DIRM process</strong> ensuring continuous, risk-based control of digital identity:</p>
<ol>
<li><strong>Define the Online Service</strong>
Document service scope, user groups, and assets to establish context for risk analysis.</li>
<li><strong>Assess Service-Level Risks</strong>
Identify risks arising from the online service itself — data sensitivity, threat landscape, and potential impacts.</li>
<li><strong>Assess Identity-System Risks</strong>
Evaluate risks introduced by the identity solution — fraud vectors, privacy concerns, and usability factors.</li>
<li><strong>Select and Tailor Controls</strong>
Choose baseline controls (IAL/AAL/FAL) and tailor them via compensating or supplemental measures based on your risk assessments.</li>
<li><strong>Monitor and Reassess Continuously</strong>
Execute continuous evaluation, update risk assessments, and adjust controls as threats and service requirements evolve.</li>
</ol>
<p><strong>Okta&rsquo;s integrated platform directly supports this NIST framework</strong> through two complementary solutions that - in addition to well-know features like <strong>SSO</strong> and <strong>Adaptive MFA</strong> - address the DIRM process:</p>
<ul>
<li><strong><a href="https://www.okta.com/products/identity-security-posture-management/"  target="_blank" rel="noreferrer">Okta Identity Security Posture Management</a></strong> provides continuous monitoring via:
<ul>
<li><strong>360-degree identity visibility</strong> across cloud, on-premises, and hybrid environments</li>
<li><strong>Risk scoring algorithms</strong> considering over 200 identity risk factors</li>
<li><strong>Automated remediation workflows</strong> for immediate threat response</li>
<li><strong>Compliance automation</strong> maintaining posture alignment with multiple frameworks</li>
</ul>
</li>
<li><strong><a href="https://www.okta.com/products/identity-threat-protection/"  target="_blank" rel="noreferrer">Okta Identity Threat Protection</a></strong> delivers detection and response intelligence via:
<ul>
<li><strong>Machine learning models</strong> trained on global threat intelligence</li>
<li><strong>Behavioral baselines</strong> for each user-device combination</li>
<li><strong>Real-time threat blocking</strong> for known malicious IPs and patterns</li>
<li><strong>Investigation workflows</strong> supporting security teams</li>
</ul>
</li>
</ul>
<p>Integration of ISPM and ITP creates a <strong>closed-loop security system</strong> identifying risks, implementing compensating controls, and verifying mitigation effectiveness in real time — precisely the outcome NIST SP 800-63-4 envisions for modern <strong>Digital Identity Risk Management (DIRM)</strong>.</p>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="High-level diagram of the DIRM Process Flow"
    srcset="
      /blog/2025-nist-sp-800-63-4/dirm_hu_3a6685cf5a161d76.webp  330w,
      /blog/2025-nist-sp-800-63-4/dirm_hu_92f932303615c53e.webp  660w,
      /blog/2025-nist-sp-800-63-4/dirm_hu_540bb112af8b1605.webp  960w,
      /blog/2025-nist-sp-800-63-4/dirm_hu_9a41d7aeeee80de3.webp 1280w,
      /blog/2025-nist-sp-800-63-4/dirm_hu_9cfcbc73f4540d96.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/2025-nist-sp-800-63-4/dirm.png"
    src="/blog/2025-nist-sp-800-63-4/dirm.png">


  
    <figcaption>High-level diagram of the DIRM Process Flow</figcaption>
</figure>

<h3 class="relative group">The end of password expiration
    <div id="the-end-of-password-expiration" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-end-of-password-expiration" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p><strong>NIST SP 800-63-4 definitively ends the era of passwords expiring every 90 days</strong><sup id="fnref2:11"><a href="#fn:11" class="footnote-ref" role="doc-noteref">11</a></sup>, based on a decade of behavioral research showing such practices adversely affect security.</p>
<p>Studies cited by NIST demonstrate forced password expiration systematically leads to:</p>
<ul>
<li><strong>Predictable incremental patterns</strong> (password123, password124, etc.)</li>
<li><strong>Cross-system reuse</strong> to reduce cognitive load</li>
<li><strong>Voluntary weakening</strong> of passwords to ease memorization</li>
<li><strong>Shadow IT behaviors</strong> like writing down passwords in insecure locations, or non-approved Password Managers</li>
</ul>
<p>The modern approach favors <strong>complex yet stable passwords</strong>, supported by continuous monitoring systems that identify compromise indicators without requiring arbitrary rotation<sup id="fnref:16"><a href="#fn:16" class="footnote-ref" role="doc-noteref">16</a></sup>.</p>
<p>This paradigm shift aligns perfectly with Okta’s strategy, where <a href="https://www.okta.com/products/identity-security-posture-management/"  target="_blank" rel="noreferrer">Okta Identity Security Posture Management</a> continuously provides visibility into credential-related risks through:</p>
<ul>
<li><strong>Breach database correlation</strong> for compromised password detection</li>
<li><strong>Weakness analysis</strong> based on entropy and pattern recognition</li>
<li><strong>Usage analytics</strong> for identifying dormant accounts or login anomalies</li>
<li><strong>Automated compliance reporting</strong> for audit and governance</li>
</ul>
<p><strong>Okta and Auth0 further strengthen this approach through Breached Password Detection capabilities</strong>, automatically scanning credentials against comprehensive databases of compromised passwords, eliminating the need for arbitrary password rotation while maintaining robust security posture.</p>

<h3 class="relative group">Phishing-Resistant Authentication
    <div id="phishing-resistant-authentication" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#phishing-resistant-authentication" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>One of the most significant revolution is the <strong>mandatory introduction of phishing-resistant options for AAL2</strong><sup id="fnref1:12"><a href="#fn:12" class="footnote-ref" role="doc-noteref">12</a></sup>, a direct response to attacks showing traditional controls&rsquo; ineffectiveness against sophisticated phishing campaigns.</p>
<p>Phishing-resistant authenticators rely on <strong>cryptographic proof of origin</strong> that mathematically binds authentication to the application’s specific domain. This entails:</p>
<ul>
<li><strong>Origin binding</strong> through TLS channel attestation</li>
<li><strong>Public-key challenge-response protocols</strong></li>
<li><strong>Replay protection</strong> via cryptographic nonces</li>
<li><strong>Device attestation</strong> to verify authenticator integrity</li>
</ul>
<p><strong><a href="https://www.okta.com/products/fastpass/"  target="_blank" rel="noreferrer">Okta FastPass</a> is the most advanced market implementation of this paradigm in the enterprise.</strong> Built on FIDO2/WebAuthn principles but extended across the Okta app ecosystem, FastPass features:</p>
<ul>
<li><strong>Device-bound cryptographic keys</strong> generated and stored in hardware security modules</li>
<li><strong>Automatic origin verification</strong> preventing man-in-the-middle attacks</li>
<li><strong>Transparent fallback mechanisms</strong> for legacy applications</li>
<li><strong>Centralized policy management</strong> for scalable deployment<sup id="fnref:17"><a href="#fn:17" class="footnote-ref" role="doc-noteref">17</a></sup></li>
</ul>
<p>Native integration with the Okta ecosystem means FastPass works immediately with thousands of SaaS applications without app modifications — a competitive advantage over traditional FIDO2 implementations needing per-app integration.</p>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="How FastPass works to prevent Phishing attacks"
    srcset="
      /blog/2025-nist-sp-800-63-4/okta-fastpass-diagram_hu_e28af8ac1cf517db.webp  330w,
      /blog/2025-nist-sp-800-63-4/okta-fastpass-diagram_hu_4b289aa0b86d7c53.webp  660w,
      /blog/2025-nist-sp-800-63-4/okta-fastpass-diagram_hu_d17e2a6db7488578.webp  960w,
      /blog/2025-nist-sp-800-63-4/okta-fastpass-diagram_hu_786bf30d2f4772f6.webp 1280w,
      /blog/2025-nist-sp-800-63-4/okta-fastpass-diagram_hu_5a21b949febaf39a.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/2025-nist-sp-800-63-4/okta-fastpass-diagram.png"
    src="/blog/2025-nist-sp-800-63-4/okta-fastpass-diagram.png">


  
    <figcaption>How FastPass works to prevent Phishing attacks - <a href="https://www.okta.com/blog/2022/11/a-deep-dive-into-okta-fastpass/"  target="_blank" rel="noreferrer">A Deep Dive Into Okta FastPass</a></figcaption>
</figure>

<h3 class="relative group">Syncable Authenticators / Passkeys
    <div id="syncable-authenticators--passkeys" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#syncable-authenticators--passkeys" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p><strong>NIST SP 800-63-4 explicitly introduces support for &ldquo;Syncable Authenticators&rdquo;</strong><sup id="fnref1:13"><a href="#fn:13" class="footnote-ref" role="doc-noteref">13</a></sup>, an innovative category solving the portability problem of cryptographic credentials across multiple devices while maintaining high security standards.</p>
<p>Specific requirements for syncable authenticators include<sup id="fnref:18"><a href="#fn:18" class="footnote-ref" role="doc-noteref">18</a></sup>:</p>
<ul>
<li><strong>End-to-end encryption</strong> during synchronization</li>
<li><strong>Device attestation</strong> for every endpoint accessing keys</li>
<li><strong>Secure key derivation</strong> preventing key extraction</li>
<li><strong>Audit logging</strong> to track synchronization events</li>
</ul>
<p>Passkeys represent the most mature implementation of this concept, combining FIDO2/WebAuthn security with cloud-based syncing managed by platforms (iCloud Keychain, Google Password Manager, Microsoft Authenticator).</p>
<p><strong>Okta offers the most comprehensive enterprise passkey support on the IAM market</strong>, featuring:</p>
<ul>
<li><strong>Cross-platform registration flows</strong> adapting automatically to device capabilities</li>
<li><strong>Intelligent fallback chains</strong> guiding users to the most secure available authenticator</li>
<li><strong>Enterprise policy controls</strong> governing passkey usage in business contexts</li>
<li><strong>Analytics and adoption tracking</strong> to measure deployment success<sup id="fnref:19"><a href="#fn:19" class="footnote-ref" role="doc-noteref">19</a></sup></li>
</ul>
<p>Okta manages user experience complexities automatically, such as handling access from unsynced devices and migrating users gradually from legacy authenticators.</p>

<h3 class="relative group">Connected Authenticators
    <div id="connected-authenticators" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#connected-authenticators" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>&ldquo;<strong>Connected Authenticators</strong>&rdquo; represent the natural evolution of traditional hardware tokens, encompassing devices connecting via USB, NFC, or Bluetooth but implementing modern cryptographic protocols<sup id="fnref:20"><a href="#fn:20" class="footnote-ref" role="doc-noteref">20</a></sup>.</p>
<p><strong>NIST SP 800-63-4 recognizes these devices as the gold standard for AAL3</strong>, especially in high-risk contexts where physical authenticator separation is critical. Benefits include:</p>
<ul>
<li><strong>Hardware-based key storage</strong> preventing key extraction even after device compromise</li>
<li><strong>Tamper resistance</strong> certified under FIPS 140-2 Level 2+</li>
<li><strong>Multi-protocol support</strong> for legacy and modern application compatibility</li>
<li><strong>Enterprise management capabilities</strong> for bulk provisioning and lifecycle management</li>
</ul>
<p><strong>Okta’s connected authenticator integration is native and comprehensive</strong>, covering the entire available hardware security key ecosystem, with particular excellence in YubiKey support:</p>

<h4 class="relative group">YubiKey Example
    <div id="yubikey-example" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#yubikey-example" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p><strong>Okta provides the market’s most advanced support for <a href="https://www.okta.com/partners/yubico/"  target="_blank" rel="noreferrer">Yubico YubiKey</a> devices</strong>, managing the full lifecycle with enterprise-grade features:</p>
<ul>
<li><strong>Pre-enrollment &amp; distribution</strong>
<ul>
<li>Centralized bulk provisioning of hundreds/thousands of YubiKeys</li>
<li>Secure direct-to-employee shipping with verifiable chain of custody</li>
<li>Automatic activation on receipt, no IT intervention</li>
<li>Custom packaging with corporate branding</li>
</ul>
</li>
<li><strong>Lifecycle management</strong>
<ul>
<li>Automated inventory tracking and usage monitoring</li>
<li>Backup policies requiring multiple keys per critical user</li>
<li>Automated replacement workflows for lost/damaged devices</li>
<li>Compliance reporting for audit trails</li>
</ul>
</li>
<li><strong>Technical integration</strong>
<ul>
<li>Full FIDO2/WebAuthn support across all YubiKey models</li>
<li>PIV/smart-card compatibility for government use cases</li>
<li>Legacy OTP modes for older applications</li>
<li>Mobile NFC authentication</li>
</ul>
</li>
<li><strong>User experience</strong>
<ul>
<li>Guided setup wizard and automated troubleshooting</li>
<li>Certified multi-browser support</li>
<li>Offline authentication capability</li>
</ul>
</li>
</ul>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="Yubikey FIDO2 Pre-reg with Okta Workflows"
    srcset="
      /blog/2025-nist-sp-800-63-4/yubikey-okta_hu_5480e22aab528973.webp  330w,
      /blog/2025-nist-sp-800-63-4/yubikey-okta_hu_a36ba65facfed7ce.webp  660w,
      /blog/2025-nist-sp-800-63-4/yubikey-okta_hu_a5cd838b466c9046.webp  960w,
      /blog/2025-nist-sp-800-63-4/yubikey-okta_hu_b7ddb56e07d90070.webp 1280w,
      /blog/2025-nist-sp-800-63-4/yubikey-okta_hu_c57e990436b3e891.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/2025-nist-sp-800-63-4/yubikey-okta.png"
    src="/blog/2025-nist-sp-800-63-4/yubikey-okta.png">


  
</figure>
<p>Okta’s approach transforms a traditionally complex and labor-intensive process into an automated, scalable experience, significantly reducing deployment costs and improving user adoption.</p>

<h3 class="relative group">Biometrics Delegation: pragmatism in Platform Trust
    <div id="biometrics-delegation-pragmatism-in-platform-trust" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#biometrics-delegation-pragmatism-in-platform-trust" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Rather than mandating detailed biometric standards, NIST SP 800-63B focuses on accuracy, privacy, and liveness detection requirements, allowing organizations to leverage proven platform-level implementations<sup id="fnref:21"><a href="#fn:21" class="footnote-ref" role="doc-noteref">21</a></sup>:</p>
<ul>
<li><strong>Apple Secure Enclave</strong> for on-device fingerprint/Face ID processing<sup id="fnref:22"><a href="#fn:22" class="footnote-ref" role="doc-noteref">22</a></sup></li>
<li><strong>Windows Hello</strong> with TPM-backed anti-spoofing<sup id="fnref:23"><a href="#fn:23" class="footnote-ref" role="doc-noteref">23</a></sup></li>
<li><strong>Android StrongBox</strong> for isolated biometric template storage<sup id="fnref:24"><a href="#fn:24" class="footnote-ref" role="doc-noteref">24</a></sup></li>
<li><strong>Samsung Knox</strong> for hardware-backed biometric verification<sup id="fnref:25"><a href="#fn:25" class="footnote-ref" role="doc-noteref">25</a></sup></li>
</ul>
<p>This pragmatic approach lets enterprises benefit from the billions invested by platform vendors in biometric security, rather than reinventing complex systems in-house.</p>
<p><strong><a href="https://www.okta.com/security-features/"  target="_blank" rel="noreferrer">Okta Verify leverages this evolution</a></strong>, providing seamless integration with all major platform authenticators, ensuring optimal user experience without compromising security. Features include:</p>
<ul>
<li><strong>Automatic platform detection</strong> for optimal authenticator selection</li>
<li><strong>Progressive enhancement</strong> using available biometric capabilities</li>
<li><strong>Fallback mechanisms</strong> for devices without biometric support</li>
<li><strong>Policy controls</strong> governing biometric use per security level</li>
</ul>

<h3 class="relative group">SMS OTP Deprecation
    <div id="sms-otp-deprecation" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#sms-otp-deprecation" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>The decision to <strong>further restrict the use of SMS and voice OTP</strong><sup id="fnref1:14"><a href="#fn:14" class="footnote-ref" role="doc-noteref">14</a></sup> responds to concrete evidence of compromise. SIM swapping attacks have exploded globally, with the UK experiencing a staggering <strong>1,055% surge in unauthorized SIM swaps in 2024</strong> according to Cifas, rising from just 289 cases in 2023 to almost 3,000 cases<sup id="fnref:26"><a href="#fn:26" class="footnote-ref" role="doc-noteref">26</a></sup>. Meanwhile, <strong>SS7-based exploits continue to enable real-time SMS interception</strong><sup id="fnref:27"><a href="#fn:27" class="footnote-ref" role="doc-noteref">27</a></sup>.</p>
<p><strong>NIST SP 800-63-4 specifies SMS OTP can only be used if</strong>:</p>
<ul>
<li>The organization implements real-time anti-fraud monitoring</li>
<li>A documented risk assessment process is in place for each deployment</li>
<li>Compensating controls mitigate known vulnerabilities</li>
</ul>
<p>These requirements make SMS OTP deployment so complex that it&rsquo;s practically inadvisable for most enterprise organizations.</p>

<h2 class="relative group">Implementation Challenges
    <div id="implementation-challenges" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#implementation-challenges" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>Adopting NIST SP 800-63-4 involves complexities requiring strategic planning and disciplined execution. The <strong>three main challenge areas</strong> include:</p>
<ol>
<li><strong>Legacy Application Modernization</strong> - Most enterprise applications lack native support for modern authentication protocols. Migration strategy should consider:
<ul>
<li><strong>Implementing identity gateways</strong> to wrap legacy authentication flows - solutions like <a href="https://www.okta.com/products/access-gateway/"  target="_blank" rel="noreferrer">Okta Access Gateway</a> provide seamless integration with legacy applications without requiring code modifications</li>
<li><strong>Progressive enhancement</strong> gradually introducing phishing resistance</li>
<li><strong>User education campaigns</strong> for smooth transitions to new methods</li>
<li><strong>Risk assessment frameworks</strong> for prioritizing application migration</li>
</ul>
</li>
<li><strong>Organizational Change Management</strong> - Transitioning to passwordless and phishing-resistant authentication requires <strong>cultural transformation</strong> beyond technology adoption:
<ul>
<li><strong>Executive sponsorship</strong> to drive organization-wide adoption</li>
<li><strong>Training programs</strong> for IT staff on new protocols and troubleshooting</li>
<li><strong>Scalable user support</strong> to manage increased help desk volume during migration</li>
<li><strong>Defining success metrics</strong> to measure adoption and security improvements</li>
</ul>
</li>
<li><strong>Compliance Orchestration</strong> - Multi-jurisdictional organizations must <strong>orchestrate compliance requirements</strong> across frameworks:
<ul>
<li><strong>Mapping NIST SP 800-63-4 controls</strong> to regional requirements (NIS2, DORA, etc.)</li>
<li><strong>Automating evidence collection</strong> for audit preparation</li>
<li><strong>Policy harmonization</strong> to avoid conflicting requirements</li>
<li><strong>Vendor assessment processes</strong> ensuring solution compliance</li>
</ul>
</li>
</ol>

<h2 class="relative group">The role of Integrated Platforms
    <div id="the-role-of-integrated-platforms" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-role-of-integrated-platforms" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p><strong>Fragmented implementation of NIST SP 800-63-4 requirements across multiple vendors introduces operational complexity and security gaps</strong> potentially compromising the entire security strategy.</p>
<p>Gartner research shows organizations with more than five identity vendors spend 40% of their security budget on integration and maintenance, leaving insufficient resources for innovation and threat response<sup id="fnref:28"><a href="#fn:28" class="footnote-ref" role="doc-noteref">28</a></sup>.</p>
<p><strong>The strategic response is a unified platform approach</strong> managing the entire digital identity lifecycle through:</p>
<ul>
<li><strong>Single pane of glass management</strong> reducing operational overhead</li>
<li><strong>Native protocol integration</strong> eliminating custom development</li>
<li><strong>Unified analytics and reporting</strong> for complete security posture visibility</li>
<li><strong>Scalable deployment models</strong> supporting organizational growth</li>
</ul>
<p>The Okta ecosystem delivers this integration via:</p>
<ul>
<li><strong><a href="https://www.okta.com/products/workforce-identity/"  target="_blank" rel="noreferrer">Okta Workforce Identity</a></strong>:</li>
<li><strong><a href="https://auth0.com/"  target="_blank" rel="noreferrer">Auth0</a></strong></li>
<li><strong><a href="https://www.okta.com/products/fastpass/"  target="_blank" rel="noreferrer">Okta FastPass</a></strong></li>
<li><strong><a href="https://www.okta.com/blog/2023/10/okta-launches-passkey-support/"  target="_blank" rel="noreferrer">Native passkey support</a></strong></li>
<li><strong><a href="https://www.okta.com/products/identity-security-posture-management/"  target="_blank" rel="noreferrer">Okta Identity Security Posture Management (ISPM)</a></strong></li>
<li><strong><a href="https://www.okta.com/products/identity-threat-protection/"  target="_blank" rel="noreferrer">Okta Identity Threat Protection (ITP)</a></strong></li>
</ul>
<p>These solutions embody Okta’s **<a href="https://www.okta.com/secure-identity-commitment/"  target="_blank" rel="noreferrer">Secure Identity Commitment</a>**m — delivering market-leading products and services, championing customer best practices, and fostering an open identity community that continuously advances security standards.</p>

<h2 class="relative group">Business Impact
    <div id="business-impact" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#business-impact" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>Implementing NIST SP 800-63-4 through integrated platforms delivers <strong>measurable ROI</strong> across multiple vectors:</p>
<ul>
<li><strong>Security ROI</strong>
<ul>
<li><strong>Breach prevention</strong>: The 2024 Verizon Data Breach Investigations Report shows that 68% of breaches involve the human element, with credential-based attacks being the most common vector<sup id="fnref:29"><a href="#fn:29" class="footnote-ref" role="doc-noteref">29</a></sup></li>
<li><strong>Incident response reduction</strong>: Automated threat detection significantly reduces investigation and response times according to industry studies<sup id="fnref:30"><a href="#fn:30" class="footnote-ref" role="doc-noteref">30</a></sup></li>
<li><strong>Compliance automation</strong>: Organizations report substantial reductions in audit preparation time with automated evidence collection<sup id="fnref:31"><a href="#fn:31" class="footnote-ref" role="doc-noteref">31</a></sup></li>
</ul>
</li>
<li><strong>Operational ROI</strong>
<ul>
<li><strong>Help desk reduction</strong>: Gartner research indicates that 20-50% of help desk calls are password-related, with each reset costing organizations $70 on average<sup id="fnref:32"><a href="#fn:32" class="footnote-ref" role="doc-noteref">32</a></sup></li>
<li><strong>Provisioning automation</strong>: Forrester research shows enterprise identity platforms can save organizations significant operational costs through automation<sup id="fnref:33"><a href="#fn:33" class="footnote-ref" role="doc-noteref">33</a></sup></li>
<li><strong>Vendor consolidation</strong>: Multiple identity vendors create operational overhead and integration complexity<sup id="fnref:34"><a href="#fn:34" class="footnote-ref" role="doc-noteref">34</a></sup></li>
</ul>
</li>
<li><strong>User Experience ROI</strong>
<ul>
<li><strong>Productivity improvement</strong>: Studies show employees spend approximately 11 hours annually managing passwords and authentication<sup id="fnref:35"><a href="#fn:35" class="footnote-ref" role="doc-noteref">35</a></sup></li>
<li><strong>Mobile experience optimization</strong>: Native platform authenticators reduce authentication friction</li>
<li><strong>Adoption acceleration</strong>: Okta customer studies demonstrate improved user satisfaction with modern authentication methods<sup id="fnref:36"><a href="#fn:36" class="footnote-ref" role="doc-noteref">36</a></sup></li>
</ul>
</li>
</ul>

<h2 class="relative group">Preparing for the future
    <div id="preparing-for-the-future" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#preparing-for-the-future" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p><strong>NIST SP 800-63-4 lays the foundation for future security evolutions</strong>, with emerging trends shaping the next generation:</p>
<ul>
<li><strong>Quantum-Resistant Cryptography or Post-Quantum cryptography (PQC)</strong>
While NIST SP 800-63-4 emphasizes cryptographic agility, organizations should note that NIST is actively preparing for post-quantum cryptography transitions through separate initiatives, with implementation expected by 2030<sup id="fnref:37"><a href="#fn:37" class="footnote-ref" role="doc-noteref">37</a></sup>.<br/>
<strong>Okta Ventures has identified post-quantum cryptography as one of five key focus areas for 2025</strong>, actively seeking innovative companies with unique approaches to future-proof identity infrastructure against quantum threats. Recent breakthroughs from leading quantum computing research have accelerated timelines, making post-quantum readiness more urgent than previously anticipated<sup id="fnref:38"><a href="#fn:38" class="footnote-ref" role="doc-noteref">38</a></sup>.</li>
<li><strong>Decentralized Identity Models</strong><br/>
<strong>Verifiable credentials and blockchain-based identity</strong> represent the move toward user-controlled identity, with NIST developing specific guidance for these paradigms<sup id="fnref:39"><a href="#fn:39" class="footnote-ref" role="doc-noteref">39</a></sup>.
Both Okta and Auth0 actively participate in the Decentralized Identity Foundation, contributing to standards development for self-sovereign identity solutions.</li>
<li><strong>Protocol Security Evolution: IPSIE</strong><br/>
The <strong>Interoperability Profiling for Secure Identity in the Enterprise (IPSIE)</strong> initiative represents the maturation of OAuth 2.0 and OpenID Connect for enterprise use. As organizations implement NIST SP 800-63-4&rsquo;s authentication requirements, IPSIE provides critical guidance for secure federation protocol implementation, eliminating common vulnerabilities while ensuring cross-vendor interoperability.</li>
</ul>

<h3 class="relative group">AI-Powered Adaptive Authentication
    <div id="ai-powered-adaptive-authentication" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#ai-powered-adaptive-authentication" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p><strong>NIST SP 800-63-4 formally acknowledges the role of artificial intelligence and machine learning in modern identity systems</strong><sup id="fnref:40"><a href="#fn:40" class="footnote-ref" role="doc-noteref">40</a></sup>, particularly in Section 3.8 which addresses the opportunities and risks of AI/ML integration. The guidelines emphasize that AI systems should enhance rather than replace traditional security controls, while ensuring transparency and accountability in automated decision-making processes.</p>
<p>The NIST framework specifically calls for organizations to:</p>
<ul>
<li><strong>Implement explainable AI models</strong> that can provide clear rationale for authentication decisions</li>
<li><strong>Establish human oversight mechanisms</strong> for high-risk automated decisions</li>
<li><strong>Continuously validate AI model performance</strong> against evolving threat patterns</li>
<li><strong>Ensure fairness and avoid bias</strong> in AI-driven risk assessments</li>
</ul>









<figure>
      
  <img
    class="my-0 rounded-md"
    loading="lazy"
    decoding="async"
    fetchpriority="low"
    alt="Okta ITP - Identity Threat Protection with Okta AI"
    srcset="
      /blog/2025-nist-sp-800-63-4/itp-ai1_hu_e7969c6bd79b2825.webp  330w,
      /blog/2025-nist-sp-800-63-4/itp-ai1_hu_e895b2cc15261c68.webp  660w,
      /blog/2025-nist-sp-800-63-4/itp-ai1_hu_da84d80315fa6103.webp  960w,
      /blog/2025-nist-sp-800-63-4/itp-ai1_hu_fc2067bb44367178.webp 1280w,
      /blog/2025-nist-sp-800-63-4/itp-ai1_hu_a83dc25acaee0da.webp 1920w
    "
    sizes="(min-width: 1920px) 1920px, (min-width: 1280px) 1280px, (min-width: 960px) 960px, (min-width: 768px) 660px, 100vw"
    data-zoom-src="/blog/2025-nist-sp-800-63-4/itp-ai1.png"
    src="/blog/2025-nist-sp-800-63-4/itp-ai1.png">


  
</figure>
<p>This guidance aligns perfectly with <strong><a href="https://www.okta.com/products/identity-threat-protection/"  target="_blank" rel="noreferrer">Okta ITP - Identity Threat Protection with Okta AI</a></strong>, which exemplifies enterprise-grade AI implementation for identity security. ITP leverages machine learning models trained on Okta&rsquo;s global threat intelligence network, analyzing over 2.5 billion authentication events daily to provide:</p>
<ul>
<li><strong>Behavioral baseline establishment</strong> for each user-device combination</li>
<li><strong>Real-time risk scoring</strong> based on contextual anomalies and threat indicators</li>
<li><strong>Automated threat response</strong> with configurable policies for different risk levels</li>
<li><strong>Explainable security decisions</strong> through detailed risk factor breakdowns for security teams</li>
</ul>
<p>The integration of NIST&rsquo;s AI governance principles with Okta&rsquo;s practical implementation demonstrates how organizations can leverage AI to enhance security while maintaining the transparency and accountability requirements outlined in the federal guidelines.</p>
<hr>

<h2 class="relative group">Conclusions
    <div id="conclusions" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#conclusions" aria-label="Anchor">#</a>
    </span>
    
</h2>

<figure>
        <img
          class="my-0 rounded-md w-50 float-right"
          loading="lazy"
          decoding="async"
          fetchpriority="auto"
          alt="Suspicious Page Detected - Okta Verify Phishing Resistance"
          width="348"
          height="714"
          src="/blog/2025-nist-sp-800-63-4/okta-fastpass-1_hu_edb70a2ee8a9e628.png"
          srcset="/blog/2025-nist-sp-800-63-4/okta-fastpass-1_hu_edb70a2ee8a9e628.png 800w,/blog/2025-nist-sp-800-63-4/okta-fastpass-1_hu_3e7f73f43dda4fb8.png 1280w"
          sizes="(min-width: 768px) 50vw, 65vw"
          data-zoom-src="/blog/2025-nist-sp-800-63-4/okta-fastpass-1.png"
        />
  
  
  </figure>
<p><strong>NIST SP 800-63-4 represents the definitive maturation of the zero-trust paradigm for identity management</strong>, consolidating decades of technological evolution and threat intelligence. The abandonment of legacy practices like forced password expiration, combined with emphasis on phishing-resistant authentication and continuous risk evaluation, sets the new global standard for digital security.</p>
<p><strong>Organizations adopting these principles proactively</strong> not only markedly mitigate cyber risk but position themselves strategically to capitalize on digital transformation opportunities by enabling secure and frictionless user experiences that support business agility.</p>
<p><strong>Key insight for executive leadership</strong> is that implementing NIST SP 800-63-4 is no longer a nice-to-have but a business imperative. Organizations delaying this transition risk:</p>
<ul>
<li><strong>Regulatory compliance gaps</strong> with emerging frameworks</li>
<li><strong>Competitive disadvantages</strong> in user experience</li>
<li><strong>Increased likelihood of security breaches</strong> with associated financial and reputational costs</li>
</ul>
<p>For organizations ready to begin their <strong>NIST SP 800-63-4</strong> implementation journey, Okta provides comprehensive resources and proven solutions to transform compliance requirements into competitive advantages.</p>
<p>The <strong>next article in this series</strong> will dive into <strong>SP 800-63A (Identity Proofing) and SP 800-63C (Federation)</strong>, exploring how NIST SP 800-63-4 redefines identity verification and federation management in multi-cloud, multi-vendor environments, focusing particularly on remote identity proofing requirements and cross-domain assertion management.</p>
<p>Have questions about implementing NIST SP 800-63-4 in your organization? <strong>I&rsquo;d love to hear your thoughts and discuss how these innovations can transform your identity security strategy</strong>. Feel free to reach out through the comments or <a href="/contact/" >connect with me directly</a>.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://www.nist.gov/identity-access-management/projects/nist-special-publication-800-63-digital-identity-guidelines"  target="_blank" rel="noreferrer">NIST Special Publication 800-63 Digital Identity Guidelines</a>&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p><a href="https://pages.nist.gov/800-63-4/sp800-63.html#sec1-2"  target="_blank" rel="noreferrer">NIST SP 800-63-4, Section 1.2: Structure of Special Publication 800-63-4</a>&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:3">
<p><a href="https://pages.nist.gov/800-63-4/sp800-63.html"  target="_blank" rel="noreferrer">NIST Special Publication 800-63-4, Digital Identity Guidelines</a>&#160;<a href="#fnref:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:4">
<p><a href="https://pages.nist.gov/800-63-3/sp800-63a.html"  target="_blank" rel="noreferrer">NIST SP 800-63A-4, Enrollment and Identity Proofing Requirements</a>&#160;<a href="#fnref:4" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:5">
<p><a href="https://pages.nist.gov/800-63-4/sp800-63b.html"  target="_blank" rel="noreferrer">NIST SP 800-63B-4, Authentication and Authenticator Management</a>&#160;<a href="#fnref:5" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref1:5" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:6">
<p><a href="https://pages.nist.gov/800-63-4/sp800-63c.html"  target="_blank" rel="noreferrer">NIST SP 800-63C-4, Federation and Assertions</a>&#160;<a href="#fnref:6" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref1:6" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:7">
<p><a href="https://www.enisa.europa.eu/publications/digital-identity-standards]"  target="_blank" rel="noreferrer">“Digital Identity Standards.”</a> ENISA, July 3 2023&#160;<a href="#fnref:7" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:8">
<p><a href="https://pages.nist.gov/800-63-4/sp800-63b.html#sec4"  target="_blank" rel="noreferrer">NIST SP 800-63B-4, Section 4: Authenticator Assurance Levels</a>&#160;<a href="#fnref:8" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:9">
<p><a href="https://pages.nist.gov/800-63-4/sp800-63.html#conteval"  target="_blank" rel="noreferrer">NIST SP 800-63-4, Section 5.5: Continuous Evaluation of Risk</a>&#160;<a href="#fnref:9" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:10">
<p><a href="https://pages.nist.gov/800-63-4/sp800-63.html#conteval"  target="_blank" rel="noreferrer">NIST SP 800-63-4, Section 5.5: Continuous Evaluation</a>&#160;<a href="#fnref:10" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref1:10" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:11">
<p><a href="https://pages.nist.gov/800-63-4/sp800-63b.html#memsecretver"  target="_blank" rel="noreferrer">NIST SP 800-63B-4, Section 5.1.1.2: Memorized Secret Verifiers</a>&#160;<a href="#fnref:11" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref1:11" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref2:11" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:12">
<p><a href="https://pages.nist.gov/800-63-4/sp800-63b.html#aal2reqs"  target="_blank" rel="noreferrer">NIST SP 800-63B-4, Section 4.2.2: Authenticator Assurance Level 2</a>&#160;<a href="#fnref:12" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref1:12" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:13">
<p><a href="https://pages.nist.gov/800-63-4/sp800-63b.html#mfcsver"  target="_blank" rel="noreferrer">NIST SP 800-63B-4, Section 5.1.7.2: Multi-Factor Cryptographic Software Verifiers</a>&#160;<a href="#fnref:13" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref1:13" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:14">
<p><a href="https://pages.nist.gov/800-63-4/sp800-63b.html#oobauthver"  target="_blank" rel="noreferrer">NIST SP 800-63B-4, Section 5.1.3.2: Out-of-Band Authenticator Verifiers</a>&#160;<a href="#fnref:14" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref1:14" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:15">
<p><a href="https://pages.nist.gov/800-63-4/sp800-63.html#riskprocess"  target="_blank" rel="noreferrer">NIST SP 800-63-4, Section 5.3: Risk Management Process</a>&#160;<a href="#fnref:15" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:16">
<p><a href="https://pages.nist.gov/800-63-4/sp800-63b.html#memsecret"  target="_blank" rel="noreferrer">NIST SP 800-63B-4, Section 5.1.1.1: Memorized Secret Authenticators</a>&#160;<a href="#fnref:16" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:17">
<p><a href="https://pages.nist.gov/800-63-4/sp800-63b.html#sfcs"  target="_blank" rel="noreferrer">NIST SP 800-63B-4, Section 5.2.5: Single-Factor Cryptographic Software Authenticators</a>&#160;<a href="#fnref:17" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:18">
<p><a href="https://pages.nist.gov/800-63-4/sp800-63b.html#mfcs"  target="_blank" rel="noreferrer">NIST SP 800-63B-4, Section 5.1.7.1: Multi-Factor Cryptographic Software Authenticators</a>&#160;<a href="#fnref:18" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:19">
<p><a href="https://pages.nist.gov/800-63-4/sp800-63b.html#lifecycle"  target="_blank" rel="noreferrer">NIST SP 800-63B-4, Section 6: Authenticator Lifecycle Management</a>&#160;<a href="#fnref:19" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:20">
<p><a href="https://pages.nist.gov/800-63-4/sp800-63b.html#sfch"  target="_blank" rel="noreferrer">NIST SP 800-63B-4, Section 5.2.6: Single-Factor Cryptographic Hardware Authenticators</a>&#160;<a href="#fnref:20" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:21">
<p><a href="https://pages.nist.gov/800-63-4/sp800-63b.html#biometric"  target="_blank" rel="noreferrer">NIST SP 800-63B-4, Section 5.2.3: Biometric Authenticators</a>&#160;<a href="#fnref:21" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:22">
<p><a href="https://support.apple.com/guide/security/secure-enclave-sec59b0b31ff/web"  target="_blank" rel="noreferrer">Apple. “Secure Enclave.” Apple Platform Security</a>&#160;<a href="#fnref:22" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:23">
<p><a href="https://docs.microsoft.com/windows/security/identity-protection/hello-for-business/hello-overview"  target="_blank" rel="noreferrer">Microsoft. “Windows Hello security guidance.” Windows Hardware Dev Center</a>&#160;<a href="#fnref:23" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:24">
<p><a href="https://developer.android.com/training/articles/strongbox-keymaster"  target="_blank" rel="noreferrer">Google. “Android StrongBox Keymaster.” Android Developers</a>&#160;<a href="#fnref:24" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:25">
<p><a href="https://www.samsung.com/knox/enterprise/"  target="_blank" rel="noreferrer">Samsung. “Knox Platform for Enterprise.” Samsung Knox</a>&#160;<a href="#fnref:25" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:26">
<p><a href="https://www.cifas.org.uk/newsroom/huge-surge-see-sim-swaps-hit-telco-and-mobile"  target="_blank" rel="noreferrer">Cifas Newsroom, May 7, 2025</a> &ldquo;1055% surge in unauthorised SIM swaps as mobile and telecoms sector hit hard by rising fraud.&rdquo;&#160;<a href="#fnref:26" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:27">
<p><a href="https://support.stripe.com/questions/what-are-ss7-attacks"  target="_blank" rel="noreferrer">Stripe: &ldquo;What are SS7 attacks?&rdquo;</a>&#160;<a href="#fnref:27" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:28">
<p><a href="https://pages.nist.gov/800-63-4/sp800-63b.html#privacy"  target="_blank" rel="noreferrer">NIST SP 800-63B-4, Section 8: Privacy Considerations</a>&#160;<a href="#fnref:28" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:29">
<p><a href="https://www.verizon.com/business/resources/reports/dbir/"  target="_blank" rel="noreferrer">&ldquo;2024 Data Breach Investigations Report&rdquo;</a> Verizon, 2024.&#160;<a href="#fnref:29" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:30">
<p><a href="https://www.sans.org/white-papers/"  target="_blank" rel="noreferrer">SANS Institute. &ldquo;Incident Response Survey Results.&rdquo; SANS, 2024</a>&#160;<a href="#fnref:30" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:31">
<p><a href="https://www.isaca.org/resources/reports"  target="_blank" rel="noreferrer">ISACA. &ldquo;Digital Identity and Trust in the Digital Age.&rdquo; ISACA, 2024.</a>&#160;<a href="#fnref:31" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:32">
<p>Gartner. &ldquo;Market Guide for Identity Governance and Administration.&rdquo; Gartner, 2024.&#160;<a href="#fnref:32" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:33">
<p>Forrester. &ldquo;The State of Enterprise Identity.&rdquo; Forrester Research, 2024.&#160;<a href="#fnref:33" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:34">
<p>IDC. &ldquo;Identity Management Platform Market Analysis.&rdquo; IDC, 2024.&#160;<a href="#fnref:34" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:35">
<p>Ponemon Institute. &ldquo;Cost of Identity Management Study.&rdquo; Ponemon Institute, 2024.&#160;<a href="#fnref:35" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:36">
<p><a href="https://www.okta.com/resources/whitepaper/the-state-of-secure-identity-report/"  target="_blank" rel="noreferrer">Okta. &ldquo;The State of Secure Identity Report.&rdquo;</a> Okta, 2024.&#160;<a href="#fnref:36" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:37">
<p><a href="https://csrc.nist.gov/pubs/ir/8547/ipd"  target="_blank" rel="noreferrer">NIST IR 8547 (Initial Public Draft), Transition to Post-Quantum Cryptography Standards</a>&#160;<a href="#fnref:37" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:38">
<p><a href="https://www.okta.com/blog/2025/04/okta-ventures-request-for-builders-five-key-focus-areas-in-identity-and-security/"  target="_blank" rel="noreferrer">Okta Ventures. &ldquo;Request for Builders: Five key focus areas in Identity and security.&rdquo;</a> Okta Blog, April 2025.&#160;<a href="#fnref:38" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:39">
<p><a href="https://pages.nist.gov/800-63-4/sp800-63.html#references"  target="_blank" rel="noreferrer">NIST SP 800-63-4, Section 9: References</a>&#160;<a href="#fnref:39" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:40">
<p><a href="https://pages.nist.gov/800-63-4/sp800-63.html#AI"  target="_blank" rel="noreferrer">NIST SP 800-63-4, Section 3.8: Artificial Intelligence and Machine Learning in Identity Systems</a>&#160;<a href="#fnref:40" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
      <category>NIST</category>
      <category>SP800-63</category>
      <category>Okta</category>
      <category>Cybersecurity</category>
      <category>IAM</category>
      <category>Authentication</category>
      <category>Phishing-Resistant</category>
      <category>Passkeys</category>
      <category>Digital Identity Risk Management</category>
      <category>DIRM</category>
    </item>
  </channel>
</rss>