Every design system fails at the same two moments: when somebody wants a component that does not exist, and when a component nobody uses will not go away. Building the library is the easy part. What makes it survive is having written down, in advance, how something gets in and how something gets out.

Two governments publish exactly that, in full, for free. The parts most worth copying are not the components, which are specific to their context. They are the admission criteria and the lifecycle statuses, which are context-free and take an afternoon to adopt.

Tokens, and why they exist at all

Before components, the layer underneath them, with a definition that explains the point better than most vendor documentation.

The definition. A design system’s “visual design is based on consistent palettes of typography, spacing units, color, and other discrete elements of style we call design tokens.”

And the rationale, which is about people rather than code. “This degree of choice can slow down design work and make communication between designer and developer unnecessarily granular. The Design System seeks to maximize design efficiency and improve communication with design tokens: the discrete palettes of values from which we base all our visual design.”

Their own metaphor is the clearest part. Tokens are like “a scale of musical notes … drawn from the spectrum of all possible frequencies. Or like the presets on a car radio, not every option, just a specific selection.”

The categories are named and finite. Color, typesetting, flex, opacity, order, shadow, spacing units, and z-index. Eight, not an open list.

With a concrete rule for the one that matters most. “USWDS spacing unit tokens are based on multiples of 8px, with additional tokens for small sizes, named tokens for large sizes, and a more limited selection of negative tokens.”

One attribution note. The term design token belongs to the US system here. The UK design system publishes a colour palette, a spacing scale and a type scale under “Styles” without using that vocabulary. If you cite the term, cite the American source.

The eight design token categories and the stated rationale for constraining design choicesThe eight named categories of design token published by the United States government design system, together with the rationale given for constraining the range of available design values. The system defines its visual design as being based on consistent palettes of typography, spacing units, colour and other discrete elements of style which it calls design tokens. The stated rationale concerns communication rather than code, the documentation observing that an unconstrained degree of choice can slow down design work and make communication between designer and developer unnecessarily granular, and that the system seeks to maximise design efficiency and improve communication through design tokens, described as the discrete palettes of values from which all visual design is based. The system’s own metaphor compares tokens to a scale of musical notes drawn from the spectrum of all possible frequencies, or to the presets on a car radio, being not every option but a specific selection. The eight categories are colour, typesetting, flex, opacity, order, shadow, spacing units and z index, this being a finite rather than an open list. The spacing category carries a concrete construction rule, the documentation stating that spacing unit tokens are based on multiples of eight pixels, with additional tokens provided for small sizes, named tokens for large sizes, and a more limited selection of negative tokens. One attribution note applies, namely that the term design token belongs to the United States system in this context, since the United Kingdom design system publishes a colour palette, a spacing scale and a type scale under the heading of styles without adopting that vocabulary, so any citation of the term should be attributed to the American source.Eight categories, not an open listColorTypesettingFlexOpacityOrderShadowSpacing unitsZ-indexSpacing tokens are “based on multiples of 8px”, plus small sizes and named large ones.Why the list is finite, in their words”This degree of choice can slow down design work and make communication between designer anddeveloper unnecessarily granular.”Their metaphor, which is the clearest part”Like the presets on a car radio, not every option, just a specific selection.”The term “design token” is American here. The UK system publishes the same things under “Styles”.
Not every possible value, a specific selection. The stated purpose is communication between designer and developer. Source : U.S. Web Design System, design tokens (2026)

How something gets in

This is the half that keeps a system small, and the criteria are unusually blunt.

The framing. “The contents of the Design System must be of a high quality and meet user needs. To guarantee this, all components and patterns need to meet certain criteria.”

Two criteria to be accepted as a proposal. Useful: “There is evidence that this component or pattern would be useful for many teams or services. Evidence could be screenshots or links to versions of it being used in different services.” And unique: “It does not replicate something already in the Design System.”

Three more before it is published. Usable: “It has been tested in user research and shown to work with a representative sample of users, including those with disabilities.” Consistent: “It reuses existing styles and components in the Design System where relevant.” Versatile: “The implementation is versatile enough that the component or pattern can be used in a range of different services.”

And an instruction that saves the most time of all. At proposal stage, “you just need to present your idea and evidence of the user needs. You can include screenshots or links to versions of the component or pattern in use, but avoid spending time working on a specific design or writing code.”

Read that again if you have ever received a fully built component nobody wanted. Evidence first, design second. The order is the whole mechanism.

One governance detail worth stealing wholesale. Components in trial status “will move to stable status if we do not receive any negative feedback” after six months. Promotion by default, with a window to object, rather than a meeting nobody schedules.

The published criteria a component must satisfy to enter a design system and the order in which they applyThe five published criteria a component or pattern must satisfy in order to be admitted to a government design system, divided into those required for a proposal to be accepted and those required before publication, together with the procedural instruction governing what a proposer should and should not prepare. The framing statement is that the contents of the design system must be of high quality and meet user needs, and that to guarantee this all components and patterns need to meet certain criteria. Two criteria govern acceptance of a proposal. The first is that the component be useful, meaning there is evidence that it would be useful for many teams or services, with evidence able to take the form of screenshots or links to versions of it already being used in different services. The second is that the component be unique, meaning it does not replicate something already present in the design system, and that where it is intended to replace an existing component there is evidence showing it is better than the existing version. Three further criteria govern publication. The first is that the component be usable, meaning it has been tested in user research and shown to work with a representative sample of users including those with disabilities. The second is that it be consistent, meaning it reuses existing styles and components in the design system where relevant. The third is that it be versatile, meaning the implementation is versatile enough that the component can be used across a range of different services that may need it. A procedural instruction accompanies the proposal stage, directing that the proposer need only present the idea and evidence of the user needs, may include screenshots or links to versions in use, but should avoid spending time working on a specific design or writing code. A governance rule provides that components held in trial status will move to stable status if no negative feedback is received within six months, establishing promotion by default subject to an objection window.Two to be considered, three to be publishedTo be accepted as a proposalUseful”Evidence that this would be useful for manyteams or services.”Unique”It does not replicate something already in the Design System.”Before it is publishedUsable”Tested in user research … including those with disabilities.”Consistent”It reuses existing styles and components.”VersatileAnd the instruction that saves the most time”You just need to present your idea and evidence of the user needs … but avoid spending time working on a specificdesign or writing code.”One governance rule worth copying wholesaleTrial components “move to stable status if we do not receive any negative feedback” after six months.Promotion by default with a window to object, rather than a review meeting nobody schedules.
Two to be considered, three to be published. Evidence of use comes before anyone builds anything. Source : GOV.UK Design System, contribution criteria and component lifecycle statuses (2026)

How something gets out

This is the half nobody builds, and it is why design systems accumulate.

Five named statuses, each with a definition. Experimental: “released for early access. These components pass accessibility tests, and have core functionality and production-quality code, but might need additional research, testing, documentation, or features.”

Stable. “The component has an established history in production. These components must meet all USWDS requirements, have full functionality, and have complete documentation.”

Use with caution, which is the one small teams need most. “The component does not currently meet requirements and needs significant rework.” A public admission that something is wrong, without removing it.

Deprecated. “The component is removed from active support. The component is still available in the code base, but it will not receive any updates.”

Retired. “The component is removed from the code base. This is the end of the component lifecycle.”

Why five statuses beat a yes or no. Most component decisions are not binary. A team that can only say “in the system” or “delete it” will keep everything, because deletion is the only alternative and deletion breaks pages.

And a small team can adopt this in an afternoon. Add a status field to your component documentation with those five values. That is the whole implementation.

The five component lifecycle statuses published by a government design systemThe five component lifecycle statuses published by the United States government design system, each with its published definition and the commitment it represents, which together allow a design system to shrink rather than only grow. Experimental means the component is released for early access, that it passes accessibility tests and has core functionality and production quality code, but that it might need additional research, testing, documentation or features. Stable means the component has an established history in production, that it meets all system requirements, has full functionality and has complete documentation. Use with caution means the component does not currently meet requirements and needs significant rework, which functions as a public admission that something is wrong without removing it from availability. Deprecated means the component is removed from active support, remains available in the code base, but will not receive any updates. Retired means the component is removed from the code base entirely, which the documentation describes as the end of the component lifecycle. The reason five statuses are more workable than a binary distinction is that most decisions about a component are not binary, and a team able only to choose between keeping something in the system and deleting it will keep everything, because deletion is the sole alternative and deletion breaks existing pages. Adopting this structure requires only the addition of a status field carrying those five values to the existing component documentation, which is the whole implementation for a small team. A separate governance rule published by the United Kingdom system provides that components held in trial status move to stable status if no negative feedback is received within six months, establishing promotion by default subject to an objection window rather than requiring a review meeting that is never scheduled.Five statuses, one fieldExperimental”Released for early access … might need additional research, testing, documentation, or features.”Stable”An established history in production … full functionality, and complete documentation.”Use with caution”Does not currently meet requirements and needs significant rework.” The one small teams need most.Deprecated”Removed from active support … still available in the code base, but it will not receive any updates.”Retired”Removed from the code base. This is the end of the component lifecycle.”Without a way to say stop using this, a system only grows. Deletion breaks pages, so nothing ever leaves.
A design system without a way to say stop using this only ever grows. Five words, one field, one afternoon. Source : U.S. Web Design System, component lifecycle (2026)

What a small team should actually build

Government systems are large because their remit is. The transferable parts are small, and they are what we settle first when we build a B2B site that has to convert, because a system a team cannot maintain stops being used within a year.

Start with the tokens, not the components. Eight categories, a spacing scale on a fixed multiple, a colour palette that clears the contrast thresholds, and a type scale. That is a day of work and it removes most of the recurring arguments.

Then document only what you have used twice. The uniqueness criterion, applied inward: if a pattern appears in exactly one place, it is a page, not a component.

Write the five statuses into your documentation from day one. Adding a deprecation path later, once there are thirty components and four opinions, is much harder.

Keep the proposal step lightweight, deliberately. Evidence of repeated need first, in the form of screenshots. No code, no Figma file, until the need is agreed.

And accept the principle that governs the whole thing. From the same government’s design principles: “We should use the same language and the same design patterns wherever possible … This isn’t a straitjacket or a rule book. Every circumstance is different.”

One published claim about the payoff, with its caveat attached. A GDS blog post reports that pages built with their design system “download about twice as fast as those that haven’t, as they use about half as much code”, and that the code has been “reused over 3,300 times”. That is a blog post by a named product manager rather than documentation, and the estimate’s method is not shown. It is suggestive, not evidence.

Four practical steps for a small team building a maintainable design systemFour practical steps by which a small team can build a design system that remains maintainable, derived from the published structures of two government design systems. The first step is to begin with design tokens rather than with components, establishing the eight named token categories used by the United States system, namely colour, typesetting, flex, opacity, order, shadow, spacing units and z index, with a spacing scale built on a fixed multiple such as the eight pixel base that system uses, a colour palette that clears the applicable contrast thresholds, and a type scale. This is described as approximately a day of work and removes the majority of recurring design arguments because it constrains the available choices. The second step is to document only patterns that have already been used twice, applying the uniqueness criterion inward, on the principle that a pattern appearing in exactly one place is a page rather than a component. The third step is to write the five lifecycle statuses into the documentation from the outset, since introducing a deprecation path later, once thirty components and several conflicting opinions exist, is substantially harder than establishing it at the beginning. The fourth step is to keep the proposal step deliberately lightweight, requiring evidence of repeated need in the form of screenshots or links before any code or design file is produced, following the published instruction to avoid spending time working on a specific design or writing code at proposal stage. The governing principle across all four, taken from the same government’s design principles, is that the same language and design patterns should be used wherever possible, while explicitly qualifying that this is not a straitjacket or a rule book and that every circumstance is different.Four moves, in this order1. Tokens before componentsEight categories. A spacing scale on a fixedmultiple. A palette that clears contrast.About a day. Removes most recurring arguments.2. Document only what is used twiceThe uniqueness criterion, applied inward.A pattern used once is a page, not a component.3. Statuses from day oneAdding a deprecation path later, with thirtycomponents and four opinions, is much harder.4. A deliberately cheap proposal stepScreenshots of repeated need first. No code,no design file, until the need is agreed.”We should use the same language and the same design patterns wherever possible … This isn’t a straitjacket or arule book. Every circumstance is different.”Consistency is the goal. Uniformity is not, and enforcing it is how a system starts being worked around.
Four moves a two-person team can make. Only the first one takes a day; the rest take an afternoon each. Source : Method, over the US Web Design System token structure and GOV.UK contribution criteria (2026)
Published figures on design system adoption and performance and the differing strength of each claimPublished figures concerning the adoption and the performance effect of government design systems, separated according to the strength of the source behind each. On adoption, a blog post by a named senior product manager at the United Kingdom digital service, published in March 2022, reports that since its launch in 2018 the design system had added or improved thirty two styles, components or patterns, that its code had been reused over three thousand three hundred times, and that the associated front end code package had been downloaded over two million seven hundred thousand times. The United States system’s own about page states that its contributors both inside and outside government support dozens of agencies and nearly two hundred sites. On performance, the same blog post claims that pages built with the design system download about twice as fast as those that have not been, on the basis that they use about half as much code. The methodological status of these two categories of claim differs materially. The adoption figures are counts of observable artefacts, namely components, code reuses and package downloads, which the publishing organisation is in a position to measure directly. The performance claim is an aggregate comparison whose measurement method, sample of pages and controls are not shown in the post. Both come from a blog post rather than from the design system documentation, which is a weaker form of source than the component lifecycle definitions or the contribution criteria, both of which are published as documentation. The honest treatment in a commercial article is therefore to attribute the performance claim to a named blog post rather than to the design system, and to describe it as suggestive rather than as evidence, while the adoption counts may be reported straightforwardly.What is published about the payoffAdoption: countable32 styles, components or patternsCode “reused over 3,300 times”Package downloaded “over 2,700,000 times”Performance: a blog claimPages built with it “download about twice asfast as those that haven’t, as they use abouthalf as much code.”Method, sample and controls are not shown.Why the distinction matters when you quote it internallyCounts of components and downloads are things the publisher can measure directly. An aggregate speed comparison is not.Both come from a blog post, not from documentationThe lifecycle statuses and the contribution criteria are documentation. The payoff figures are a post by a namedproduct manager. Attribute them that way, and treat the speed claim as suggestive rather than as evidence.
Adoption figures are documented. The performance claim is a blog post. Both are worth knowing, with the difference stated. Source : GDS blog, March 2022, and U.S. Web Design System about page (2022)

What to do with this

Write the token list before anything else. Eight categories, a spacing multiple, a palette, a type scale. Put it in one file that both design and development read from.

Add a status field to every component you already document, using the five published values. Then go through the list once and mark honestly. The components that get marked “use with caution” are your actual backlog.

Adopt the two-stage admission test. Useful and unique to be considered, then usable, consistent and versatile to be published, with evidence of repeated use required before anyone opens a design tool.

And set the promotion rule so that decisions happen without meetings: a component in trial moves to stable after six months unless somebody objects.

The related pieces are writing a website brief and B2B website usability that is testable.