<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: theauthkid</title>
    <description>The latest articles on DEV Community by theauthkid (@authkid).</description>
    <link>https://dev.to/authkid</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3953696%2Ffe57e4c7-adea-4931-899c-e4932e3b2cfe.png</url>
      <title>DEV Community: theauthkid</title>
      <link>https://dev.to/authkid</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/authkid"/>
    <language>en</language>
    <item>
      <title>OAuth Scopes Made Sense to Me. Then I Learned About Cedar Policies.</title>
      <dc:creator>theauthkid</dc:creator>
      <pubDate>Fri, 16 Oct 2026 07:21:03 +0000</pubDate>
      <link>https://dev.to/authkid/oauth-scopes-made-sense-to-me-then-i-learned-about-cedar-policies-1051</link>
      <guid>https://dev.to/authkid/oauth-scopes-made-sense-to-me-then-i-learned-about-cedar-policies-1051</guid>
      <description>&lt;h2&gt;
  
  
  Understanding why modern authorization sometimes needs more than roles, scopes, and permissions.
&lt;/h2&gt;

&lt;p&gt;Working around authentication and identity products has taught me that there’s almost always another layer to understand.&lt;/p&gt;

&lt;p&gt;Authentication was relatively straightforward for me.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who are you?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Then came authorization.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now that we know who you are, what are you actually allowed to do?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;OAuth scopes helped me understand that part.&lt;/p&gt;

&lt;p&gt;A token might have permission to &lt;code&gt;read:billing&lt;/code&gt;, for example. If it doesn't have that scope, it shouldn't be able to perform that action.&lt;/p&gt;

&lt;p&gt;Simple enough.&lt;/p&gt;

&lt;p&gt;But then I came across a question that made me realize scopes don't tell the whole story:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What if someone should have access to billing, but only under certain conditions?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Maybe they can access it only during business hours.&lt;/p&gt;

&lt;p&gt;Maybe the request needs to come from an approved network.&lt;/p&gt;

&lt;p&gt;Maybe the person also needs to belong to a particular group.&lt;/p&gt;

&lt;p&gt;Now the authorization question isn't simply:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can this token read billing data?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It becomes:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can this particular user perform this particular action on this resource under these particular conditions?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That's the problem that helped me understand why policy-based authorization exists.&lt;/p&gt;

&lt;p&gt;And eventually, why Cedar started making sense to me.&lt;/p&gt;

&lt;h2&gt;
  
  
  First, What Is Cedar?
&lt;/h2&gt;

&lt;p&gt;Cedar is an open-source policy language created by AWS for fine-grained authorization.&lt;/p&gt;

&lt;p&gt;The easiest way I found to think about it is this:&lt;/p&gt;

&lt;p&gt;Instead of burying every access rule inside application logic, you describe the conditions under which access should be allowed or denied as policies.&lt;/p&gt;

&lt;p&gt;A policy engine then evaluates those rules when an access decision needs to be made.&lt;/p&gt;

&lt;p&gt;One distinction is important here:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cedar evaluates the authorization request. It doesn't enforce access itself.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It looks at the request and applicable policies and returns an allow or deny decision. The surrounding system then acts on that decision.&lt;/p&gt;

&lt;p&gt;What I find useful about this model is that the access rule becomes much easier to reason about.&lt;/p&gt;

&lt;p&gt;Instead of thinking through conditions scattered across different pieces of code, you're answering a structured authorization question.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Four Parts of an Authorization Decision
&lt;/h2&gt;

&lt;p&gt;One concept made Cedar much easier for me to understand.&lt;/p&gt;

&lt;p&gt;An authorization request can be thought about using four pieces:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Principal: Who is making the request?
&lt;/h3&gt;

&lt;p&gt;This could be a user, service, workload, or another identity requesting access.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Action: What are they trying to do?
&lt;/h3&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;read&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;update&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;delete&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Resource: What are they trying to access?
&lt;/h3&gt;

&lt;p&gt;This could be an invoice, API, document, account, or another protected resource.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Context: What else about the request matters?
&lt;/h3&gt;

&lt;p&gt;This is where additional information can become part of the authorization decision, such as the time of the request or where the request is coming from.&lt;/p&gt;

&lt;p&gt;Put those four together and the question becomes:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Who can do what, to which resource, and under what conditions?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That framing made policy-based authorization much less abstract for me.&lt;/p&gt;

&lt;h2&gt;
  
  
  So, Why Aren't OAuth Scopes Enough?
&lt;/h2&gt;

&lt;p&gt;This was probably the most useful distinction for me.&lt;/p&gt;

&lt;p&gt;Scopes and audiences already solve important problems.&lt;/p&gt;

&lt;p&gt;An &lt;strong&gt;audience&lt;/strong&gt; can indicate which API a token is intended for.&lt;/p&gt;

&lt;p&gt;A &lt;strong&gt;scope&lt;/strong&gt; can indicate what the token is allowed to do.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;read:billing
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That works when the rule is simply:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This client can read billing information.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But real access requirements can become more specific.&lt;/p&gt;

&lt;p&gt;Maybe the actual requirement is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Allow billing access only for members of the admin group.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Or:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Allow access only during a particular time window.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Or:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Allow access only when the request comes from an approved network.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The scope hasn't changed. It's still:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;read:billing
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;What changed are the &lt;strong&gt;conditions under which that permission should be granted&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And that's where relying only on static scopes starts becoming limiting.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Happens Without a Policy Layer?
&lt;/h2&gt;

&lt;p&gt;Those additional authorization checks still have to live somewhere.&lt;/p&gt;

&lt;p&gt;An API gateway might check the IP address.&lt;/p&gt;

&lt;p&gt;Middleware might check the time.&lt;/p&gt;

&lt;p&gt;Application code might check the user's group.&lt;/p&gt;

&lt;p&gt;Individually, every check can make sense.&lt;/p&gt;

&lt;p&gt;The problem appears when you try to understand the complete access rule.&lt;/p&gt;

&lt;p&gt;Imagine someone asks:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Who can access this API, and under exactly what conditions?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If those conditions are spread across gateways, middleware, and application code, there may not be one obvious place to find the answer.&lt;/p&gt;

&lt;p&gt;You have to trace it across the system.&lt;/p&gt;

&lt;p&gt;From a product perspective, this is what I find interesting about authorization.&lt;/p&gt;

&lt;p&gt;It's not only about whether a system &lt;strong&gt;can enforce a rule&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It's also about whether teams can &lt;strong&gt;understand the rule being enforced&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That's one of the ideas behind using policies.&lt;/p&gt;

&lt;p&gt;Instead of distributing every authorization condition across different pieces of logic, policies provide a way to express those rules more explicitly.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Cedar Thinks About Allow and Deny
&lt;/h2&gt;

&lt;p&gt;At a basic level, Cedar policies use two important effects:&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;permit&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;A &lt;code&gt;permit&lt;/code&gt; policy describes when an action should be allowed.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;forbid&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;A &lt;code&gt;forbid&lt;/code&gt; policy describes when an action should explicitly be denied.&lt;/p&gt;

&lt;p&gt;Cedar evaluates those policies against the principal, action, resource, and context of the request.&lt;/p&gt;

&lt;p&gt;There are three behaviors I found particularly useful to understand.&lt;/p&gt;

&lt;h3&gt;
  
  
  Access is denied by default
&lt;/h3&gt;

&lt;p&gt;If no applicable policy permits the request, access is denied.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;forbid&lt;/code&gt; takes priority
&lt;/h3&gt;

&lt;p&gt;If an applicable policy permits something but another applicable policy forbids it, the request is denied.&lt;/p&gt;

&lt;h3&gt;
  
  
  Policies are order-independent
&lt;/h3&gt;

&lt;p&gt;The result doesn't depend on which policy happens to appear first.&lt;/p&gt;

&lt;p&gt;You don't need to know the entire Cedar syntax to understand why these behaviors matter.&lt;/p&gt;

&lt;p&gt;They make the authorization model more predictable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where I Came Across Cedar
&lt;/h2&gt;

&lt;p&gt;I started looking more closely at Cedar through my work around MonoCloud.&lt;/p&gt;

&lt;p&gt;MonoCloud uses Cedar for API Access Policies, where policies can be evaluated before an access token is issued.&lt;/p&gt;

&lt;p&gt;This was the part that made the difference between &lt;strong&gt;scopes&lt;/strong&gt; and &lt;strong&gt;policies&lt;/strong&gt; much clearer to me.&lt;/p&gt;

&lt;p&gt;Think about a client requesting:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;read:billing
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The scope still describes the permission being requested.&lt;/p&gt;

&lt;p&gt;But a policy can evaluate whether that permission should actually be granted under the current conditions.&lt;/p&gt;

&lt;p&gt;For simpler rules, policies can be configured using structured fields. More advanced rules can use Cedar directly when additional context needs to be evaluated.&lt;/p&gt;

&lt;p&gt;So these two things aren't necessarily competing approaches.&lt;/p&gt;

&lt;p&gt;They answer different questions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scope:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What permission is being requested?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Policy:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Under these conditions, should that permission actually be granted?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That distinction is what finally made the concept click for me.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Simple Way to Think About It
&lt;/h2&gt;

&lt;p&gt;If I had to explain the progression simply, I'd put it like this:&lt;/p&gt;

&lt;h3&gt;
  
  
  Authentication
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Who are you?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;h3&gt;
  
  
  Basic authorization
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What are you allowed to do?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;h3&gt;
  
  
  Context-aware authorization
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Are you allowed to do this specific thing, to this specific resource, under these specific conditions?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Scopes are still useful.&lt;/p&gt;

&lt;p&gt;Roles are still useful.&lt;/p&gt;

&lt;p&gt;Permissions are still useful.&lt;/p&gt;

&lt;p&gt;Policies become valuable when the answer starts depending on more context.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Took Away From Learning About Cedar
&lt;/h2&gt;

&lt;p&gt;Before working around identity products, I mostly thought about authorization in terms of roles and permissions.&lt;/p&gt;

&lt;p&gt;Admin can do X.&lt;/p&gt;

&lt;p&gt;User can do Y.&lt;/p&gt;

&lt;p&gt;This token has this scope.&lt;/p&gt;

&lt;p&gt;Those models still matter.&lt;/p&gt;

&lt;p&gt;But the more I've learned about authorization, the more I've realized that some of the difficult questions begin &lt;strong&gt;after&lt;/strong&gt; you've established the basic permission.&lt;/p&gt;

&lt;p&gt;Can they do it &lt;strong&gt;right now&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;Can they do it &lt;strong&gt;from here&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;Can they do it &lt;strong&gt;to this resource&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;Does another condition change the decision?&lt;/p&gt;

&lt;p&gt;That's what made policy-based authorization click for me.&lt;/p&gt;

&lt;p&gt;Cedar is one way of expressing those rules in a form that a system can evaluate while keeping the authorization logic explicit and readable.&lt;/p&gt;

&lt;p&gt;And for me, learning it from the product side, that was far more useful than simply memorizing another security term.&lt;/p&gt;

</description>
      <category>cedar</category>
      <category>policies</category>
      <category>authentication</category>
      <category>authorization</category>
    </item>
    <item>
      <title>Why Authentication Is Becoming a Core Product Decision in the Age of AI Agents</title>
      <dc:creator>theauthkid</dc:creator>
      <pubDate>Thu, 27 Aug 2026 06:55:51 +0000</pubDate>
      <link>https://dev.to/authkid/why-authentication-is-becoming-a-core-product-decision-in-the-age-of-ai-agents-570k</link>
      <guid>https://dev.to/authkid/why-authentication-is-becoming-a-core-product-decision-in-the-age-of-ai-agents-570k</guid>
      <description>&lt;p&gt;Nine  months ago, if someone had asked me about OAuth, OIDC, authorization policies, or identity infrastructure, I probably would have smiled, nodded, and quietly changed the subject.&lt;/p&gt;

&lt;p&gt;Today, I spend most of my days working around these concepts.&lt;/p&gt;

&lt;p&gt;I'm a product marketer at MonoCloud, and while I'm not an engineer, I work closely with people building identity infrastructure for users, APIs, services, and AI agents. The more conversations I have, the more architecture diagrams I stare at, and the more product decisions I unpack, the more convinced I become of one thing:&lt;/p&gt;

&lt;p&gt;Authentication is one of the most underestimated challenges in modern SaaS.&lt;/p&gt;

&lt;p&gt;Not because it's new.&lt;/p&gt;

&lt;p&gt;But because the world it was designed for is disappearing.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Original Promise of Authentication
&lt;/h3&gt;

&lt;p&gt;For a long time, authentication was relatively straightforward.&lt;/p&gt;

&lt;p&gt;A user visited an application.&lt;/p&gt;

&lt;p&gt;They entered a username and password.&lt;/p&gt;

&lt;p&gt;The system verified their identity.&lt;/p&gt;

&lt;p&gt;A session was created.&lt;/p&gt;

&lt;p&gt;Access was granted.&lt;/p&gt;

&lt;p&gt;The application knew who the user was, and that was usually enough.&lt;/p&gt;

&lt;p&gt;For many products, authentication was treated as a solved problem. Teams picked a provider, implemented login, issued tokens, and moved on to building features that felt closer to customer value.&lt;/p&gt;

&lt;p&gt;And honestly, that approach made sense.&lt;/p&gt;

&lt;p&gt;The internet was primarily human-driven.&lt;/p&gt;

&lt;p&gt;Humans logged in.&lt;/p&gt;

&lt;p&gt;Humans clicked buttons.&lt;/p&gt;

&lt;p&gt;Humans made decisions.&lt;/p&gt;

&lt;p&gt;The authentication layer existed mainly to answer one question:&lt;br&gt;
"Who is this user?"&lt;/p&gt;

&lt;p&gt;Today, that's no longer sufficient.&lt;/p&gt;

&lt;h2&gt;
  
  
  Modern SaaS Has Changed the Rules
&lt;/h2&gt;

&lt;p&gt;The systems we build today look very different from the systems authentication was originally designed for.&lt;/p&gt;

&lt;p&gt;A modern SaaS product rarely consists of a single user interacting with a single application.&lt;/p&gt;

&lt;p&gt;Instead, we have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI agents performing actions autonomously&lt;/li&gt;
&lt;li&gt;Third-party integrations accessing customer data&lt;/li&gt;
&lt;li&gt;APIs communicating with other APIs&lt;/li&gt;
&lt;li&gt;Multi-tenant architectures serving thousands of organizations&lt;/li&gt;
&lt;li&gt;Distributed services making authorization decisions across environments&lt;/li&gt;
&lt;li&gt;Compliance requirements demanding detailed audit trails&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Identity is no longer just about users.&lt;/p&gt;

&lt;p&gt;It's about everything acting within a system.&lt;/p&gt;

&lt;p&gt;And every new actor introduces new questions.&lt;/p&gt;

&lt;p&gt;Not just who they are.&lt;/p&gt;

&lt;p&gt;But what they're allowed to do.&lt;/p&gt;

&lt;h2&gt;
  
  
  Authentication Is Not Authorization
&lt;/h2&gt;

&lt;p&gt;One of the biggest lessons I've learned while exploring this space is that authentication and authorization are often discussed together but solve very different problems.&lt;/p&gt;

&lt;p&gt;Authentication answers:&lt;br&gt;
Who are you?&lt;/p&gt;

&lt;p&gt;Authorization answers:&lt;br&gt;
What are you allowed to do?&lt;/p&gt;

&lt;p&gt;The distinction sounds obvious until systems become complex.&lt;/p&gt;

&lt;p&gt;A user may be authenticated successfully but still shouldn't have access to sensitive data.&lt;/p&gt;

&lt;p&gt;An integration may be trusted but only for specific operations.&lt;/p&gt;

&lt;p&gt;A service may be legitimate but should only access resources within a defined scope.&lt;/p&gt;

&lt;p&gt;An AI agent may be acting on behalf of a user but shouldn't inherit unlimited permissions simply because the user authenticated earlier.&lt;/p&gt;

&lt;p&gt;The moment we move beyond simple login flows, authorization becomes just as important as authentication.&lt;/p&gt;

&lt;p&gt;And in many cases, significantly harder.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI Agents Are Exposing the Limits of Traditional Models
&lt;/h2&gt;

&lt;p&gt;This becomes even more interesting when AI enters the picture.&lt;/p&gt;

&lt;p&gt;AI agents don't behave like traditional users.&lt;/p&gt;

&lt;p&gt;They're not opening a dashboard once a day and manually completing a workflow.&lt;/p&gt;

&lt;p&gt;They're increasingly being designed to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Execute tasks autonomously&lt;/li&gt;
&lt;li&gt;Interact with multiple systems&lt;/li&gt;
&lt;li&gt;Access external tools&lt;/li&gt;
&lt;li&gt;Perform actions across applications&lt;/li&gt;
&lt;li&gt;Make decisions without continuous human intervention&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That changes the identity conversation entirely.&lt;/p&gt;

&lt;p&gt;Consider a simple question:&lt;/p&gt;

&lt;p&gt;If an AI agent performs an action, whose action was it?&lt;/p&gt;

&lt;p&gt;The user's?&lt;/p&gt;

&lt;p&gt;The application's?&lt;/p&gt;

&lt;p&gt;The organization's?&lt;/p&gt;

&lt;p&gt;The agent's?&lt;/p&gt;

&lt;p&gt;The answer isn't always clear.&lt;/p&gt;

&lt;p&gt;And that ambiguity creates new challenges around trust, accountability, and security.&lt;/p&gt;

&lt;p&gt;We're beginning to see questions emerge that traditional authentication systems were never designed to answer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How should permissions be delegated to an AI agent?&lt;/li&gt;
&lt;li&gt;What does least privilege mean for a system that needs flexibility to reason and act?&lt;/li&gt;
&lt;li&gt;How do we revoke an agent's access while it's actively performing tasks?&lt;/li&gt;
&lt;li&gt;How do we audit what an agent actually did with the permissions it received?&lt;/li&gt;
&lt;li&gt;How do we prevent privilege escalation across connected systems?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These aren't theoretical discussions anymore.&lt;/p&gt;

&lt;p&gt;They're rapidly becoming product requirements.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Matters Beyond Security
&lt;/h2&gt;

&lt;p&gt;It's easy to think of authentication as a security team's concern.&lt;/p&gt;

&lt;p&gt;But increasingly, identity decisions affect product strategy, customer trust, and business growth.&lt;/p&gt;

&lt;p&gt;Enterprise customers want clear access controls.&lt;/p&gt;

&lt;p&gt;Compliance frameworks demand auditability.&lt;/p&gt;

&lt;p&gt;Developers expect secure defaults.&lt;/p&gt;

&lt;p&gt;Users expect transparency around who can access their data.&lt;/p&gt;

&lt;p&gt;And AI-powered experiences require entirely new models of delegation and trust.&lt;/p&gt;

&lt;p&gt;At some point, identity stops being a backend implementation detail.&lt;br&gt;
It becomes a product decision.&lt;/p&gt;

&lt;p&gt;The organizations that treat it as infrastructure alone may find themselves struggling to adapt as systems become more interconnected and autonomous.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Shift I'm Seeing
&lt;/h2&gt;

&lt;p&gt;What fascinates me most is that we're entering a period where identity is expanding beyond human users.&lt;/p&gt;

&lt;p&gt;We're moving toward a world where applications need to understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Human identities&lt;/li&gt;
&lt;li&gt;Service identities&lt;/li&gt;
&lt;li&gt;API identities&lt;/li&gt;
&lt;li&gt;Machine identities&lt;/li&gt;
&lt;li&gt;Agent identities&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And they need to manage trust relationships between all of them.&lt;/p&gt;

&lt;p&gt;The industry is still figuring out what this future should look like.&lt;/p&gt;

&lt;p&gt;There are emerging standards.&lt;/p&gt;

&lt;p&gt;There are evolving best practices.&lt;/p&gt;

&lt;p&gt;There are strong opinions.&lt;/p&gt;

&lt;p&gt;But there are still many open questions.&lt;/p&gt;

&lt;p&gt;Which makes this one of the most interesting spaces to learn about right now.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I'm Writing About This
&lt;/h2&gt;

&lt;p&gt;I'm still early in my journey learning about identity, authentication, authorization, developer infrastructure, and AI systems.&lt;/p&gt;

&lt;p&gt;I don't claim to have all the answers.&lt;/p&gt;

&lt;p&gt;What I do have is curiosity.&lt;/p&gt;

&lt;p&gt;I get to work alongside people building these systems, and every week I find myself discovering concepts that completely change how I think about software, security, and product design.&lt;/p&gt;

&lt;p&gt;This blog is my way of documenting that learning process publicly.&lt;/p&gt;

&lt;p&gt;Over the coming months, I'll be writing about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Authentication and authorization fundamentals&lt;/li&gt;
&lt;li&gt;Identity for AI agents&lt;/li&gt;
&lt;li&gt;OAuth, OIDC, and modern identity standards&lt;/li&gt;
&lt;li&gt;Multi-tenant SaaS architecture&lt;/li&gt;
&lt;li&gt;Developer experience and platform design&lt;/li&gt;
&lt;li&gt;AI infrastructure trends&lt;/li&gt;
&lt;li&gt;Product marketing and GTM lessons from technical products&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Not as an expert teaching from a pedestal.&lt;/p&gt;

&lt;p&gt;But as someone learning in public, asking questions, and sharing insights along the way.&lt;/p&gt;

&lt;p&gt;If you're building in identity, AI, developer tools, infrastructure, or SaaS, I'd love to learn from your perspective too.&lt;/p&gt;

&lt;p&gt;Because the deeper I go into this space, the more convinced I become that authentication isn't a solved problem.&lt;/p&gt;

&lt;p&gt;It's becoming one of the defining challenges of modern software.&lt;/p&gt;

</description>
      <category>authentication</category>
      <category>auth</category>
      <category>oauth</category>
    </item>
    <item>
      <title>Why Auth Is the Most Underrated Problem in Modern SaaS (And Why I'm Writing About It)</title>
      <dc:creator>theauthkid</dc:creator>
      <pubDate>Tue, 09 Jun 2026 06:09:30 +0000</pubDate>
      <link>https://dev.to/authkid/why-auth-is-the-most-underrated-problem-in-modern-saas-and-why-im-writing-about-it-13ld</link>
      <guid>https://dev.to/authkid/why-auth-is-the-most-underrated-problem-in-modern-saas-and-why-im-writing-about-it-13ld</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvkpep981x9xrcofuzjfd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvkpep981x9xrcofuzjfd.png" alt=" " width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hey, I'm Riya, a product marketer working at &lt;a href="https://www.monocloud.com/" rel="noopener noreferrer"&gt;MonoCloud&lt;/a&gt;. We're building a developer platform that brings together identity for users, APIs, services, and AI agents, so teams don't have to stitch together separate tools as they scale beyond basic auth.&lt;br&gt;
I'm relatively new to this space (about 8-9 months in SaaS PMM), and I'm writing here to learn in public, sharpen my thinking, and connect with people building in auth, AI, and infra.&lt;/p&gt;

&lt;p&gt;This first post is part intro, part take. Bear with me:)&lt;/p&gt;

&lt;h2&gt;
  
  
  We've already seen what happens when agents go wrong.
&lt;/h2&gt;

&lt;p&gt;An AI agent with write access deletes an entire production database. Another exfiltrates customer data because nothing was scoping its permissions. A workflow automation tool acts on behalf of a user, but with way more access than that user ever intended to grant.&lt;/p&gt;

&lt;p&gt;These aren't hypotheticals anymore. And every time it happens, the postmortem says the same thing: the auth layer wasn't built for this.&lt;br&gt;
Here's the uncomfortable truth: most teams treat authentication and authorization as a checkbox, not an architecture decision. You pick a library, slap on JWTs, call it done, and move on to shipping features. And for a while, it works fine.&lt;/p&gt;

&lt;p&gt;But modern SaaS isn't a single user logging in from a browser anymore. It's:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;AI agents acting autonomously on behalf of users&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Multi-tenant systems where one misconfigured policy exposes the wrong customer's data&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Third-party integrations that each need scoped, revocable access&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Audit requirements that make "we just check a session token" not good enough&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Auth was designed for humans. We're now handing it to machines.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this is also an AI problem
&lt;/h2&gt;

&lt;p&gt;The AI layer makes this harder in ways most people haven't fully processed yet. When a human logs in and does something destructive, there's a decision trail. When an agent does it, because it had the keys and the instructions told it to, the question of who authorized what gets genuinely murky.&lt;/p&gt;

&lt;p&gt;Identity for AI agents is an open, unsolved problem. Things like: what does "least privilege" mean for an LLM that needs to reason across data? How do you revoke an agent's access mid-task? How do you audit what an AI actually did with its access? These are questions the industry is actively figuring out, and the answers will shape how SaaS products get built for the next decade.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'll be writing about
&lt;/h2&gt;

&lt;p&gt;I'm not a dev, but I work closely with the people building this infrastructure every day. My angle is less "here's the code" and more "here's how to think about this": the tradeoffs, the mistakes teams make, the patterns that actually hold up at scale.&lt;br&gt;
Topics I'll be covering, auth and beyond:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Auth architecture for multi-tenant SaaS&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Identity and access for AI agents&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How AI products are actually being built under the hood&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Infra and platform engineering trends worth paying attention to&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Developer experience and what makes or breaks a dev tool&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;SaaS growth, GTM, and the product decisions behind them&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Honest takes on tools, standards (OAuth, OIDC, FIDO2), and where the ecosystem is heading&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Basically, things I find genuinely interesting as someone sitting at the intersection of product, infra, and AI. If any of that overlaps with what you're building or thinking about, follow along.&lt;/p&gt;

</description>
      <category>authentication</category>
      <category>ai</category>
      <category>agents</category>
      <category>security</category>
    </item>
  </channel>
</rss>
