Skip to content

AUTH-WEBWebsites Authorization Model

Markdown

AUTH-WEB

Websites Authorization Model

Markdown
  • DocumentDraft
  • ImplementationPartially observed

Product areaWebsitesRevision1

Read atrhythm-v2-docs 5dc44059services-websites 5fc6823cservices-platform ad3f6a65rhythm-web 38aef7d2react-console baf6dae3

Staff access
Platform-scoped staff roles authorize staff-only system routes. Ordinary customer work requires a separate active staff-access grant administered by Platform; HQ powers do not substitute for customer grants.

Scopes

ScopeMeaningProvenance
customerCustomer-wide assignments cover the customer’s applicable workspaces.documented
workspaceCustomer administration uses grants covering the workspace named by the request.documented
siteEditor sessions and content checks narrow existing workspace authority to one site; no separate site role is established here.observed
recordPortal adapters require a linked member record and defer final record authorization to CRM.observed
platformStaff-only system operations use platform-scoped authority, separate from customer assignments.documented

Roles

IdRoleWhoGrants
ROLE-WEB-001AdministratorA customer administrator assigned authority over the customer or selected workspaces.websites.application.accessplatform.sites.readwebsites.website-changes.readplatform.sites.managewebsites.content.editwebsites.content.publishwebsites.website-changes.changewebsites.website-changes.sourcewebsites.website-changes.publishwebsites.website-changes.rollback
ROLE-WEB-002Power UserA customer user with administrator-tier application powers but no security administration.websites.application.accessplatform.sites.readwebsites.website-changes.readplatform.sites.managewebsites.content.editwebsites.content.publishwebsites.website-changes.changewebsites.website-changes.sourcewebsites.website-changes.publishwebsites.website-changes.rollback
ROLE-WEB-003Standard UserA customer user with everyday application authority.websites.application.accessplatform.sites.readwebsites.website-changes.read
ROLE-WEB-004Read OnlyA customer user with application reading authority.websites.application.accessplatform.sites.readwebsites.website-changes.read
ROLE-WEB-005Portal MemberA member using their own portal account.
ROLE-WEB-006Rhythm AdministratorA Rhythm operator holding platform-scoped staff authority.hq.sites.readhq.sites.managehq.web-releases.writeplatform.tenants.onboardwebsites.website-changes.reviewwebsites.application.access
ROLE-WEB-007Support RepresentativeA Rhythm support operator who can inspect HQ sites.hq.sites.read
ROLE-WEB-008Software EngineerA Rhythm engineer who can inspect HQ sites.hq.sites.read
ROLE-WEB-009Content editor, customer-defined profileAn author preparing drafts for a separate publisher.websites.application.accessplatform.sites.readwebsites.website-changes.readwebsites.content.edit
ROLE-WEB-010Website change editor, customer-defined profileAn author preparing design revisions for a separate publisher.websites.application.accessplatform.sites.readwebsites.website-changes.readwebsites.website-changes.change

Permission Catalogue

KeyIntentOperationsSurfacesGuarded by
content reader keyDescribe an access mechanism rather than an assignable permission.contentSystem.readPublishedContentconsole, api
crm.organization-contacts.manageRequest additions, changes and removals on the member’s organization roster.contacts.saveOrganizationContactcontacts.removeOrganizationContactportalBR-CAP-WEB-WEB-022-04 BR-CAP-WEB-WEB-022-05
crm.organization.readRequest the member’s organization and its roster through CRM adapters.contacts.loadMyOrganizationcontacts.loadOrganizationContactsportalBR-CAP-WEB-WEB-022-01
crm.organization.updateRequest changes to the member’s organization through CRM adapters.contacts.saveOrganizationportalBR-CAP-WEB-WEB-022-03
crm.self-contact-info.manageRequest changes to the member’s own contact points through CRM adapters.contacts.saveAddresscontacts.removeAddresscontacts.savePhoneNumbercontacts.removePhoneNumbercontacts.saveEmailAddresscontacts.removeEmailAddressportalBR-CAP-WEB-WEB-021-04 BR-CAP-WEB-WEB-021-05
crm.self-contact.readRequest the member’s own profile and contact information through CRM adapters.contacts.loadMyProfilecontacts.saveProfilecontacts.saveCommunicationPreferencescontacts.loadMyContactInformationportalBR-CAP-WEB-WEB-020-08
deployment refresh keyDescribe an access mechanism rather than an assignable permission.rw.revalidateportal, api
deployment site-header keyDescribe an access mechanism rather than an assignable permission.rw.previewSiteportal, api
hq.sites.manageMaintain customer sites and addresses through staff routes.createSiteForStaffattachSiteDomainForStaffdetachSiteDomainForStaffsetSiteStatusForStaffapiBR-CAP-WEB-WEB-005-05 BR-CAP-WEB-WEB-005-07
hq.sites.readInspect customer sites and addresses through staff routes.listSitesForStaffgetSiteForStafflistSiteDomainsForStaffapi
hq.web-releases.writeRead and maintain deployment, release and rollout records through staff routes.createWebDeploymentlistWebDeploymentsgetWebDeploymentupdateWebDeploymentsetDeploymentReleasessetDeploymentPingetCurrentWebReleaserecordWebReleaselistWebReleasesgetWebReleaseupdateReleaseProgressrecordWebRolloutlistWebRolloutsgetWebRolloutsetRolloutStateapiBR-CAP-WEB-WEB-017-03 BR-CAP-WEB-WEB-017-09
member sessionDescribe an access mechanism rather than an assignable permission.account.signOutaccount.changePasswordaccount.contactMatchcontacts.searchContactDirectorycontacts.searchOrganizationDirectorycontacts.loadDirectoryEntryportal, api
noneDescribe an access mechanism rather than an assignable permission.getWebsiteStudioMcpResourceMetadataresolveSiteHostproxy.routeRequestrw.healthaccount.signUpaccount.signInaccount.verifyEmailaccount.resendVerificationaccount.requestPasswordResetaccount.resetPasswordportal, api
platform.sites.manageCreate sites and maintain their availability and web addresses.createSiteupdateSitecreateSiteFromTemplategetSiteHostnameAvailabilitysetSiteStatusattachSiteDomainsetCanonicalSiteDomaindetachSiteDomainconsole, apiBR-CAP-WEB-WEB-002-06 BR-CAP-WEB-WEB-003-03 BR-CAP-WEB-WEB-004-03 BR-CAP-WEB-WEB-004-06
platform.sites.readInspect sites and their web addresses within the authorized workspace.listSitesgetSitelistSiteDomainsconsole, api
platform.tenants.onboardPrepare Websites and portal identity infrastructure through a staff operation.enableWebsitesapiBR-CAP-WEB-WEB-005-07
preview grantDescribe an access mechanism rather than an assignable permission.contentSystem.readDraftContentconsole, api
registered handler’s eligibility rules; member session where requiredDescribe an access mechanism rather than an assignable permission.rw.pageDataportal, api
signed callbackDescribe an access mechanism rather than an assignable permission.receiveWebsiteStudioCallbackconsole, api
signed handoffDescribe an access mechanism rather than an assignable permission.contentSystem.openEditorHandoffconsole, api
signed link tokenDescribe an access mechanism rather than an assignable permission.openWebsiteChangePreviewconsole, api
signed lookup keyDescribe an access mechanism rather than an assignable permission.lookupWebDeploymentForCmscontentSystem.seedSitecontentSystem.upsertContentReaderconsole, api
signed operations keyDescribe an access mechanism rather than an assignable permission.contentSystem.runSiteOperationconsole, api
signed webhookDescribe an access mechanism rather than an assignable permission.receiveWebsiteStudioGithubWebhookconsole, api
websites.application.accessEnter the Websites application when its licence and access checks allow it.console, api
websites.content.editPrepare site content, save drafts and obtain editorial previews.createSitePageopenSitePagePreviewcreateSiteMenusaveSiteMenudeleteSiteMenuopenContentEditorSessionmoveSitePageconsole, apiBR-CAP-WEB-WEB-006-13 BR-CAP-WEB-WEB-006-14 BR-CAP-WEB-WEB-007-02 BR-CAP-WEB-WEB-007-05 BR-CAP-WEB-WEB-009-07 BR-CAP-WEB-WEB-009-10
websites.content.edit (evaluates websites.content.publish)Describe the combined grant and evaluated authority already recorded by the service contract.openContentEditorSessionmoveSitePageconsole, apiBR-CAP-WEB-WEB-006-13 BR-CAP-WEB-WEB-006-14 BR-CAP-WEB-WEB-007-02 BR-CAP-WEB-WEB-007-05 BR-CAP-WEB-WEB-009-07 BR-CAP-WEB-WEB-009-10 BR-CAP-WEB-WEB-006-08 BR-CAP-WEB-WEB-010-02
websites.content.publishMake editorial content live, including settings and eligible page moves.publishSiteMenusaveSiteSettingsopenContentEditorSessionmoveSitePageconsole, apiBR-CAP-WEB-WEB-006-08 BR-CAP-WEB-WEB-006-13 BR-CAP-WEB-WEB-006-14 BR-CAP-WEB-WEB-010-02
websites.website-changes.changePrepare design work, save revisions and obtain previews without publishing it.createWebsiteChangerequestWebsiteChangePreviewgetWebsiteChangePreviewLinkcreateWebTemplateduplicateWebTemplateconvertWebTemplateToCodearchiveWebTemplaterestoreWebTemplateopenWebTemplateChangeuploadTemplateAssetspersistWebsiteChangeRevisionconsole, apiBR-CAP-WEB-WEB-011-05 BR-CAP-WEB-WEB-011-06 BR-CAP-WEB-WEB-012-03 BR-CAP-WEB-WEB-012-04 BR-CAP-WEB-WEB-012-08 BR-CAP-WEB-WEB-013-01
websites.website-changes.change (evaluates websites.website-changes.source)Describe the combined grant and evaluated authority already recorded by the service contract.persistWebsiteChangeRevisionconsole, apiBR-CAP-WEB-WEB-011-05 BR-CAP-WEB-WEB-011-06 BR-CAP-WEB-WEB-012-03 BR-CAP-WEB-WEB-012-04 BR-CAP-WEB-WEB-012-08 BR-CAP-WEB-WEB-013-01 BR-CAP-WEB-WEB-011-10
websites.website-changes.publishConfirm publication of a specific website revision and retry eligible publication work.publishWebsiteChangeretryWebsiteChangeserveWebsiteStudioMcpconsole, apiBR-CAP-WEB-WEB-014-01 BR-CAP-WEB-WEB-014-02 BR-CAP-WEB-WEB-014-03 BR-CAP-WEB-WEB-014-05 BR-CAP-WEB-WEB-015-10 BR-CAP-WEB-WEB-015-12
websites.website-changes.readInspect website changes, templates, content listings and delivery information.listWebsiteChangesgetWebsiteChangelistWebsiteChangeEventsgetWebsiteChangeDiffgetWebsiteChangeProgressgetWebsiteChangePublishPreviewlistWebsiteSiteReleasesgetWebsiteSiteRollbackPreviewlistWebsiteSiteslistWebTemplatesgetWebTemplatelistTemplateChangeFilesreadTemplateChangeFilegetSitePageTreelistSitePageslistSitePageTemplateslistSiteMenusgetSiteMenugetSiteSettingsretryWebsiteChangeserveWebsiteStudioMcpconsole, api
websites.website-changes.read (evaluates the other keys)Describe the combined grant and evaluated authority already recorded by the service contract.serveWebsiteStudioMcpconsole, api
websites.website-changes.read (evaluates websites.website-changes.publish, websites.website-changes.rollback)Describe the combined grant and evaluated authority already recorded by the service contract.retryWebsiteChangeconsole, apiBR-CAP-WEB-WEB-014-01 BR-CAP-WEB-WEB-014-02 BR-CAP-WEB-WEB-014-03 BR-CAP-WEB-WEB-014-05 BR-CAP-WEB-WEB-015-10 BR-CAP-WEB-WEB-015-12 BR-CAP-WEB-WEB-018-02 BR-CAP-WEB-WEB-018-04 BR-CAP-WEB-WEB-018-06 BR-CAP-WEB-WEB-018-12
websites.website-changes.reviewDecide escalated reviews and inspect or retry delivery work as Rhythm staff.getWebsiteChangeProgressForStaffretryWebsiteChangeForStaffreviewWebsiteChangeapiBR-CAP-WEB-WEB-014-08 BR-CAP-WEB-WEB-014-09
websites.website-changes.rollbackRequest recovery of the previous customer application release and retry recovery work.rollbackWebsiteSiteretryWebsiteChangeserveWebsiteStudioMcpconsole, apiBR-CAP-WEB-WEB-018-02 BR-CAP-WEB-WEB-018-04 BR-CAP-WEB-WEB-018-06 BR-CAP-WEB-WEB-018-12
websites.website-changes.sourceAuthorize component-source edits within an otherwise authorized revision save.persistWebsiteChangeRevisionconsole, apiBR-CAP-WEB-WEB-011-10 BR-CAP-WEB-WEB-012-04

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.