Content
Content is a tree of nodes. Each node has a slug, title, SEO metadata and an ordered list of blocks. You compose a page by adding and reordering blocks; each block is a typed form driven by its schema.
Blocks
Editing a block edits its data; the renderer decides how that data becomes HTML. Adding an unregistered block type fails validation on save, so a page can never reference a block the renderer doesn’t know.
Publishing
Nodes move through draft → published → archived. The public delivery API only ever serves published nodes; drafts are visible only in the admin and to authorised previews. Publishing is a status change and is gated by the node:publish permission.
Snapshots
Every node keeps snapshots — point-in-time versions you can review and restore, gated by snapshot:read / snapshot:write.
Templates & starters
Save a node’s structure as a template, or start new nodes from a starter, so recurring page shapes don’t get rebuilt by hand.