Information Architecture Detail layer Global elements

The seven global elements

The reusable chrome and sections: nodes 0.1 to 0.7. Not screens, so not the node template.

Nodes 0.1 to 0.7Type: sectionMVP 7 components, 28 variantsnoindex

Source: docs/nodes/globals.md. Consolidated from the five cluster artifacts these seven were scattered across: navigation.md (GC1, GC2), core.md (GC3, GC4), alerts.md (GC5), account.md (GC6), pro.md (GC7). The real reader of this page is the next stage: Tokens and Components takes its component list from here, not from a screen.

The contract

A component has no URL, no SEO and no job of its own, so the eleven-point node template does not fit it. Seven points do, and they are fixed here the way node 1.1 fixed the template for screens.

  1. What it is, in one line.
  2. Where it appears, node by node.
  3. Content, in order. Back or menu, then the screen title or, on the app variant of the You tab, a greeting built from the address on file, then one contextual action slot.
  4. Variants.
  5. States.
  6. What it must never do, each rule traced.
  7. Who owns the strings, and what the next stage inherits.

GC1 App Header

The top strip of every steady-state screen: where you are, one way back, and at most one thing to do.

Appears onEvery node from 2.6 onward. Hidden or replaced across the whole onboarding chain (1.2 to 1.5). Node 1.1 does not use it at all: the public landing has its own marketing top nav with section links, sign in and a Get started action.
StringsOwned by microcopy.md.
Next stageOne component, six variants.
#Part, in orderRule
1Back or menuAn accessible name that says where back goes
2The screen titleThe name of the place, not a slogan
3One contextual action slotAt most one, and never icon-only. On the Pro cluster it carries the plan chip instead of an action: status is not a thing to do

Variants. App (title, with the tab bar below), detail (back plus title: nodes 2.7, 4.9, 5.12, 6.14, 6.15), minimal (node 4.10, nothing competing with the moment), light (node 4.11), onboarding (brand mark only), no-account-yet.

States. Onboarding, signed-in, no-account-yet.

The ? on no-account-yet closed on 2026-08-10. It was waiting on the auth model, which is now decided: the manual path runs with no account, so this is not a trial mode with an expiry, it is the steady state of everyone who came in through node 1.4. The shell differs in exactly two places: the You tab lands on node 6.16.1 instead of node 6.16, and the header carries no greeting, because a greeting needs an address and this person has not given one. Nothing counts down, nothing says the word trial, and nothing nags. Built on settings-no-account.

Never. Two actions at once: one thing at a time (principle 2). An icon with no label. A count, a notification dot, or any badge that moves: a number that climbs is the thing this product exists to quiet. On desktop it folds into the top of the left rail rather than staying a separate bar.

One static chip is the exception, decided 2026-08-10. The plan word, Free or Pro, in slot 3 on the Pro cluster: node 5.12 with its states, node 5.12.4 and node 5.13 with its states, including 5.13.3 from 2026-08-10, nine pages in all. It counts nothing and never changes on its own, microcopy.md already owns those three lines as status rather than as a label, and node 5.12.4 exists only because a person on Free has to see which side of the gate she is standing on. It stays forbidden where it was already retired for reading as an upsell: nodes 2.6 and 2.7, whose job is the calm view. Ground: docs/decisions.md.

GC2 Global Tab Bar

Four destinations, always the same four.

Appears onEvery steady-state screen. Hidden across the whole onboarding chain.
StringsOwned by microcopy.md.
Next stageOne component, two layouts.
#Part, in orderRule
1Home, to node 2.6The root of the signed-in product
2Trends, to node 5.12The same money over time. Added 2026-08-18
3Alerts, to node 3.8A quiet dot when something is new, never a count
4You, to node 6.16The door to the account-and-trust cluster
Save, to node 2.6 in save focusRetired 2026-08-21. It was the FLAG 1 resolution, a state of Home rather than a screen, and that is exactly why it stopped being a destination. Its nudge is block 6b of node 2.6

Variants. Bottom bar on mobile, left rail on desktop. This is the main breakpoint delta of the whole product, decided once here so that no screen re-decides it.

States. Default with the current tab marked, hidden (onboarding), and a quiet dot on Alerts when something is new since the last visit.

Never. A fifth tab. A numeric badge. Red, anywhere, ever (D-Concept). A tab set that changes by persona or by plan: D3 gates what sits behind a destination, never the destination itself, and navigation that stays put is itself calming.

Save is not a destination either, since 2026-08-21. FLAG 1 asked where the Save tab should land and answered "Home, parameterized", which solved the build question and left the navigation one standing: a destination that is not a place. Measured, the state was 2099px tall at 390 with 331 of them its own, and nothing but the tab bar linked to it. The cancel candidates are now block 6b of node 2.6, shown only when they are true, and the bar carries four destinations instead of a door into a room you were already standing in.

GC3 Recurring Summary Strip

The count and the monthly total, and one line that gives them meaning.

Appears onNode 2.6, where it is the largest thing on the screen, and node 1.5, the reveal that produces it.
StringsOwned by microcopy.md.
Next stageOne component, two variants, three states.
#Part, in orderRule
1The subscription countPlain money language: "you are paying for 14 subscriptions"
2The monthly totalThe biggest number on the screen, because it is the answer
3One context lineThe number never appears without meaning beside it (D1)

Variants. One, "what you have signed up for". The savings variant retired 2026-08-21 with the Save tab: "you could save up to $X a month" made the calm view a savings pitch, and the figure is a fact about two rows rather than about the total, so it is stated on them in block 6b of node 2.6.

States. Populated, loading (a calm placeholder while the numbers resolve, not a spinner over them), empty (an invite, never a bare $0).

Never. A bare shock number with nothing beside it: D1 makes the reveal gradual and pairs the total with an action. A chart. Anything sold beside it, since the upsell was removed from node 2.6 on purpose and now lives on node 6.16.

Changed from core.md, 2026-08-04. That file lists node 5.12 as a third place this strip appears. It does not appear there: the strip states the present, node 5.12 states the past, and the trends screen already carries the current figure in its own text summary. Two renderings of one number on one screen is the duplication the calm principle exists to prevent. Recorded as a change, not left as drift.

GC4 Subscription List Item

One recurring charge, as a row. The most repeated object in the product.

Appears onNode 2.6 (the list), node 1.5 (the reveal), node 2.7 (as the hero of the detail).
StringsOwned by microcopy.md.
Next stageOne component, six variants. This is the component the design system should get right first.
#Part, in orderRule
1The merchant logoRecognition before reading
2The real merchant nameNot the bank string. That is what the decoder line on node 2.7 is for
3The amount and the cycleTogether, so the amount is never ambiguous
4When the next charge lands"in 6 days" leads, the date follows
5A quiet status tagGray by default (D-Concept)

Variants. Default; attention (amber, when a price changed or a payment failed); cancel-candidate (in save focus, with an inline cancel affordance); unrecognized (the name could not be resolved, so the row says "tap to name this charge" instead of pretending); trial; cancelled (muted). Hero, on node 2.7.

States. As the variants, plus loading, which is a skeleton row.

Never. Red for a status: status is a quiet gray badge, a price change is amber, and only a genuine error is clay (D-Concept). A cryptic bank string shown as if it were a merchant name. A checkbox column. A row where only part of it is tappable.

The trend row is not GC4. Node 5.12 lists rows that carry a change rather than a next charge. They answer a different question, so they are a different component, specified in the round that builds cluster 5. Named here so the difference is a decision.

GC5 Alert Item

One thing that happened, in one plain sentence, with one thing to do about it.

Appears onNode 3.8 (the feed), node 2.6 (at most one, as the attention row), node 2.7 (scoped to one subscription).
StringsOwned by microcopy.md.
Next stageOne component, five type variants.
#Part, in orderRule
1A type iconThe type before the text
2One plain sentenceActive voice, first person for the product (M1)
3The merchant and the amountNumbers always in context (principle 3)
4WhenDays lead, dates follow, as on GC4
5Where it came fromAn alert that cannot say this is a rumour
6One inline actionAn alert with no action is a notification

Variants. Price change (the old price beside the new one and the difference), payment failed (desaturated clay), trial ending, upcoming charge, newly detected subscription.

States. Default, read, and gated for a free person on the Pro-only types.

Never. Passive voice: "we could not take your payment", never "payment declined" (master-research M1, a copy rule enforced on this component). A red dot or a count.

GC6 Data Source and Trust

Where this figure came from, when it was last checked, and what we can and cannot do with the connection.

Appears onNode 6.14 in full, node 6.15 short, and as one line on nodes 1.3, 2.6 and 2.7.
StringsOwned by microcopy.md.
Next stageOne component, three variants, three states. It carries E3 on four different screens.
#Part, in orderRule
1The current source, a bank or "added by you"The manual path is a source, not a lesser mode
2Read-only, and that we cannot move your moneyStated in the same breath as the bank, never in a policy
3The last successful checkA freshness claim always has a date behind it
4A link to the full answer on node 6.15One tap from anywhere the question arises

Variants. Full row (a card per source), one line (inside another screen), short (a header strip).

States. Bank-connected, private and manual, needs-reauth.

Never. "Bank-level security" and any other reassurance that is a phrase instead of a fact: vague security language is precisely what this audience distrusts (master-research M2). A figure with no source.

The last successful check exists in none of the sources the bank read. It is the block that makes the difference on this component: a silently stale connection makes the whole calm view quietly wrong, and the person has no way to know.

GC7 Pro Gate and Plan Chip

Two things in one component, and saying so is the point: the chip states the plan, the gate offers the upgrade. They are never the same element and never in the same place.

Appears onThe chip on node 6.16 (its home on paper: the built settings screens render a plan word in the group head instead, and the chip class appears on none of them, recorded as a gap in the kit inventory), and in the GC1 header slot across the Pro cluster: node 5.12 with its states, node 5.12.4, node 5.13 with its states. That is nine header pages (corrected 2026-08-10: GC1's line said nine and this one said eight; a grep for the chip class returns nine, and node 5.13.3 is the ninth), and it is the exception named under GC1. The gate at real gated features only: the lock on node 5.12, the Pro alert types on node 3.8, the Pro depth block on node 4.9.
StringsOwned by microcopy.md.
Next stageTwo components that ship together.
#Part, in orderRule
1The chip: the plan nameAnd nothing else. It states, it does not sell
2The gate: what this unlocks, in one lineAt the moment the person wants the thing
3The gate: an upgrade action into node 5.13Which then names the gate the person came from

Variants. Chip (free, Pro) and gate (an inline block, and the full-screen lock on node 5.12).

States. Free (the gate is shown at gates), Pro (a badge, and no gate anywhere).

Never. A standing invitation to pay: the gate only ever appears where a person wants the thing it unlocks. At basic visibility, which is node 2.6 (D3). At the cancel moment, which is nodes 4.9 and 4.10 (D3). On the two alert types that carry J4, a price change and a failed payment, which are basic and free.

One lock treatment, and the contradiction that produced it (2026-08-04). pro.md locks "a real preview frame, not a fake blurred chart" for node 5.12. alerts.md locked the opposite for the same job: a Pro alert "rendered as a gated, blurred-with-label item". GC7 renders both, so it cannot hold both rules. Resolved to no blur anywhere, by applying the pro.md rule, which is the one grounded in principle 4: a blur pretends there is text being withheld, and on a money screen an anxious person fills that blur with something bad. The honest form states the type and the merchant, says that something was noticed, and holds back only the explanation: "We noticed something about Netflix. Tendd Pro explains what." alerts.md was corrected to match; if this is wrong, it is wrong visibly and in one place.

What this page hands over

Seven components, twenty-eight variants (6, 2, 2, 6, 5, 3, 4), and a written rule for each about what it must never do.

Tokens and Components builds from this list, the wireframes draw it, and nothing else in the project may invent an eighth global element without a row here. Two of the seven carry a rule that no source in the block bank had: the last successful check on GC6, and the source line on GC5.