Core Concepts
Five ideas explain almost everything in RIFT: decoupled sites, folders as URLs, items with placements, a four-state workflow, and versioned design systems.
The CMS and your site are decoupled
RIFT's output is raw static artifacts — HTML, CSS, JavaScript, images, PDFs — committed to a git repository and served by whatever host you point at it. There is no runtime CMS dependency on the published site. The CMS can be down without affecting any published page, and a published site can be down without affecting the CMS. This is intentional and load-bearing: for government and compliance-sensitive teams, your public content's uptime should never depend on your editing tool's uptime.
Folders are URLs
The folder tree inside a site mirrors the URL path structure of the published site, one to one. policies/2026/index publishes at /policies/2026/. URLs are lowercase and hyphen-separated, with no file extensions exposed on HTML pages.
Content items and placements
A content item is the thing you edit: a title, a description, and an HTML body (or an uploaded asset — PDFs, images, video, fonts, anything). A placement puts an item at a specific folder + file name on a specific site. One item can have multiple placements, so the same content can live at more than one path without being duplicated or drifting out of sync.
The workflow states
| State | Meaning |
|---|---|
draft | Work in progress. Never published anywhere. |
staging | Publishable to the staging branch for preview on your staging domain. |
public | Live. Publishable to the production branch. |
archived | Retired. Removed from the published site on the next publish; history retained forever. |
Editing a public item never touches the live page directly. RIFT creates a paired staging copy; you edit and preview that copy, and when it's promoted, the swap happens atomically at publish. Other pages that reference the old item keep resolving — RIFT tracks the succession chain so links never silently break.
Design systems are versioned content
A design system — tokens, a stylesheet, and a library of HTML components — is managed content in RIFT, not configuration. Every upload or generation creates an immutable version; a site renders against its design system's active version, and promoting a different version is one click, with the full version list retained. The non-breaking rule: new versions must keep existing token names and component slugs resolving, because published content references them by name. More in Design Systems.