figma guide
Designing breach settlement program wind-down and portal closure UI in Figma: WIN-* closure campaigns, final notices, and claimant redirect flows
Design breach settlement program wind-down and portal closure UI in Figma with WIN-* closure campaigns, final claimant notices, read-only grace periods, and redirect flows to archive FAQ.
- Published
- Updated
- Sep 04, 2026
- Read time
- 9 min
- Level
- Intermediate
Quick answer
Wind-down UI closes the settlement program without stranding claimants who still have open CLM- or PAY- status.** Design WIN- closure campaigns* that sequence final notices, read-only grace periods, and hard portal shutdown on a court-approved timeline—after final accounting and court monitor sign-off. Claimants see clear next steps: download records, contact call center before deadline, or follow redirect to notice FAQ archive. Admins get a closure checklist blocking WIN-* completion until disbursements, UCF, and RSP-* remediation are resolved. Start from the Figma guides hub and pair with inline alerts, account dashboard, and Dev Mode handoff.
Who this is for
- Product designers building settlement administrator portals that must sunset claimant-facing access on a fixed schedule.
- Settlement administrators coordinating final communications, grace periods, and portal redirects without losing audit trail.
- Class counsel and court monitors verifying closure gates before the program is archived.
Wind-down lifecycle overview
WindDownCampaign — WIN-992-001 · settlement_id: SET-992 · Status: Grace period
├── Triggers:
│ ├── Court approves [final accounting](/designing-breach-settlement-final-accounting-and-court-closure-ui-in-figma/)
│ ├── MON-* attestation received ([court monitor](/designing-breach-settlement-court-monitor-and-special-master-reporting-ui-in-figma/))
│ ├── All PAY-* batches reconciled · UCF routed
│ ├── Open DIS-* disputes resolved or escalated to archive-only
│ └── Admin counsel signs closure readiness memo
├── ID namespace:
│ ├── WIN-* (wind-down campaign) · NOT-* (notice template send)
│ ├── PH-* (portal phase) · RED-* (redirect rule)
│ ├── CHK-WIN-* (closure checklist item) · LOG-WIN-* (closure activity)
│ └── BNR-* (global portal banner)
├── Portal phases (PH-*):
│ ├── Active — full claimant self-service
│ ├── Wind-down announced — BNR-* + email NOT-*
│ ├── Grace read-only — view CLM-* · download docs · no new submissions
│ ├── Hard close — login blocked · RED-* to static archive
│ └── Archived — admin read-only · [ARC-*](/designing-breach-settlement-archive-and-long-term-record-retention-ui-in-figma/) only
├── Closure gates (must pass before next PH-*):
│ ├── Zero pending PAY-* in flight
│ ├── No open REM-* on material FIND-*
│ ├── Call center script updated for closure FAQ
│ └── Redirect targets tested (404 check)
└── Outcomes:
├── Claimants informed · records export window honored
├── Portal closed · traffic to archive FAQ
└── WIN-* closed → handoff to archive retention UI
| PH state | Claimant can | Admin can |
|---|---|---|
| Active | Submit · amend · track | Full ops |
| Announced | Same + see closure date | Schedule NOT-* |
| Grace read-only | View · export · contact support | No new CLM-* approve |
| Hard close | Static page only | Monitor redirects |
| Archived | External FAQ only | ARC-* access |
Verdict: Never hard-close while PAY- or open deficiency cure windows remain—grace period exists to prevent support avalanches.*
WIN-* campaign dashboard and CHK-WIN-* closure checklist UI
WindDownDashboard — WIN-992-001 · target_hard_close_at: 2026-11-15
├── Header:
│ ├── Settlement name · current PH-* phase · days until hard close
│ ├── Court order ref · MON-* closure attestation status
│ └── Blockers count (CHK-WIN-* incomplete)
├── CHK-WIN-* checklist (ordered · blocking):
│ ├── Final accounting filed ([FIN-*](/designing-breach-settlement-final-accounting-and-court-closure-ui-in-figma/))
│ ├── All disbursement batches closed ([PAY-*](/designing-breach-settlement-payment-disbursement-and-payout-tracking-ui-in-figma/))
│ ├── UCF / escheatment filed ([UCF-*](/designing-breach-settlement-unclaimed-funds-and-escheatment-ui-in-figma/))
│ ├── Residual / cy pres allocated ([RES-*](/designing-breach-settlement-residual-fund-and-cy-pres-allocation-ui-in-figma/))
│ ├── Open disputes documented for archive ([DIS-*](/designing-breach-settlement-claims-dispute-and-appeals-ui-in-figma/))
│ ├── Auditor / monitor engagements closed ([AUD-EXT-*](/designing-breach-settlement-external-auditor-access-and-read-only-review-portal-ui-in-figma/) · MON-*)
│ ├── Final NOT-* email/SMS sent · delivery report
│ ├── Grace period start/end configured
│ ├── Redirect rules (RED-*) QA passed
│ └── Call center + [notice FAQ](/designing-breach-faq-and-notice-landing-page-ui-in-figma/) updated
├── Phase transition controls:
│ ├── "Advance to grace read-only" — requires checklist subset
│ ├── "Schedule hard close" — date picker · timezone · confirm modal
│ ├── "Execute hard close now" — break-glass · dual approval
│ └── Rollback one phase (admin only · LOG-WIN-* reason required)
├── Metrics during wind-down:
│ ├── Logins during grace · export downloads count
│ ├── Support tickets tagged WIN-closure
│ ├── Redirect 302 hits after hard close
│ └── Failed login attempts (claimants confused)
└── Activity feed:
├── PH-* transitions · NOT-* sends · RED-* changes
└── LOG-WIN-* immutable audit trail
Pair checklist UX with security posture dashboard patterns—blockers should be obvious, not buried in settings.
NOT-* final notices and BNR-* portal banner UI
ClosureNotice — NOT-WIN-992-FINAL · win_id: WIN-992-001 · channel: email + in-app
├── Notice content blocks:
│ ├── What is changing (portal closing · date · timezone)
│ ├── What claimants should do before deadline
│ │ ├── Download claim confirmation / payment proof
│ │ ├── Save [status portal](/designing-breach-settlement-claim-status-portal-and-claimant-dashboard-ui-in-figma/) PDF
│ │ └── Contact [call center](/designing-breach-call-center-and-agent-script-ui-in-figma/) for open items
│ ├── After closure: redirect URL · archive FAQ · mailing address for paper
│ ├── Legal disclaimer · no new claims accepted after date
│ └── Preferred language variants (if multilingual settlement)
├── BNR-* global banner (in-app):
│ ├── Dismissible until 7 days before hard close · then sticky
│ ├── Countdown to grace end · link to export help
│ ├── Severity escalates: info → warning → critical
│ └── Hidden after PH-* = hard close (replaced by static page)
├── Delivery tracking:
│ ├── sent_at · delivered_at · bounce count
│ ├── Resend to undelivered · alternate channel (SMS if consented)
│ └── Proof of notice stored for [compliance exports](/designing-compliance-exports-and-legal-hold-ui-in-figma/)
└── Templates:
├── wind_down_announcement · grace_reminder_7d · grace_reminder_24h · hard_close_confirmation
└── Preview with sample CLM-* merge fields
Use inline alert and toast patterns for in-app urgency without modal fatigue.
Grace read-only mode and claimant export UI
GracePeriodView — PH-GRACE · claim_id: CLM-992-004821 · read_only: true
├── Claimant dashboard changes:
│ ├── All action buttons disabled with tooltip ("Portal closed to new submissions")
│ ├── Prominent export CTA: "Download my records"
│ ├── Export bundle includes:
│ │ ├── Claim summary PDF · payment confirmation · uploaded EVD-*
│ │ ├── NOT-* receipt history · correspondence log
│ │ └── QR or reference number for call center lookup
│ ├── Status timeline frozen at last update · "Final as of {date}"
│ └── Link to disputes: "If you believe this is an error, contact us before {grace_end_at}"
├── Blocked actions (show reason):
│ ├── New claim · amendment · document upload
│ ├── Address change · payment method update
│ └── Appeal filing (unless court order extends window)
├── Admin override (rare):
│ ├── Break-glass extend grace 7 days · LOG-WIN-* · counsel ticket ref
│ └── Single-claim exception for court-ordered cure
└── Accessibility:
├── Export available in screen-reader-friendly HTML + PDF
└── Banner text not color-only (icon + copy)
Link export patterns to data portability and proof of deletion handoff notes for post-archive retention.
RED-* redirect rules and hard-close static page UI
RedirectRule — RED-992-001 · from: /claims/* · to: /settlement-closed
├── Rule types:
│ ├── Exact path → static archive page
│ ├── Wildcard /portal/* → /settlement-closed?ref=portal
│ ├── API 410 Gone for deprecated endpoints (document in Dev Mode)
│ └── Preserve query ?lang= for localized static page
├── Static archive page (post hard close):
│ ├── Settlement name · closure date · "Program complete"
│ ├── FAQ accordion: how to get records · contact · cy pres info
│ ├── Link to [notice FAQ](/designing-breach-faq-and-notice-landing-page-ui-in-figma/) (may be same content)
│ ├── Mailing address · call center hours (if still staffed)
│ ├── No login form · no PII collection
│ └── SEO: noindex · minimal tracking · cookie banner if needed
├── QA checklist before go-live:
│ ├── Deep links from old emails still land safely
│ ├── Mobile · PDF links · 404 scan
│ └── Monitor redirect volume first 72 hours
└── Admin preview:
├── "View as claimant after hard close" toggle
└── Simulate RED-* without executing PH-* transition
Comparison: wind-down vs adjacent settlement UI
| Surface | Primary audience | Timing | This UI adds |
|---|---|---|---|
| Final accounting | Court | Pre-closure | Claimant-facing sunset |
| Court monitor MON-* | Judge / special master | Ongoing | Closure attestation gate |
| Notice FAQ | Public claimants | Active program | Post-close static destination |
| Status portal | Claimants | Active | Grace read-only mode |
| Archive ARC-* | Admin / legal | Post-close | Long-term retention after WIN-* |
Handoff checklist (Dev Mode)
- WindDownCampaign — win_id (WIN-*), settlement_id, status_enum, target_hard_close_at, current_ph_enum.
- PortalPhase — ph_id (PH-*), win_id, phase_enum, started_at, ended_at.
- ClosureChecklistItem — chk_win_id (CHK-WIN-*), win_id, item_enum, completed_bool, completed_at, blocker_bool.
- ClosureNotice — not_id (NOT-*), win_id, template_enum, channel_enum, sent_at, delivery_stats_json.
- PortalBanner — bnr_id (BNR-*), win_id, severity_enum, copy_ref, dismissible_bool, active_until.
- RedirectRule — red_id (RED-*), win_id, from_pattern, to_url, http_status_enum.
- WindDownActivityLog — log_win_id (LOG-WIN-*), actor_id, action_enum, timestamp, metadata_json.
Common mistakes
| Mistake | Why it hurts | Fix |
|---|---|---|
| Hard close before PAY-* settles | Claimants panic · support spike | CHK-WIN-* payment gate |
| No export during grace | DSAR / goodwill failures | Prominent download bundle |
| Surprise closure date | Court / counsel backlash | NOT-* sequence + BNR-* countdown |
| Login error with no explanation | Trust collapse | Static page + FAQ on failed auth |
| Redirect loops | SEO / support nightmare | QA RED-* before PH-* advance |
| Grace too short (<14 days) | Elderly / low-digital claimants | Court-approved minimum |
| Admin console closes with portal | Ops cannot archive | Separate admin sunset phase |
| Delete data at hard close | Legal hold violation | WIN-* → ARC-* handoff |
| Same copy for all claimants | Confusing if DIS-* open | Segment NOT-* by CLM-* status |
| No LOG-WIN-* on phase change | Audit gap | Immutable activity log |
Recommended workflow
- Define WIN- timeline* from court order—announcement, grace length, hard close date.
- Build CHK-WIN- dashboard* with blocking gates tied to PAY-, UCF, MON-.
- Design NOT- templates and BNR-** with escalating severity and export CTAs.
- Prototype grace read-only claimant dashboard with disabled actions and export bundle.
- Configure RED- and static archive page*—preview before executing hard close.
- Execute phased rollout—announce → grace → hard close → handoff to archive UI.
FAQ
Can claimants still file disputes during grace?
Only if court order extends DIS- window* · Otherwise read-only with call-center escalation path · Document in CHK-WIN-*.
Admin portal closes same day as claimant portal?
No · Admin needs months for archive · Separate admin PH-* schedule.
What about returned payments during wind-down?
Block hard close until reissue complete or claimant unreachable documented · CHK-WIN-* item.
Multilingual settlements?
NOT- and static page* need parallel locales · RED-* preserve ?lang= · Test RTL if applicable.
Monitor must approve closure?
Often yes · ATT-MON-* on WIN-* readiness · Link from MON-* dashboard.
Public status page during wind-down?
Update status page to “Program closed” · Align messaging with BNR-*.
Next steps
- Design breach settlement archive and long-term record retention UI in Figma — Post-WIN-* admin archive
- Design breach settlement final accounting and court closure UI in Figma — Pre-WIN-* court gate
- Design breach settlement court monitor and special master reporting UI in Figma — MON-* closure attestation
- Design breach FAQ and notice landing page UI in Figma — Static redirect destination
- Design data retention policies and auto-deletion UI in Figma — Retention after archive
§ Keep reading