Notes from the CISO

A Tale of Two Clicks

The hidden damage inside every AI app: one click can open a breach you must disclose and a liability you can never fully close. Same dropdown, same person, one trust boundary your controls were never built to see.

Connect to your AI assistant

Choose an account

to give the app access to your files
AR
Alex Rivera
alex@northwind-corp.com
Managed · Corporate
AR
Alex Rivera
alex.rivera.dev@gmail.com
Unmanaged · Personal
The best of clicksstays inside the company's trust boundary
The worst of clicksbuilds a bridge the company can't see, govern, or revoke
Same dropdown. Same person. One click stays home. The other builds a bridge.

It was the best of clicks. It was the worst of clicks. Same dropdown. Same user. Same AI app.

One click selects the corporate account and keeps the workflow inside the company's trust boundary. The other selects a personal account and quietly builds a bridge the company cannot see, govern, or revoke.

That is the hidden risk inside every OAuth account chooser. It does not look like a security decision. It looks like a convenience feature. A list of avatars. A few email addresses. The account used yesterday. The account already signed in. The account at the top.

Most users choose in less than a second. The consequences last much longer.

01 · The trust boundary

The account chooser is a trust boundary

Modern AI applications run on connected resources. Users do not just sign in. They connect drives, repositories, warehouses, calendars, design tools, and agent infrastructure. Every connection starts at the account chooser.

When a user connects Google Drive, Microsoft 365, GitHub, Canva, Snowflake, or an MCP server, the question is not simply, "Which account do you want to use?"

The real question is: which trust boundary should this AI application be allowed to cross?

A corporate account and a personal account can sit next to each other in the same dropdown. They belong to different worlds. One is managed, monitored, and revocable by the enterprise. The other is not.

02 · The crossover

What is an Identity Crossover?

An Identity Crossover occurs when an AI application or agent operating in one trust domain becomes connected to resources from another.

It happens in both directions. A corporate AI application connects to a personal Google Drive. Corporate content flows out to unmanaged storage. Personal content flows into corporate workflows. Or a personal AI account connects to a corporate repository, and corporate data becomes reachable through an identity the company does not govern.

Different direction. Same problem. The important point is not which way the bridge was built. The important point is that the bridge exists.

Two floating islands joined by a single footbridge: a corporate glass tower on one, a small house on the other
Two worlds, one bridge. The direction it was built matters less than the fact that it exists.

Picture the quiet version. A developer wires a coding agent to GitHub. Two accounts are signed in: the managed work account and the personal one used for weekend projects. GitHub prompts the developer to choose, and the personal account is the one already active. One click later, a corporate coding agent is operating through a personal identity, pulling, branching, and committing across repositories the company believed were inside its perimeter. No alert fires. Nothing looks wrong. The agent simply has reach into the wrong world, through a door security cannot see and cannot close.

OBS-SEC Console
DetectionsDET-4A11C7
Identity Crossover
Detection · captured at connect time
Corporate coding agent bound to a personal identity
Captured connection
› github.connect (oauth) — coding-agent-prod
Bound to a personal GitHub account, now pulling, branching, and committing across corporate repositories.
Operating identity
managed · corp
Connected identity
personal · unmanaged
ITDR / login
no alert
Repos in reach
42 · corp
Policy identity.no_crossover — Violated
No alert fired. Every control saw something valid. The pairing is what crossed.

Once corporate and personal identities are joined inside the same AI workflow, data moves both ways. Exfiltration and contamination are not separate risks. They are two consequences of the same trust boundary being crossed.

Both cost money. They cost it differently. Exfiltration is a bill you can size — you can see what left and bound the exposure. Contamination is a bill you cannot size — once foreign data enters a corporate workflow, it does not stay where it landed, and you cannot price what you cannot find.

Exfiltration

A breach you can bound

Corporate content flows to an account the enterprise does not control. That is a data breach, and it carries a bill: disclosure duties, regulatory penalties, damages to customers whose data moved, trade secrets that lose the protection secrecy gave them. The mercy is that it has edges. It leaves a trail. You can ask what left, when, and through which token, pull the grant, and put a number on the exposure.

Contamination

A liability you cannot close

Foreign data enters a corporate workflow and does not stay put. Another team's code, someone else's copyrighted text, a second customer's records — copied into a document, embedded into a vector store, summarized into a report, shipped inside a product. The provenance is lost, and the enterprise can no longer prove that what it owns is clean. That is where the money is: infringement and indemnity claims, licenses that force disclosure or fees, a chain of title no diligence will bless, a valuation marked down or a deal called off. Remove the source and the descendants remain.

You cannot revoke a fact that has already been read, or unlearn one that has already shaped an output. Removing the source does not remove its descendants.

Exfiltration is a breach you can close. Contamination is a liability that stays open.
03 · The blind spot

Why the existing controls miss it

The existing controls are not blind. Identity Threat Detection and Response (ITDR) flags suspicious logins. Cloud Access Security Brokers (CASB) and SaaS Security Posture Management (SSPM) can tell a personal account from a corporate one. Data Loss Prevention (DLP) may catch a file moving between services.

Each control sees its own slice in isolation. The identity provider sees a valid login. The OAuth provider sees a valid grant. The secure web gateway sees an approved domain. Every signal is legitimate on its own.

Identity provider (IdP)sees a valid login
OAuth providersees a valid grant
Secure web gatewaysees an approved domain
ITDRsees no suspicious login
CASB / SSPMsees a known account
DLPsees an allowed transfer
Seen by no one
The pairing: which identity operates the app × which identity authorized the resource. The decision that mattered most, owned by neither control.
Six controls, six valid signals. The pairing lives in the half-second inside the chooser, between them all.

What no single control sees is the pairing: which identity is operating the AI application, and which identity authorized the connected resource. That pairing is the decision that mattered most, and it lives in the half-second inside the chooser, between two controls, owned by neither.

Agents make it quieter still. When a connector binds through an OAuth flow, it attaches to whichever identity is active or selected, and it does so without a human watching the dropdown at all. A personal GitHub account becomes attached to a corporate coding agent. A corporate repository becomes attached to a personal AI workspace. There is no malicious intent. No clever attack. No bypass. Just the wrong click, or no click at all.

04 · The objection

The standard is closing the chooser

Some will say the click is already solved. In June, the Model Context Protocol made Enterprise-Managed Authorization stable. It removes the chooser. The identity provider decides in advance, and the personal account never appears in the list. The account-selection mistake cannot happen if there is no selection to make.

That is real progress. It is also narrow. It governs the connectors that have adopted it, reached through the identity providers that support it, inside the organizations that have configured it. Today that is seven connectors and one identity provider, in beta. Every other AI app still presents the dropdown. Every unmanaged tool still trusts the human.

And where the chooser is gone, one thing does not change. The protocol governs which bridge is built. It does not govern what crosses once the bridge is standing. It authorizes the connection. It does not watch the traffic. Removing the wrong click is not the same as supervising the right one.

Supervision begins at the click. It does not end there.
05 · Supervision

Supervision starts at the click

The pairing is the signal. The pairing is what gets missed.

The account chooser was never designed to understand enterprise trust boundaries. It presents identities and trusts the human to choose correctly. That is no longer enough. AI applications now act across documents, code, customer data, internal systems, and connected tools. A single account-selection mistake hands an assistant reach into the wrong world.

A hand about to press one row of a dropdown, a magnifying lens hovering over that exact row
The account chooser presents identities and trusts the human. Supervision watches the row before the finger lands.

Classie supervises that moment. Across its three stages, Discover, Analyze, and Supervise, it observes which identity is operating the application, which resource is being connected, and whether the pairing crosses trust domains.

01 · DISCOVER
See the bridges
Where Identity Crossovers are happening across your AI apps, agents, and connected resources. You cannot supervise a bridge you cannot see.
02 · ANALYZE
Read the pairing
Who connected what, when, and how often, and whether the pairing of operating identity and authorized resource crosses a trust domain.
03 · SUPERVISE
Hold the line
The user is warned before the wrong account is connected, or the connection is blocked before the bridge forms.

At Discover and Analyze, security teams can finally see where Identity Crossovers are happening: who connected what, when, and how often. At Supervise, visibility becomes enforcement.

The difference is not the app. It is not the model. It is not even the prompt. It is the identity selected in the dropdown.

In short
  • The account chooser is a trust boundary in disguise. A half-second click decides which world an AI app is allowed to reach.
  • An Identity Crossover joins two trust domains. Corporate app to personal storage, or personal app to corporate data. The direction varies. The bridge is the problem.
  • One crossing, two consequences. Exfiltration is a breach you can bound. Contamination is a liability that stays open.
  • Every existing control sees a valid slice. None sees the pairing: which identity operates the app, and which identity authorized the resource.
  • The standard is starting to help. It does not finish the job. Enterprise-Managed Authorization can remove the chooser. It does not govern what crosses once the bridge is standing.
  • Classie supervises the click. Discover, Analyze, Supervise: warn or block before the bridge forms.
It was the best of clicks. It was the worst of clicks.
In the age of AI agents, that click deserves supervision. So does everything after it.