Share Link Permission Patterns
Expiry Notice
A static link expiry notice shows Project brief, July 31, 2026 expiry, 3 days before reminder, and Active preview status.
Program
Link expiry notices should show the date and reminder state without running clocks or reminder services.
link_expiry_notice.html
Visuals: captured from real browser rendering
<section class="expiry-notice" aria-labelledby="expiry-notice-title"><h2 id="expiry-notice-title">Link expiry notice</h2><dl>
<div><dt>Link</dt><dd>Project brief</dd></div>
<div><dt>Expires</dt><dd>July 31, 2026</dd></div><div><dt>Reminder</dt><dd>3 days before</dd></div>
<div><dt>Status</dt><dd><span class="badge">Active preview</span></dd></div></dl>
<p class="check">Learner check: the expiry preview is visible without running a scheduler.</p>
<p class="note">Static link expiry notice only; no expiry scheduler, clock watcher, reminder service, sharing service, storage, route, API, network, script, event listener, form submit, analytics, timer, or live expiry change runs.</p></section>
<style>
.expiry-notice { display: grid; gap: 10px; max-width: 38rem; border: 1px solid #1d4ed8; padding: 12px; background: #eff6ff; }
.expiry-notice dl { display: grid; gap: 8px; margin: 0; }
.expiry-notice dl div { display: grid; grid-template-columns: 8rem 1fr; gap: 8px; }
.expiry-notice dt { color: #475569; }
.expiry-notice dd, .check, .note { margin: 0; }
.badge { border-radius: 999px; background: #dbeafe; padding: 2px 8px; }
.note { color: #475569; }
</style>
Label the expiry notice.

The section is labelled by its visible heading. Show link row.

The linked item is exact pinned data. Show expiry and reminder rows.

The expiry date and reminder are exact pinned data. Render active-preview status.

The status badge says this is an active preview. Check expiry readback.

The check says the expiry preview is visible without running a scheduler. Check expiry honesty.

Link, expiry date, reminder, status, and no live expiry change.
step flow
step(1) labels the source, step(2) shows the linked item, step(3) shows expiry and reminder rows, step(4) shows active-preview status, step(5) checks the expiry readback, and step(6) checks the honesty note.
expiry readback
The section heading names the link expiry notice surface.
expiry rows
Link, Expires, Reminder, and Status values are exact pinned data.
no live expiry change
The lesson should not imply expiry schedulers, clock watchers, reminder services, sharing services, storage, routes, APIs, networks, scripts, event listeners, form submits, analytics, timers, or live expiry changes.