Site icon Spherical Cow Consulting

Is Introspection a Bug or a Feature?

Magnifying glass focusing a laptop, smart phone. Introspection of technology.

Magnifying glass focusing a laptop, smart phone. Introspection of technology.

When we talk about introspection in digital identity, we’re not just talking about what happens in OAuth 2.0. Yes, there’s a token introspection spec, but this post is about something broader: the idea that platforms—especially browsers—can inspect and influence the identity data being exchanged.

Is that a good thing? Apple and Google disagree on just how much introspection is required. And, unfortunately for my piece of mind, I can definitely see both sides of the argument.

What Is Introspection in Web Identity?

In OAuth, introspection allows a system (typically a resource server) to ask a trusted party whether a token is valid and get details like the user, scope, and expiration time.

But the concept of introspection has grown. On the web, it now also means the ability of browsers or platforms to inspect credential requests and responses in order to enforce policy, mediate UX, or protect users.

When a platform introspects, that could mean:

The question is: how much of that should the browser do by default?

Some say introspection is essential to prevent misuse and protect people. Others argue it creates surveillance risks and makes systems harder to build and scale. Both arguments make valid points, and Apple and Google are not entirely aligned. If you’re expecting a consistent user experience across browsers and mobile platforms, this split is a problem.

A Quick Aside: Inspection vs. Introspection

(Because language matters and I needed to look this up myself.)

Inspection is about checking whether something is safe to process, typically by looking at its structure or syntax.
Introspection is about understanding what something means and making decisions based on its content.

In digital identity:

To put it another way:

Inspection asks, “Is this safe to handle?”
Introspection asks, “What is this trying to do?”

That distinction matters, especially when deciding how much power the browser (or any other entity in the system) should have.

Two Tech Giants, Two Opposing Philosophies

I don’t think you’ll find these positions formally documented anywhere, but based on conversations I’ve had and observed, it boils down to this:

Both companies agree that the browser, as the user agent, has the right to intervene if it believes a request is actively malicious, but they differ in how proactive the browser should be by default.

These positions ultimately shape APIs, UX flows, and developer expectations across major identity protocols. They even impact regulatory discussions as lawmakers argue about what they most want to protect the user from: Big Tech or everyone else.

(For a closer look at how these differences are shaping actual standards work, including the emerging Digital Credentials API at the W3C, I covered some of the details in this earlier post.)

📩 Want to stay updated? I write about digital identity and related standards—because someone has to keep track of all this! Subscribe to get a notification when new blog posts go live. No spam, just announcements of new posts. [Subscribe here] 

Enter Alice: A Real-World Example of Identity in Action

We all love Alice; she is the subject of many a tech story! Let’s say Alice goes to vote in a local election. She’s asked to scan a QR code, which opens her phone’s browser. The verifier (e.g., the state election site) sends a request to her digital identity wallet asking for name, age, home address, and proof of citizenship.

The problem? That’s not a single request. It’s really four separate ones. And Alice has more than one credential that could answer each, e.g., a mobile driver’s license and a mobile passport. Who decides which credentials are shown to Alice? Who ensures that the request is legitimate and not asking for too much?

That’s where introspection—by the browser, wallet, or platform—becomes a question of control.

It’s worth pointing out that neither Apple nor Google has said they want the browser to inspect everything or nothing. What they’ve done is adopt different implementation strategies:

Both reserve the right to step in if a request seems actively harmful. But their default assumptions about the browser’s role do differ, and that shapes how developers must design for each environment.

Should the Browser Mediate or Stand Back?

If the browser only performs inspection, Alice’s experience might depend entirely on the wallet. That could mean an inconsistent user experience, especially if she has multiple wallets or credentials from different issuers.

If the browser goes further—into introspection—it could help Alice choose appropriate credentials, warn her if a verifier is overreaching, or even block suspect requests.

But that also means the browser has access to more metadata about what’s being requested and how Alice is interacting with verifiers. That’s a privacy concern in itself and ultimately a trade-off each platform has to make.

What This Means for Digital Identity Developers

The lack of consensus means that digital identity wallets, verifiers, and browsers are often behaving differently depending on what platform you’re using or developing for. That leads to:

These differences are baked into major specs: OpenID for Verifiable Credentials (OpenID4VC) for digital credentials in general and ISO 18013-5 for mobile driver’s licenses all take a stance on who gets to inspect what.

These aren’t just product design differences—they affect how global standards get written. If the browser is deeply involved, specs like OpenID4VC or ISO 18013 need to account for that. If not, then the wallet has to take full responsibility for consent and UI, which introduces fragmentation risks across platforms.

Developers are caught in the middle, trying to build usable systems that work across platforms with different requirements.

TL;DR: What’s at Stake with Introspection?

The answers affect more than architecture; they shape the identity experience itself.

So, Is Introspection the Bug or the Feature?

In digital identity, introspection can be either.

What’s needed is nuance, which is insanely challenging. Right now, we’re stuck in a binary: inspect everything or inspect nothing.

What Comes Next?

Should browsers protect users from overly ambitious verifiers? Or is it time to let wallets and holders take full responsibility?

The question isn’t just technical. It’s political, ethical, and practical. And like so much in identity, it comes down to one thing:

Who do we trust to protect Alice?

I’d love to hear how others are thinking about this. Is there a better path forward? Should introspection evolve or be reined in?

Exit mobile version