Node 9Phase IAPage-level

System Pages

Not found, server error, maintenance, consent, and toasts: the app's connective tissue.

Job: None directly; these protect the calm-and-trust experience when something goes wrong.

Type: States, Sections

System pages

The cross-cutting states owned by no cluster: not found, server error, maintenance, the consent banner, and toasts.

Recommendations

Nodes 9.1 to 9.5

State

9.1 Not found (in-app)

  1. P"We could not find that."
  2. S"The page may have moved, or the link may be old."
  3. P"Back to my list" → Home
State

9.2 Server error

  1. P"Something went wrong on our side."
  2. S"This is usually temporary."
  3. P"Refresh" and "Back to Home"
Section [?]

9.4 Consent banner

  1. PPlain statement of what is set and why [? pending cookie decision]
  2. P"Accept" and "Only essential", equal choices
  3. SLink to the privacy explanation
Section

9.5 Toasts

  1. P"Subscription added."
  2. P"Removed." with "Undo"
  3. S"Couldn't refresh, showing your last update."

StateReads likeTrigger
9.1 not-foundCalm heading plus "Back to my list", chrome intactUnknown in-app route
9.2 server-errorStandalone minimal template, Refresh / HomeHard load or backend failure
9.3 maintenanceNot builtn/a at MVP
9.4 consentConditional banner[? only if a non-essential cookie is set]
9.5 toast"Added", "Saved", "Removed / Undo"A routine action

Mockups

9.1 Not found
We could not find that

The page may have moved, or the link may be old.

Back to my list
9.2 Server error
Something went wrong on our side

This is usually temporary.

RefreshBack to Home
9.5 Toast, undoable

Removed.

Undo
9.5 Toast, recoverable

Couldn't refresh, showing your last update.

SEO, Accessibility, Mobile

SEO. In-app not-found is noindex; a true server 404 returns a real 404 status. No schema.

Accessibility. Headings are the focus target; the server-error template does not depend on app JS; toasts use role=status, undo is reachable for the toast lifetime; the consent banner does not trap and offers equal choices.

Mobile. No structural delta; toasts anchor above the tab bar on mobile, to a corner on desktop.

Locked (draft, 2026-07-03) / Open

Locked. Calm not-found and server error with a way home; no maintenance page at MVP; toasts non-blocking and distinct from dialogs.

Still [?]. The consent banner, pending the PostHog cookie decision and the deferred EU review.