Revocation Affordances

Revocation affordances is an AI UX pattern that places a clear revoke or disconnect control next to every grant of data, tool, or account access. Users can undo permission without hunting through buried settings.

Share

Interactive demo

Settings → Connections

Connected apps

Disconnect anything this agent shouldn't use anymore.

1 app connected

Apps

Slack

Post in #ops-alerts, read public channels. Connected Tue.

Overview

The design problem

How might we design revocation affordances so people can trust and act on AI output?

Use this pattern

When this pattern fits

  • Essential for OAuth-based agents, connector marketplaces, and enterprise assistants where users must routinely review and withdraw access without friction.

Avoid this pattern

When to skip or lighten it

  • One-shot local demos with no persistent grants.
  • Permissions that are legally non-revocable mid-contract (explain that constraint instead).
  • Read-only public data where there is nothing privileged to revoke.

States

State model coming soon

Key UX elements

Key UX elements coming soon

Anti-patterns to avoid

  • Connect buttons with revoke only in a distant account console.

  • Revoke that fails silently while the agent keeps working.

  • Bundled revoke-all with no per-connector control.

  • Hiding revoke behind support tickets.

How products use it

ProductImplementation
Google AccountThird-party access list with per-app Remove.
SlackApp management with uninstall and token revoke.
GitHubOne-click revoke for PATs and OAuth apps.
ChatGPTConnected apps and connectors with disconnect controls.

Implementation

Copy this prompt to generate a production-ready implementation in Cursor, Claude Code, Lovable, or any AI coding agent.

Generate a production-ready implementation of the "Revocation Affordances" AI interface design pattern.

Pattern Definition:

Frequently asked questions

What are revocation affordances?

They are obvious UI controls that let users withdraw previously granted agent or app permissions, ideally beside the original grant.

Where should revoke live?

Next to the connector chip, in the permission receipt, and again in account settings. Dual placement beats settings-only.

What happens after revoke?

Stop new tool calls immediately, show confirmation, and list what still needs manual cleanup (cached files, scheduled jobs).

How does this relate to granular consent?

Granular consent decides what is granted. Revocation decides how easily it can be taken back. Ship both.

Weekly AI UX in your inbox

Weekly AI interface UX notes and resources on Substack, no spam, unsubscribe anytime.

Subscribe on Substack