Video summary
The recent episode of the Okta Developer Podcast introduces Cross App Access (CAA), a new OpenID Connect extension engineered to eliminate end-user consent fatigue and restore administrative visibility when applications share data on behalf of employees. Currently, standard OAuth flows force users to manually approve every app-to-app connection, creating friction, security vulnerabilities such as phishing risks, and a critical blind spot where identity providers cannot monitor or manage these interactions. CAA fundamentally shifts this paradigm by allowing the identity provider to broker connections between applications without requiring user interaction, effectively transferring decision-making authority from individual employees to organizational IT policies. This approach not only streamlines the integration ecosystem but also empowers administrators with greater control over data sharing workflows.
From a technical and strategic perspective, implementing CAA requires minimal adjustments for resource servers, primarily involving support for a new grant type at the token endpoint, while requesting applications leverage existing single sign-on tokens to secure access without multi-step redirects. This architecture significantly enhances security by enabling shorter-lived tokens and improving global risk signal sharing, which facilitates more effective token revocation strategies. Although CAA does not inherently prevent token theft, it mitigates OAuth phishing attacks by removing the user's ability to accidentally grant access to malicious applications. The initiative has garnered strong support from major industry players like Box, Zoom, and Slack, who have long sought solutions to reduce consent fatigue, while also positioning CAA as a foundational step for secure AI agent integration and advanced workflow automation.
The development of this specification was driven by extensive refinement over eighteen months to align with broader industry shifts, including the rise of Model Context Protocol (MCP) and the increasing demand for seamless integrations in an AI-driven landscape. To make the technology tangible for identity providers and independent software vendors, Okta is providing UI mockups and wireframes that clarify complex policies and protocols, addressing the knowledge gap among partners who lack a full view of IDP capabilities. The upcoming sessions will feature real-world implementation experiences from companies like Box and Grammarly, offering valuable insights into expectations and practical deployment scenarios. Furthermore, Okta encourages immediate engagement by making CAA available in integrator free organizations, allowing developers to sign up, enable self-service flags, and explore example repositories that cover critical use cases such as leak resolution and agent work with MCP servers.
Read the full video transcript
Hello and welcome back to the Octa
Developer and Integrator podcast. I'm
Emily
>> and I'm Jeff
>> and today we are joined by special
guests Aaron and Matt. Um, welcome to
the podcast or welcome back. Um, you
want to tell us a bit about yourselves
and why you're here today?
>> I'll go first. Uh, Matt Egan. Uh, so
director of tech strategy. I work in the
corporate development organization here
at Octa. uh gives me a lot of exposure
to everything from uh our uh venture
capital arm octa ventures to M&A and
strategic partnerships where I end up
working on uh integrations with hundreds
of ISVs over my uh almost eight years at
Octis. So excited to be here and talk
about Optane.
>> And Erin, I think you have a fancy new
job title since we last talked on here.
>> Oh, that's a good point. Yeah, identity
standards now. Um nice to be here. So I
work on a lot of specs for OOTH open
connect um couple other things as well
and lately been working a lot on the
OOTH extension uh that we've been using
for cross app access and uh going to
hear about that a lot at Octane I think
so looking forward to the to the
discussion today.
>> Yeah it's really interesting I work a
lot with Matt and Aaron in my day-to-day
so thank you guys for being on the
podcast. Yeah. So we have briefly
explained cross app access uh in the
past. What I personally as an enduser
think of as the problem that we're
solving is asking end users to consent
to sharing their employer or their
organization's data with some third
party service. it's bad user experience
and do we really want to be trusting
everyone to be a security professional
in every organization or can we make
this better as we have more and more
applications that need to integrate with
one another and now especially as we
have AI agents that we need to integrate
in appropriate ways and share the right
data but not the wrong data with them on
the user's behalf.
>> Yeah, it's a it's a really interesting
problem. There's I guess like two main
angles to it. One is the one you
mentioned of like is it really the
user's business the employees business
to decide whether a company's
application get can share data with
another company's application? No, not
really. But like from a personal ooth
perspective absolutely right like I need
to make sure that I choose whether my
Google data is shared with a third party
application but that doesn't really
translate in the employee employer
scenario. So it really should be the
decision of the company to decide which
applications share data just like it's
the decision of the company of which
applications to use in the first place
that get configured for a single sign
on. So it's just that there hasn't been
a way to manage that
with any specs prior to what we've been
working on here.
>> Yeah, I think that's a great point. It's
uh there's been some interesting
discussions come up as I've seen other
people talking about cross app access
and uh had a LinkedIn thread that that
started where there was there was some I
don't know I'd say consternation about
you know the idea of removing that
consent dialogue. Um and I think it's
it's actually a more appropriate uh what
codification of of who actually owns the
data and who should be giving that
informed consent. Think about what's
what's the informed consent for an
employee in that relationship. And it
really moves more into like have I gone
through have I accepted the uh terms of
use within you know within the employee
you know manual am I uh trained in the
you know in the LMS have I gone through
the the data handling requirements like
that's the the employees responsibility
and so cross access kind of gives us
introduces an opportunity I'm not saying
we're solving that problem today but it
introduces this opportunity for the IDP
to be in the middle and broker a number
of those things and you know I I
envision a future where potentially
we're are plugging into the learning
management system and that becomes a
part of you know what that flow could be
you know optionally in a in a in a
company thing but there's a really
important step to to just even opening
the door for something like that
something that's uh I don't even know
how you begin to to to really do that
today in the absence of cross app access
>> well it's interesting too that uh LMS's
have actually attempted to solve this
and you see this a lot with the
iteration of ways to build
interconnected apps on behalf of people
um a couple of like thoughts that I have
just historically that one we we left
this remnant of B TOC moving into these
interconnected apps like for so long
into the enterprise like it makes sense
to us like I think what's interesting
the interesting microcosm is I'm really
confident if you're saying like I need
to share like my documents and my
information data I'm really all about
making sure I have that consent as an
employee I lose a lot of that confidence
because like am am I doing the right
thing and also like who's at risk if
they know that I'm the one that granted
that access is Is it me that has to face
the consequences or are they actually
going to look at the application that
kind of like got me there? But I don't
know because the application is not
really a thing but I've actually got a
real job and so so but anyway getting
back to the LMS's like this is more
machine focused like how can I put the
two machines together and transfer that
data and so the user kind of gets lost
in that shuffle as well and what I like
about where we're evolving to is uh a
state where like there's there's
actually like equal footing between the
machine caller and the user that needs
to have this consent and we're also like
binding that with the visibility and
control of the IDP. So, feels like
natural evolution, kind of like a
Darwinian kind of thing, but not to take
away from Aaron's innovation because
seeing all of these pieces that need to
be put together, it was really like very
novel how he was able to to construct
this draft, but it makes a ton of sense
and actually that's what we hear from
ISVS and customers. Erin, could you tell
us a bit about putting that draft
together and how you were able to find
the right point in this incredibly
complex system of standards to make this
particular change to solve this
particular problem?
>> Yeah. Well, I mean, I I can't take all
the credit for sure. Um, this really
kicked off with Carl McInness, who is a
is is a co-author of the the OOTH draft
with me. um back when he was at Octa uh
saw this problem and saw this problem of
you know admin visibil visibility of the
OOTH grants between applications not
being there and put that in front of me
and said like you know we've got this
problem like here's a rough outline of
how I think we should solve it and I
kind of just like sat on that for a
while and just let it sink in and
started working on different ways we
could take building blocks that are in
the OOTH ecosystem and make it work. We
went through several iterations of the
actual mechanisms of how to do it uh
before landing on what we currently
have. And a lot of what I was doing in
that process was uh rewriting it to to
use more of the existing and standard
building blocks that already exist. So
for example, the the first step step had
always been the idea of using a a token
exchange to exchange an ID token for
something and uh but token exchange is a
is a framework and it's extensible and
the first version of it was far more
custom. there was like more custom
things and more things that you had to
add to the request and response and it
was basically um
token exchange was just you could just
barely see that through the spec. So I I
spent some time working on like how can
we trim it down and make it work more
closely like the token exchange spec and
then how can we use uh something for the
the second leg? how can we take find
something that's already there and use
that for the second leg as opposed to
using, you know, making something up
custom for that or whatever. So, um, it
was a lot of like because I've been in
the OAT space for so long, I've I'm
pretty familiar with a lot of the RFC's,
at least at a high level, if not into
the weeds of all of them. But just
having that like broad knowledge of what
all is out there and how people use
things, I was able to kind of put it
together in a way that was uh what what
I hope feels natural.
>> Yeah, it sounds like a fascinating
editorial process of almost looking at
each component and going, can we use
something close enough for this to save
people from having to rebuild something?
Matt, are you able to share about the
feedback that we've gotten on it from
the integrators and the businesses who
have had a chance to play around with it
and see what it can do?
>> It's really interesting. You you jump
into a lot of these conversations and as
we lay out the problem oftentimes we'll
get into these conversations and you'll
you'll end up hearing the ISVS. Uh I
remember specifically I think it was it
was box that ultimately said we had a
spec we were we've just been waiting for
you to build this. You know we we've
been saying you know why hasn't built
this yet? Uh is something that we've
heard at least you know once or twice.
So, you know, the the the general thing
uh that we find is especially with with
ISVS that have a large ecosystem of OOTH
apps. So, Box, Zoom, Slack come to mind.
They get it right off. They've been
dealing with the burden of enduser
consent flows that are that everybody's
familiar with. If you're if you're a
Slack user like we are, we love Slack.
Um and it's it doesn't feel like a
problem. Uh but you do end up going
through that when you when you think
about the the scale of I have thousands
of employees and we have hundreds of
apps and we want them all to be you know
connecting you end up with consent
fatigue where from an IT perspective you
really would just like everybody to jump
in and have Slack and have it
automatically be connected to all of the
data sources that have been that have
been uh configured so that everybody has
a a consistent user experience. So
people that have been in the space for a
little longer um they click faster. I
will say the the more nent companies uh
you know the the hot open AIs of the
world they understand what we're trying
to solve but they haven't felt the pain
as as acutely yet um you know so so it's
on the spectrum of you know how much
pain have people incurred and how
quickly are they trying to move but in
general I would say the consensus
everybody agrees with the problem
statement and uh you know now we're just
in this interlock of it is a three-party
problem and so everybody's waiting for a
first mover and and uh so we expect to
see a pretty quick adoption curve.
>> The one thing that um does people get
people's eyes to light up is this idea
that especially in these tools that are
that are AI tools, but also in the the
kind of platform integration platform
tools like workflow automation stuff
where you have someone wanting to use an
interface to connect data from multiple
different places. So, a lot of the AI
use cases are obviously that. Um the
thing that really gets people to be
like, "Oh yeah, this is gonna be a
problem." is the realization that like
if you want to connect this tool to 20
different data sources in the company,
each person at the company would have to
go through and connect the tool and go
through an ooth flow and sign into the
IDP and then do it again for the second
one. Go do an OOTH flow, sign into the
IDP again, and doing that 20 times
before they can even start building the
thing they're trying to do, right? And
it's not a good user experience. And
it's also on top of the, you know, admin
visibility problem of the admins not
being able to see those connections. So
that kind of like amplification of the
friction of an ooth flow is what really
gets people to be like, "Oh yeah, that
makes sense. I get it. I can see that's
going to be a problem." And it's just
that some people haven't had the time in
the market with the companies at that
scale where they're hearing the
complaints yet. But it's very clear to
see that that is like that train is
headed right for them.
>> Yeah, agree. I I think one of the other,
you know, interesting points to draw out
is in the absence of this, you can tell
when somebody's been considering an
alternative option. And the alternative
options are usually like, well, let's
just use a service account and go and
scrape all of the data, you need to
inherit all of the ACL's and enforce all
of the ACLs and and that's a lot of
liability for an integrator to carry.
It's going to be friction when you're
trying to onboard those apps because now
you've got to bring it in. there's going
to be larger security reviews. That's
that's been a you know a nice thing. You
see the light bulbs turn on when people
realize oh I can abandon you know that
uh you know that pursuit that was just
going to open up another can of worms
down the road. So it's not very often
that you're able to go in and say hey
we're going to improve the security
outcomes and the end user experience and
that's a you know it's kind of like a a
bang bang. It's not often that you get
to do both. When you say scrape all of
the data from something, even if it's a
small amount of data, let's say per
user, you scale that and suddenly your
storage costs start looking scary as
well.
>> There's the storage cost, but having to
um arbitrate that data access is like
handling nuclear waste material. It's
it's just a liability that nobody wants
to take on.
>> Yeah. There's like the giant situation
of the risk and then the footnote of the
dollar signs. And if you can see the
risk, then it's obvious. But even if you
can't see the risk, they're still the
dollar signs.
>> Yep. I'm laughing here because I think
it's a good example of like how Matt and
Aaron and I are sharing a brain on this
because I was going to ask like what
what do you guys feel is that aha moment
and like those are exactly the two that
I see. I'm seeing more of like the
architecture of like what an agent might
look like. So getting like how am I
going to store all of this stuff and we
push again to the side like similar to
what we've done with our end user
consent. We're like we'll worry about
the identity security a little bit
later. And when you actually start to
talk about the scale questions, suddenly
the things like governance and
management and all of the other like key
capabilities to keep the uh access for
these agents safe comes like rushing to
the forefront. Um, and so yeah, like I
mean it's it's very rare that you find
something that really balances like
making just an overall security posture
improvement but as well as like
improving the lives of like an admin in
the case of having to create multiple
highprivileged accounts and manage all
of those across many different domains
or the end user or having to answer
consents for many different scopes
across many different domains. When Matt
was mentioning uh consent fatigue, I was
also thinking about the fish risk of
what happens when the user is trained
that when you're asked to share your
data, you just always have to hit yes.
That's just what you do.
>> The hackers are have been getting
creative, right? Like we've solved a lot
of the hacks that used to take place.
Password reuse still happens. Yes. But
like it's a relatively rare actual
attack now because we've got
multiffactor off, we've got pass keys,
like all these things have stopped a lot
of the older hacks. So the attackers
have been getting creative and having to
find new ways to break in. And I feel
like the two main
categories that are still that are
happening now are token theft. Um that
happens still a lot even though there
are some reasonably good standard
solutions to the problem. um just not as
widely deployed yet clearly. But the
other one interestingly is OOTH fishing
and it's exactly that problem of there
is no protocol flaw at all. There is a
legitimate OOTH client doing a
legitimate OOTH flow to a real server
with a real user account. It's just that
the user got tricked into allowing that
application to connect. And uh that is
still a pretty big problem and you will
find examples written up in major tech
press all the time about it. And this is
cross access is one of the answers to
this problem because it removes the
possibility for the user to accidentally
agree to the ooth grant
>> and if you've just removed that from the
from the process you've removed the
opportunity to do fishing to do do the
fishing attack. So it's I think it's
really important
>> when you mentioned token theft as well.
Crossap access gets us on to shorter
lived credentials than the traditional
tokens. So tell us a bit about those
changes.
>> I want to be clear that token theft is
absolutely still possible with cross app
access unless you also do token binding
through deep or something right like
crossap access by itself does not solve
token theft because at the end of cross
app access the result is the application
has an access token for another
application just like if it had been
issued through a regular ooth grant. So,
it doesn't change anything after the
token's issued compared to the normal
OOTH flow. Um, you can layer on DOP onto
that just like you can with a regular
OOTH flow. DOP being a way to bind the
token so that if the token is stolen, it
can't be used because the private key
wouldn't have been able to be stolen
because in the same way the token was
stolen. Um, so you can still layer those
on. Um but your point about lending
itself more to shorterlive tokens is
absolutely correct because in
traditional OOTH the user is the one
involved in the issuing of the access
token which means it's just going to
naturally happen that applications want
to involve the user as little as
possible because of the friction. So
they will try to get very long live
tokens. Like if you think about like
you're trying to connect one application
some application to read your calendar
data and like constantly sync the data
that application is going to want
extremely longived access to your
calendar because otherwise it's going to
stop working until the next time you
like re reauthorize it and that just
lends itself to long live tokens and
long live grants. Uh so instead with
cross app access the tokens that are
issued can be very short-lived because
there's always an opportunity for the
application to go get a new token
without bothering the user again right
so like we can because it's all behind
the scenes and we've removed the user
interaction we can do that kind of thing
>> there's a few other interesting points
to draw out on that one a bit of call
back you know Erin was talking about the
oath fishing that that happens in there
and that's a depending on the maturity
again of like the oath ecosystem you
take you know box and Google they've got
quite a few oath controls that are put
in place and the opportunity for
administrators to go in and um allow
list specific client ids to to to be
used. But that level of maturity is not
consistent throughout the ecosystem. And
so this again is like the the challenge
is either for every ISV to introduce a
very mature OOTH uh
policy layer or just inherit the policy
layer that comes from the IDP. So like
there's there's that good thing. The
other one that that that I think goes
along with this, you know, reducing the
the token theft, these post
authentication breaches that are going
that are going to take place. And that's
the direction everybody went as soon as
we started putting in, you know, fishing
resistant authenticators and MFA. It was
like, well, let's not attack the login
process. Let's just go get the resulting
tokens that that land afterwards. Um,
that becomes like a there's a secondary
control element to that. And, you know,
again, consequence of like
the IDP not being in the flow. you end
up with a disparit, you know, the
following the breadcrumbs of where these
tokens have been issued and where they
exist um is very diffuse when it when it
doesn't go through cross access. And so
the administrators are, you know, they
just they have to take on more burden to
go in and put those secondary
compensating controls that are going to
be in there. This is not a this is not a
silver bullet. Um but it is a meaningful
step forward that does allow for a lot
more consolidated u you know breadcrumbs
to exist. So that from an as you're
looking at the secondary controls that
are going to go into place, you can go
to the IDP, you can see where the tokens
are and follow those breadcrumbs from
there versus needing to go out to the to
the mesh that exists and and hope that
you've got the right logs if they even
produce them.
>> Well, Matt, I think that also doesn't
that open up the the gateway to other
controls? Like I know Aaron's Aeron's a
busy guy. He's got a lot of proposals
out there for different extensions. Um I
know he's worked um with with certain
individuals on global token revocation
and like doesn't this give us uh a great
way to establish a cleaner contact to
remove access like the on behalf access
for these like adjacent machines. Now
that we're in this interconnected like
app world that we're in with AI and
everything the user is extended to many
different applications and processes
that are now operating on its behalf.
and that, you know, that lends itself to
being able to sever those connections
specifically for those. So, you're
feeling like this is a good way to start
bolstering some of those other things
like shared signals and even global
token revocation.
>> Yeah, I I think the two go hand inand
usually. I I I think about what we're
doing with cross app access and I've uh
it's not branded way off brand, but I
think of it as single sign on on
steroids. Um, you know, and and
something that we realized a few years
ago as we launched universal logout and
the global token revocation spec to go
out there and and give us a way to close
the door, right? Single signon is great
at getting you in the door, but we don't
have a we don't have a really codified
way to go close the door. Um, and when
we introduce cross app access, you're
making more signon events and so yeah,
global token revocation or shared
signals framework as a as a mechanism to
get what a continuous channel of
communication between these services
becomes huge. You know, today we're
using it to to just exchange risk
signals primarily from security
providers, but the opportunity for that
to be a more rich targeted apptoapp back
channel communication is is pretty rich
or just the the explicit global token
revocation. Yeah, the two go hand in
hand
>> even before um an ISV implements global
token revocation. If cross app access is
allowing these very shortlived tokens,
then you can do some serious damage
control simply by not issuing the next
token. we get this giant payoff really
for the kinds of technologies to get
those insights into what's going on with
a user such as risk signal sharing.
Suddenly there's something we can do
with it.
>> Yeah, definitely opens the door. I mean
it's a within the octa ecosystem, you
know, we can we can close the octa
session uh but yeah, being able to then
go in and say not only are we closing
the octa session in response to some of
these things, but maybe we'll we'll
resend access for those cross app access
JAG exchanges to take place. If you can
compress the the time window of validity
of a access token on a downstream app,
that means you're going to get more
opportunities for the IDP um you know in
that centralized uh policy and
perspective to to interdict.
>> Yeah, of course it's obviously better to
shut that door the moment you realize
you need to, but just not leaving it
open longer than you have to is still an
improvement.
>> Small steps.
>> Small steps. And the less new code that
we have to ask people to write to get
things working, the better. Which brings
me to a question that I'll bet a lot of
listeners are having, which is how much
new implementation are we going to be
looking at to add cross app access to
our integrations.
>> Really good question. Remember that
there are three parties involved in
cross app access, right? There's the IDP
like Octa, which is the one responsible
for that's where the admin goes to
configure the policies of which apps can
talk to which and the two app there's
two apps. There's the requesting app and
the resource app or the app that's
trying to get the data from some other
application. There is very different
amounts of work on both sides of that
equation. So if you are building the
application, if you're building the API
that is trying to be used by some other
application in this, the assumption is
that you currently use OOTH for your API
and that you already have a way for
third party developers to register
applications and um send users through
an OOTH flow and all that stuff and
you've already you already issue access
tokens which means that you have a token
endpoint somewhere and that token
endpoint is uh supports the
authorization code grant type in OOTH
which is as a sort of default OOTH flow.
The other assumption is that you also
already do single sign on to an
enterprise IDP like octa probably
through open ID connect. So with those
two things in place, the amount of work
you have to do to add cross app access
is actually very small. It's essentially
add a new grant type to your token
endpoint and you will see a new token
come in that's a JSON web token with
this new grant type and you need to
validate that token and then decide
whether to issue an access token and for
what user and all the information about
um how to validate the token is in the
spec. Uh but essentially it'll be signed
by OCTA so you'll know which of your
customers it is. It'll have a user ID in
it that you should already recognize.
It'll have the application that um would
have been your third party application
and it should actually be a relatively
small amount of work to then validate
that and then create your own access
token like you normally would. Whatever
format that's in doesn't matter and
issue that down to the application.
>> I nearly got that but we had a lot of
you in there. So to make it really
concrete, let's say that it's our chat
app that is going to be as the
requesting um party and then octa of
course is going to be our identity
provider and then our calendar app is
going to be our resource server because
our chat client wants to show our status
of when we're in a meeting on our
calendar. The U that needs to have the
token endpoint and support SSO that's
going to be both the chat app and the
calendar, right?
>> So I was only talking about the calendar
app in that example. So I was talking
about if you're building the the the
calendar app that has the data that is
trying to be accessed. That's the you in
in that previous
>> then you've got a token endpoint you add
your grant type and then you see these
requests for tokens come in
>> from the chat app. So the chat app is
ultimately making the request for the
tokens still. It's just that instead of
doing an regular ooth redirect blah blah
blah sequence, it's done something else.
We'll get back to that later. It's done
some other stuff and it just shows up at
your token endpoint with a JSON web
token that was signed by Octa.
>> Oh, so if I'm the calendar, then the
chat app just shows up and says, "Hi, I
have a token. Octa signed it." You check
the signatures. You go, "Well, yes, Octa
really does want this connection to
happen." And bam, you're connect.
>> Exactly. That basically means on the
calendar app, there is one step. Token
comes in, you you send the token back,
you send an access token back. There's
no longer redirects or multi-step. It's
just one request.
>> All we've got to do in order to share
resources via crossout access is learn
to listen for this new type of request.
>> Exactly. Yeah.
>> And now if we want to request resources,
how's that going to look?
>> So that's quite different. So again,
we're assuming that in this example, the
chat application already does OOTH uh a
redirect ooth to the calendar and has an
ooth client registered there. Um and
this chat app also does single sign on
through octa. The difference is that we
take advantage of the fact that the user
has already signed into the chat app
through octa. So as soon as the user
signs in the uh chat app has an ID token
from octab and that's again baseline
today right and you use the ID token to
figure out who the user is and which
user to sign into the application. Now
we're saying take that ID token, go back
to Octa and tell Octa I'm the chat app.
I'm trying to get access to this user's
calendar and where this user is
represented by the ID.
So here
>> exactly.
>> So you go back to Octto say hey I'm
trying to get access to this user's
calendar.
>> Please let me do that. And then Octto
will go and evaluate all the policies
blah blah blah that the admin has
configured and decide whether or not to
allow this request to happen based on
bunch of you know all those factors. Uh
and if the request is allowed octa will
generate this new JSON web token this
new jot um and reply back to that
request. that JSON web token represents
the fact that for this customer this
their admin has configured this app to
talk to this app for this user and
that's all sort of encapsulated in that
JSON web token and then the chat app
will take that JSON web token over to
the calendar saying hey I want to access
this user's calendar octa said it was
okay
>> and then we'll just repeat that hey octa
give me the token for the calendar uh
whenever we need to refresh that so octa
has so much more knowledge about exactly
who's been authorized when
>> the so the difference is basically you
replace your redirectbased ooth flow
with this alternative way to make a
request for an access token and the
alternative being two post requests
right it's a post request to octa and
then a post request over to the calendar
so I think what's worth calling out
there is like in the end user consent
flow what's visible to the IDP is in
essence probably two single signons like
I just know that I've signed into the
chat app and the calendar app. That's
it.
>> This is a really really important thing
and like we actually haven't really
described that in this conversation yet.
>> Without cross app access,
>> we want our chat status to show when
we're in a meeting on our calendar.
We're logged into our chat
>> without cross app access. The way it
would it works is um the user is signs
into the chat app first. So they will do
a single sign on flow to octa and octa
sees some user trying to sign into the
chat app um and then decides whether to
send an ID token to the chat app and
then they're signed in right um and the
policy enforcement at that in that flow
is is this user assigned to the chat app
right and the answer might be no in
which case the request would fail um so
user signs into the chat app then the
chat app wants access to the calendar so
the chat app does an ooth flow to the
calendar And that's with the chat apps
client ID to the client of the client
they've registered at the calendar's
oath server which is not octa. Right?
So then they start an oath flow to the
calendar. The calendar says I don't know
who this user is. There's just a user in
a browser that shows up. Um so the uh
calendar app starts an new single sign
on flow to octa.
So the user lands in octa. Octa sees oh
some user is trying to sign into the
calendar. We'll let them in. Uh, and
then the calendar says, "Now I know who
the user is. Sure, I'll give an access
token to the chat app." So, what did
octa see in that example? Octa sees user
is trying to sign into the calendar.
That's it. That octa does not see that
the calendar is then going to share the
resources by issuing an access token to
some other third party application.
That's the blind spot.
>> And so now you put that all together. So
what octa sees effectively now is user
logged into both apps but this other
added nugget of information that we've
made this intent to exchange for that
jack token. And so now that gives us
this signal that not only is the user
logged into both apps but there's an
intention of these apps communicating
the data between the two on behalf of
that user.
>> We talk about the blind spot. That's
also a very painful experience and a
very different experience depending on
the resources like the IDP discovery
that happens is is inconsistence the
enduser experience for that. We've had
some people, you know, in some of the
conversations are just like, is there
anything you can do in the meantime to
just make that process more seamless?
And it's it's something that's really
outside of our control. The
implementations on the various service
providers and how they do IDP routing
and and uh you know that user experience
is something that's just way outside of
our control with uh lots of validation
that it is not fun for anybody involved
>> in a world where everyone was using this
or even where the consent flow were
implemented as a subset of this in
hypothetical future implementations.
It's so much less code especially on the
resource side. There's just so much less
logic you have to worry about. That was
a very intentional design decision uh of
the protocol as well of leveraging as
much of the existing infrastructure that
you already have, leveraging as much of
the you know existing specs and things
that so that and making it as easy as
possible on the resource side in
particular because um there's there's
sort of more value gained on the the app
that's trying to sign a user in and get
access to data because they want the
data. So they're going to be more
motivated to do work to get the data
versus uh the the app the company that's
on the API side of like we have an API
it already supports OT why why do you
need to do us to do anything different?
Um so there they're less motivated
intrinsically to to do work to support
this new feature. So we made that amount
of work they have to do as low as
possible.
>> Matt, you talk to a lot of integrators
who are building with this. What
typically surprises them the most about
cross app access?
>> I wouldn't say that we've had any
surprises, but there there's numerous
questions. I mean, client registration,
you know, are we how are how is Octa
dealing with uh you know, mapping client
IDs for these things and is there a path
to to removing some of that burden? Lots
of conversations that'll start to trail
into like dynamic client registration.
Um on the requesting side, lots of
conversations around like what should
you know should we put a consent flow in
front of a user and let them know this
is happening or not and and uh you know
should we do fallbacks you know should
we configure policy that doesn't allow
for a traditional u uh code flow grant
to go through and you know so most of it
is just like exploratory like what are
the impacts and implications going to
be. I wouldn't say that I've heard any
like grand surprises. Um,
>> being in the conversations with Matt,
um, one thing I'll say about Matt is
like he's an engineer at heart. Um, and
just hearing all of the gears turning
while like with the integrators and with
Matt on the call as they're trying to
work this all out, like a couple of
things like how am I going to know what
apps are going to support this? It's
this fearless I want to get into the
wild, but I want to be safe at the same
time. I'll echo what he says is like
it's it's a lot about discovery. It's a
lot about what are the graceful
fallbacks like you know realistically
like this is new very radical like
simplistic in its design and and and
orientation but very like revolutionary
in what the impact is going to be so
that takes time again it's it's
evolutionary it's on scales of time
right I love to see the uh integrators
and customers kind of lean in like how
do I you know how do I get started how
do how do I successfully navigate this
without creating too many like really
distinct lines and that can end up being
counterproductive to the adoption. So
yeah, I'll echo that, Matt. I it's been
a joy like being along the ride to hear
like you work through those problems um
with with with the integrators live.
>> You're getting the kinds of questions
where the answer is it depends. So what
are we finding that it most frequently
depends on for those questions like
should we force the adoption of this for
this particular use case or um how
should we fail over if it's not
supported by another app those kinds of
things. I think a lot of it is
ultimately going to come down to what
the end customers want because that's
who we're all serving in the end here,
right? is like there's at the at at the
end of this chain of all these different
people involved in these flows, there's
someone paying for the service to work a
certain way and they probably have
requirements or opinions and um
ultimately we're going to have to enable
some amount of those requirements and
opinions that we all agree are an
acceptable amount of them. So that's why
it depends.
>> Yeah, I think that's pretty spot on. you
know I I was a customer in the past too
and so I'm I'm oftentimes putting myself
in that like what would I be expecting
it's a little bit you know my knowledge
is a little bit stale but there's a lot
of you know it depends and and some of
that opinion you know there's going to
be opinion there's also going to be you
know existing frameworks and tools that
people have that are going to kind of
you know shape and and steer what
customers are expecting uh you know this
this outcome to be some of this becomes
a little bit of like black magic too and
you know so I think there's going to be
a really interesting curve of uh you
know adoption and understanding both
from an ISV perspective and and the
customer perspective as this as this
starts to metriculate through and and uh
so yeah nuance is everybody's favorite
thing when it when it comes to to making
some of these things but we're trying to
keep everything on rails and and uh like
let's you know are we going to do uh are
we going to do um uh downscoping you
know and the ability to do additional
things a lot of people that are looking
forward they see the opportunity you see
you know you can see them really just
like open up at the idea of like what's
possible uh when we do this but we're
really just trying to we're trying to
land step number one and uh and get more
of that feedback.
>> One of the reasons why you know I know
Aeron's had this repo out that we've
developed in the open. I've worked on
it, my teams have is again so we can you
know get this in the hands. I've I've
been a software buyer just just like
you've Matt and like my engineering
brain goes to like well how would I do
this? Like I I think I'm a reasonably
you know competent individual. I might
be able to like reason out how I would
get there. Um and so having that like
tactile feel about what does the feature
look like? What does it actually mean?
Um as a builder um also can articulate
the need more clearly. And I think like
if you look at um some of the other some
of the other standards that are out
there like Ipsy is like putting an
articulation to the enterprise need so
that customers can say yeah I want that.
like if you're not selling me that then
we don't really have that much to talk
about. That's like kind of the
simplistic articulation that we need to
cultivate. And again, that's also why
it's one good to go for an open standard
and to develop that out in the open so
that again we're doing this all for for
the customer needs. It's so that they
can help us like lead the charge and
drive that demand. As an integrator,
depending on whose problems your
software solves, you'll probably see a
relatively biased set of organizations,
especially at first, the people that
your integration is like the best fit
for. And then when you start looking at
branching out, selling to more than just
those people who already knew they
needed you, then seeing what others
customers have asked for from them can
be super helpful to just understand
those um prospective customers for you.
So, are we seeing trends yet in those um
enduser customer those identity admin
demands and requests and preferences or
is it kind of still too soon to say?
>> I think I would lean on that. It's it's
too soon to stay to say, but um I'm I'm
pretty I think we have some good design
partners uh and the and the opportunity
to to put some templates, you know, to
put an opinion out there that that
people can uh can tear down is is is
kind of what we're expecting to see. But
I think we'll we'll put some good
examples out and and watch it evolve.
>> So, shifting gears a little bit. I know
Octane is around the proverbial corner.
Uh I wanted to get some ideas from from
you two. What is getting you excited? I
know there's there's a lot of fanfare
about a lot of things happening at at
Octane, but what particularly is kind of
like on your list or has you peaked in
interest of what you're most excited
about for the event? definitely excited
about crossf access. It has been
something that you know I've been
working on for a very long time about a
little over 18 months I think now. So
it's it's very exciting to see this come
to like come and be become real. We've
been we've had a lot of prototypes and
sketches and API calls that we've seen
for a long time but seeing it uh seeing
it with actual UI and getting it's it's
just very exciting for for it to be
real.
>> I like that. uh I've been in the
backseat of the journey, you know, for
those 18 months thinking and talking
about this. I think Aaron and I got
pretty excited, you know, as as the AI
adoption became pretty clear that that
was going to be the that was going to be
the driving force behind this. You know,
we we'd had cursory calls before that
had really taken fire, you know, 12
months ago with with customers and there
was there was interest, but it was it
was small and contained and it was
really difficult to get anybody to
prioritize it. So very very timely that
we've seen you know the the uh the
opportunity that AI has created in this
for it to be something that's on
people's roadmap because they recognize
uh you know recognize that. So being
able to to to see on the on the main
stage some of those UI mockups to to
make this real for customers to make
this more real for ISVS for them to see
what those policies are like. I think
that's that's another thing you know
when you're when you're talking to
people and it's you know it's our our
mockups and our wireframes and you're
talking about the protocols and the ins
and outs. I think it's not everybody has
all of that what is octa context in
there and so you I think the the three
of us on those calls like we see it
really clearly but but the ISVS have a
you know an accluded view of what the
IDP's capable of doing in there and so
putting that picture out in front of
them uh you know it's going to be huge
you know so that uh I'm looking forward
to our session where we'll have Box and
uh Kota Grammarly there to to kind of
talk through and uh you know share some
of their experiences uh and their
opinions on on how that's going to land
for them. So, I'm I'm pretty excited for
that one.
>> So, I'm going to jump in real quick
because I don't I I love the modesty,
but I could tell you I've been locked in
rooms with these two guys working and
refining on these pitches. What we're
going over like like I I'm proud too
like we we've put a lot of our effort in
like Aaron leading the charge like for
18 months working on this. Matt and I
coming in, you know, relatively late to
put some more structure in. Uh this has
been like a lot of our you know the
adage of blood, sweat and tears going
into this and um yeah like you know
getting this now like central footing um
across the octane is is definitely like
been been a labor like a lot of what you
guys talked about we've been through
change like we lived through the MCP
rise and like you know Aaron's working
in in that group as well to build the
structure around authorization as a
whole including crossapp access but
Yeah, like that's it's it's very
exciting and I'm you know I'm definitely
you know very honored to work with with
you two and like making bringing this
thing to life and like there there is
hopefully like a celebration and um
rousing acceptance of this um and it is
exciting to have you know uh committed
partners that are like they see the
value alongside of us um and and want
this to be a reality uh just as much as
we do. Yeah. And a quick plug we've got
we'll throw some links in the bottom
here. Cross app access is available in
our integrator free orgs. So if you go
to developer.octa.com sign up, you can
turn the self-service EA flag on. We do
have example repos. Again, those those
links will be down below. You can
explore this with a common scenario
doing the leak resolution or you can go
into a more adventurous state and look
at agents working with MCP servers. So
choice is yours. Choose your own
adventure, all of that great stuff. But
please uh you know download and get
involved and let us know what you think.
>> Thank you so much for joining us on this
episode of the podcast and I hope that
we will see you at Octane. Remember to
sign up for Octane online link below in
the description if you haven't already.