Member Role Review Patterns
Permission Delta
A static permission difference list shows Keeps View projects, Gains Comment on drafts, Loses Publish updates, and Review differences.
Program
Permission delta lists should make changes readable without computing policies, mutating access, or calling an ACL engine.
permission_difference_list.html
Visuals: captured from real browser rendering
<section class="permission-delta" aria-labelledby="permission-delta-title">
<h2 id="permission-delta-title">Permission differences</h2>
<ul aria-label="Permission difference list">
<li><strong>Keeps</strong> View projects</li>
<li><strong>Gains</strong> Comment on drafts</li>
<li><strong>Loses</strong> Publish updates</li>
</ul>
<p class="status"><strong>Status</strong> <span class="badge">Review differences</span></p>
<p class="note">Static permission difference list only; no permission engine, policy service, auth service, mutation, save, storage, route, API, network, script, or live access change runs.</p>
</section>
<style>
.permission-delta { display: grid; gap: 10px; max-width: 38rem; border: 1px solid #64748b; padding: 12px; }
.permission-delta ul { display: grid; gap: 8px; margin: 0; padding-left: 1.25rem; }
.permission-delta li { padding: 6px 8px; border: 1px solid #cbd5e1; }
.status { border: 1px solid #60a5fa; background: #eff6ff; padding: 8px; }
.badge { border-radius: 999px; background: #dbeafe; padding: 2px 8px; }
.permission-delta p, .note { margin: 0; }
.note { color: #475569; }
</style>
Label the permission difference list.

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

The kept permission is exact pinned data. Show the Gains row.

The gained permission is exact pinned data. Show the Loses row.

The lost permission is exact pinned data. Show the review status.

The status is visible as a static badge. Check permission delta honesty.

Keeps, gains, loses, status, and no policy service.
readable visual list
The section heading names the permission difference surface.
permission delta
Keeps, Gains, Loses, and Status values are exact pinned data.
no policy engine
The lesson should not imply permission engines, policy services, auth services, mutations, saves, storage, routes, APIs, scripts, or live access changes.