Team handbook
Use a private optional editor when browser writing solves a real team need. This fictional handbook has Onboarding, Engineering and Support. It is an operating pattern, not a built-in subscription tier.
Source and ownership
content/
_index.md
onboarding/
_index.md
first-day.md
engineering/
_index.md
workstation.md
support/
_index.md
service-check.md
Use physical top-level names accepted by assignment rules. Reader article titles produce routes; grants use source section identity. Each landing should explain scope and recommended first task.
| Role | Boundary |
|---|---|
| Administrator | Global source/Admin and Publish |
| Engineering editor | Assigned engineering descendants |
| Support editor | Assigned support descendants |
| Reader | Static host access, not writer account |
Section editors cannot edit root home, manage accounts or Publish. Administrators cross all sections. Neither role protects reader output. Assign content owners/reviewers in your team process; custom frontmatter does not enforce ownership.
Writing service
Follow Private team editor and Accounts and access. Use a dedicated service identity, private external runtime, writable source and one supervised process. Ordinary editor source/output paths stay tied to the installed engine root.
Do not expose port 3001 directly and call it secure. TLS, hostname/port, cookie mode and exact trusted proxy addresses need real infrastructure checks. V2 supplies no built-in SSO/MFA or multi-instance writer cluster.
Release workflow
- Writer saves and confirms what reached the source server.
- Reviewer compares actual saved work, including shared settings/resources.
- Administrator Publishes only when all included saved work is ready.
- Inspect generated reader/search/assets.
- Deploy exact reviewed artifact through your host workflow.
- Verify actual routes and reader audience.
Shared Publish includes saved inputs across the site, not the selected tab. Unsaved text is excluded. A local browser draft is not a review, backup or collaboration lock. Save/Publish does not create a Git commit or pull request.
Concurrency rules
| Situation | Team rule |
|---|---|
| Two tabs on one page | Coordinate; no general stale merge |
| Source renamed | Reconcile current path before Save |
| Page deleted | Recover source history, not promised draft |
| Metadata then rename | Check partial success/current tree |
| Shared settings/links | Include in release review |
| Writer leaves | Revoke and check session/grant behavior |
An updated date or notification is not review evidence. Preserve source review/history independently when approval matters.
Test permissions
Use synthetic content and a separate section-editor session. Verify allowed section operations, other-section/root denial, Admin/Publish denial and changes after reassignment/disable. Administrator visibility cannot prove writer restrictions.
Test reader authentication separately on HTML, search JSON, media, icons and downloads. Writer login does not protect static output.
Operations
Assign review and backup/restore owners outside MarkStack. Preserve source/config/static and private account/settings/link runtime with different audiences. Rehearse staging restore. Independently hosted readers can continue while the editor is down; that is not guaranteed writing availability or automatic recovery.