Web Apps — Auxiliary Feature Template
Use this page when scaffolding or redressing a browser-delivered product (SPA, MPA, SSR app, PWA, admin console). Parent: Delivery classes. Vocabulary: Auxiliary features. Dense UI architecture notes: UI-heavy web applications.
Must-understand constraints
-
Deploy is the updater for classic web apps—CI/CD to a CDN or host is the update path; still expose what build the tab is running.
-
PWAs / service workers need an explicit “new version available — Reload” UX; silent swap mid-session causes mysterious bugs.
-
Account and privacy surfaces are first-class (cookies, consent, deletion) under common regulations and store-adjacent policies.
-
Marketing sites and logged-in apps share a brand but not the same Band A list—don’t burden a brochure page with a debug dump.
Auxiliary feature matrix
| Feature | Band | Done means |
|---|---|---|
Build / version identity |
A |
Visible in UI footer, About route, or |
Help / docs entry |
A |
In-app Help or Docs link to version-appropriate documentation; search if docs are large |
Error boundary + report |
A |
Uncaught UI errors show recovery UI; offer “copy diagnostics” (redacted) or support link |
Auth session UX (if any) |
A |
Sign-in/out; expiry handling; clear error when session dies mid-action |
Privacy / cookie consent |
A |
Required banners/controls; document telemetry; honor DNT/consent mode where you claim it |
Status / incident link |
A |
Status page URL reachable from Help or error states when you run multi-user SaaS |
Connectivity honesty |
A |
Offline / degraded banner when APIs fail; retry; avoid infinite spinners |
Safe deploy / rollback |
A |
CI pipeline can roll forward/back; health check gates traffic — Build pipeline |
PWA update affordance |
A* |
Required if you ship a service worker: detect waiting worker → prompt reload |
What’s new |
B |
In-app release notes or changelog for signed-in product changes |
Account settings |
B |
Profile, sessions, devices, notification prefs; account deletion when legally/store required |
Support / contact |
B |
Ticket/email/chat entry with build id attached or copyable |
Feature flags / experiments |
B |
Named flags; dump includes flag set; kill-switch path documented |
Accessibility baseline |
B |
Focus order, labels, contrast on primary flows; keyboard for critical actions |
Localization |
C |
Locale routing or picker; RTL if you claim it |
Admin / audit extras |
C |
For B2B: audit log export, SSO config, SCIM—as product requires |
Client debug dump |
B |
Copy redacted env (build, route, feature flags, approx clock skew)—no tokens |
Performance budgets |
B |
Documented; monitored on critical routes (see UI-heavy web apps page) |
Security headers / CSP |
A |
Deployed with sane defaults; documented exceptions |
Help for web apps
Minimum Help route (/help or docs link) should cover:
-
How to get support (and what to paste: build id, time, rough steps)
-
Where status/incidents are published
-
Privacy summary link
-
For PWAs: how updates apply (reload prompt)
Keep Help reachable when partially broken—a static route or external docs host beats a Help modal that depends on the failing API.
Updates and cache
| Model | Practice |
|---|---|
Classic multi-page / SSR |
Fingerprinted assets; cache headers; users get new HTML on navigation; document hard-refresh for sticky tabs |
SPA |
Fingerprinted bundles; version check endpoint or meta tag; optional “refresh to update” toast when API requires newer client |
PWA |
Service worker |
Force-upgrade when the API breaks old clients: API returns a dedicated error → UI blocks with “Reload to update” rather than a generic 400 loop.
Suggested chrome map
User menu
Account settings
Preferences
Help / Docs
What's new
Status page
Sign out
Footer or About
Build id · Privacy · Terms · Support
Related
-
Services — API health/version pairing