Skip to content

Sites

Sites keeps each Site with its Pages, navigation and Brand, served on one or more Domains, with previews, redirects and rollbacks.

Sites keeps every Site a Startup publishes, with its Pages, navigation and Brand, on its own Domains. Every Change gets a preview, and every publish rolls back in one step.

Summary

PartThis System
GroupMoves to Products
StatusLive
ShelfFront: offered from a Startup’s first days

You can ask:

  • “Put up a landing page”
  • “Change the headline on the home page”
  • “Roll back the last change to the site”
  • “Add a pricing page”

What you get

PartThis System
StartsOn for every Startup at creation, with nothing to install.
Built fromApps and sites, Domains, Domain registration, Database, Search

Nouns it owns

NounDefinition
SiteA Site is a website as a Thing: its Pages, navigation, and Brand, served on one or more Domains.
PageA Page is an addressable page of a Site, of a named type such as pricing, about one Thing or each member of a Collection.
DomainA Domain is a hostname that points at a Thing, with a role, a status, and a lifecycle tracked as data.
ThemeA Theme is the design tokens of a Brand, its color, type, spacing, radius, and motion, that every Component reads when it renders.
PortalA Portal is the signed-in part of a Site where each Customer orders, tracks delivery, accepts work, and pays, seeing only their own records.

Verbs

VerbObjectApprovalEvent
Site.createSiteNoneSite.created
Site.publishSiteAsks firstSite.published
Page.createPageNonePage.created
Page.updatePageNonePage.updated
Domain.registerDomainAsks first; waits 1 business hourDomain.registered
Domain.connectDomainAsks firstDomain.connected
Domain.transferDomainAsks first; waits 1 business dayDomain.transferred

Events

DirectionEventHow
EmitsSite.createdBy Site.create
EmitsSite.publishedBy Site.publish
EmitsPage.createdBy Page.create
EmitsPage.updatedBy Page.update
EmitsDomain.registeredBy Domain.register
EmitsDomain.connectedBy Domain.connect
EmitsDomain.transferredBy Domain.transfer
EmitsDomain.renewalDueRaised when a date passes
EmitsDomain.expiredRaised when a date passes

States

The lifecycle of a Domain:

Domain lifecycle: candidate, held, claimed, registered, connected, verifying, live, degraded, expiring, lapsed, renewed, transferred (ends), released (ends)candidate → held: Domain.registercandidate → registered: Domain.registercandidate → claimed: Domain.claimcandidate → connected: Domain.connectheld → claimed: Domain.claimheld → released: Domain.releaseclaimed → live: Domain.verifyclaimed → released: Domain.releaseregistered → verifying: Domain.verifyconnected → verifying: Domain.verifyverifying → live: Domain.verifyverifying → degraded: Domain.verifylive → degraded: Domain.verifylive → expiring: on Domain.renewalDuelive → renewed: Domain.renewlive → transferred: Domain.transferlive → released: Domain.releasedegraded → live: Domain.verifydegraded → released: Domain.releaseexpiring → renewed: Domain.renewexpiring → lapsed: on Domain.expiredlapsed → renewed: Domain.renewlapsed → released: Domain.releaserenewed → live: Domain.verifycandidateheldclaimedregisteredconnectedverifyinglivedegradedexpiringrenewedlapsedtransferredreleased
StateMeaningMoves to
candidate (first)A name found by search that no one here holds yet.held by Domain.register; registered by Domain.register; claimed by Domain.claim; connected by Domain.connect
heldRegistered to the holding Company and not yet assigned to a Startup.claimed by Domain.claim; released by Domain.release
claimedAssigned to a Startup: a label under an issuing Domain, or a held Domain.live by Domain.verify; released by Domain.release
registeredRegistered to its owner of record and pointed at the Startup’s address.verifying by Domain.verify
connectedAttached from another registrar while its ownership proof is checked.verifying by Domain.verify
verifyingIts first DNS, ownership and certificate checks are running.live by Domain.verify; degraded by Domain.verify
liveServing, with its DNS, ownership and certificate checks passing.degraded by Domain.verify; expiring on Domain.renewalDue; renewed by Domain.renew; transferred by Domain.transfer; released by Domain.release
degradedA check failed; a degraded canonical Domain opens an Incident.live by Domain.verify; released by Domain.release
expiringInside its renewal window with no renewal yet.renewed by Domain.renew; lapsed on Domain.expired
lapsedIts registration ended unrenewed, and the registrar may still restore it.renewed by Domain.renew; released by Domain.release
renewedExtended by whole years at its renewal price.live by Domain.verify
transferredMoved to another holder or registrar, with its record and history kept.None: it ends here.
releasedIts registration or claim ended, and its record, history and aliases are kept.None: it ends here.

Who operates it

PartThis System
AccountableDesigner
TeamProduct Team
SeatA role agent holds it until a Human is seated.
Autonomysupervised
Also calls its VerbsIntegration Engineer, Content Lead, Legal Lead, Contracts Manager

Approvals and limits

VerbRuleDetail
Site.publishA person says yes firstNone.
Domain.registerA person says yes firstWaits 1 business hour
Domain.connectA person says yes firstNone.
Domain.transferA person says yes firstWaits 1 business day
Page.createLimit for the Content Lead5 calls per week

Processes that use it

ProcessHow it uses it
LaunchesA Workflow writes Page
Content marketingA Workflow writes Page
ContractingA step calls Page.create
Product definitionA step calls Page.update
RetentionA step calls Page.create
TakedownsA step calls Page.update

Rail underneath

None.

Views and dashboards

ViewShowsMetrics
The Designer’s viewThe Metrics its accountable Role answers for.Page task success

Access

What each Access level may call here.

Access levelMay call
ownerEvery Verb (29)
adminAll but 2 of 29: Domain.register, Domain.transfer
memberAll but 2 of 29: Domain.register, Domain.transfer
viewerRead only (10 of 29)

Import and export

None.

Fees and pricing

None.

Availability and limits

PartThis System
StatusLive

Compliance notes

Controls it carries:

Example

A SaaS for dental clinics publishes a pricing Page for each of the 40 cities it serves. The Content Lead Agent drafts all 40 from one layout, previews them on a branch, and publishes them as one Change. A typo found an hour later rolls back without touching the other 39.