Connected App Permission Patterns
Disconnect App
A static disconnect warning shows Calendar Sync, Stops new calendar holds, existing holds stay visible, and a Disconnect app button.
Program
Disconnect warnings should explain the visible effect before implying token revocation, app disconnection, or integration changes.
disconnect_app_warning.html
Visuals: captured from real browser rendering
<section class="disconnect-warning" aria-labelledby="disconnect-title">
<h2 id="disconnect-title">Disconnect app warning</h2>
<dl>
<div><dt>App</dt><dd>Calendar Sync</dd></div>
<div><dt>Effect</dt><dd>Stops new calendar holds</dd></div>
<div><dt>Existing holds</dt><dd>Stay visible</dd></div>
</dl>
<button type="button">Disconnect app</button>
<p class="note">Static disconnect warning only; the button does not route, save, connect, disconnect, authorize, revoke, change permissions, or call integrations.</p>
</section>
<style>
.disconnect-warning { display: grid; gap: 10px; max-width: 38rem; border: 1px solid #b45309; padding: 12px; background: #fffbeb; }
.disconnect-warning dl { display: grid; gap: 8px; margin: 0; }
.disconnect-warning dl div { display: grid; grid-template-columns: 9rem 1fr; gap: 8px; }
.disconnect-warning dt { color: #475569; }
.disconnect-warning dd, .note { margin: 0; }
.disconnect-warning button { justify-self: start; padding: 8px 12px; }
.note { color: #475569; }
</style>
Label the disconnect warning.

The section is labelled by its visible heading. Show the app row.

The app name is exact pinned data. Show the effect row.

The effect is exact pinned data. Show the existing holds row.

The existing-holds value is exact pinned data. Show the disconnect affordance.

The button is type button and does not disconnect anything. Check disconnect honesty.

App, effect, existing holds, button, and no revoke service.
static warning
The section heading names the disconnect warning surface.
effect readback
App, effect, existing-holds text, and button label are exact pinned data.
no revoke service
The lesson should not imply OAuth flows, tokens, auth APIs, connected-app APIs, integration APIs, calendar APIs, or permission APIs.