## Summary - refresh website copy and structured content datasets - update docs content in EN and default locales - adjust website UI auth-related components and smoke tests - add Spec Kit artifacts for feature 404 public content messaging ## Validation - committed and pushed from branch `404-public-content-messaging` ## Target - base branch: `website-dev` Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #396
29 KiB
Feature Specification: apps/website Public Content Architecture & Messaging
Feature Branch: 404-public-content-messaging
Created: 2026-05-22
Status: Draft
Input: User description: "Create Spec 404 for apps/website Public Content Architecture & Messaging before the later homepage layout rhythm and visual productization spec."
Spec Candidate Check (mandatory — SPEC-GATE-001)
- Problem: The current public website has a safe foundation, but its copy still reads like a conservative theme adaptation rather than a clear Tenantial product narrative.
- Today's failure: Visitors can miss the product category, see repeated claims across sections, or infer unsupported proof, billing, or live-tenant behavior from provisional public copy.
- User-visible improvement: Public visitors can understand Tenantial as evidence-first governance for Microsoft tenant configuration, follow the homepage story, and see consistent conservative CTAs and trust language.
- Smallest enterprise-capable version: Rewrite and normalize public website copy, headings, CTA labels, route metadata, FAQ/trust/pricing language, and claim-safety wording across the core public routes without changing the website foundation.
- Explicit non-goals: No website rebuild, no broad visual redesign, no new design system, no backend workflows, no login/signup/billing/checkout/newsletter behavior, no Microsoft Graph behavior, and no changes to
apps/platform. - Permanent complexity imported: No persisted models, services, enums, runtime workflows, or product capability layers. The durable complexity is limited to sharper public messaging rules and route-level content ownership.
- Why now: Layout polish should follow stable content; otherwise spacing and visual hierarchy would be optimized around copy that may still change.
- Why not local: The issue crosses homepage, product, pricing, trust, contact, docs navigation, metadata, footer, and CTA language, so isolated copy fixes would keep the narrative fragmented.
- Approval class: Core Enterprise.
- Red flags triggered: Public claim-safety risk; cross-route messaging consistency risk. No persistence, taxonomy, or runtime behavior red flags.
- Score: Nutzen: 2 | Dringlichkeit: 2 | Scope: 2 | Komplexität: 2 | Produktnähe: 2 | Wiederverwendung: 1 | Gesamt: 11/12
- Decision: approve.
Spec Scope Fields (mandatory)
- Scope: Public website content surfaces in
apps/website. - Primary Routes:
/,/platform,/pricing,/trust,/contact, exposed docs routes, public navigation, FAQ surfaces, footer, and route metadata. - Data Ownership: No tenant-owned or workspace-owned records are created, changed, or read. This is public website content only.
- RBAC: Not applicable. The affected surfaces are public marketing and product explanation pages.
For canonical-view specs, the spec MUST define:
- Default filter behavior when tenant-context is active: N/A - no canonical tenant or workspace view is introduced.
- Explicit entitlement checks preventing cross-tenant leakage: N/A - no tenant data, entitlement data, or authenticated platform state is involved.
Cross-Cutting / Shared Pattern Reuse (mandatory when the feature touches notifications, status messaging, action links, header actions, dashboard signals/cards, alerts, navigation entry points, evidence/report viewers, or any other existing shared operator interaction family; otherwise write N/A - no shared interaction family touched)
- Cross-cutting feature?: yes, within public website content only.
- Interaction class(es): public navigation, CTA labels, route metadata, FAQ copy, footer copy, and page-level product messaging.
- Systems touched:
apps/websitepublic routes, shared website copy/components where already used, sitemap/robots-adjacent public route visibility if affected by navigation exposure. - Existing pattern(s) to extend: The current ScrewFast-derived public website structure and Spec 402/403 route model.
- Shared contract / presenter / builder / renderer to reuse: Existing website content/component organization; no new shared runtime contract.
- Why the existing shared path is sufficient or insufficient: The existing website substrate is sufficient for public content updates, but the current copy does not yet provide a stable Tenantial messaging architecture.
- Allowed deviation and why: Bounded copy and metadata changes are allowed. Broad layout redesign and new design-system work are deferred to Spec 405.
- Consistency impact: CTA wording, proof-safe trust language, product category language, and static/demo preview framing must stay aligned across all public pages.
- Review focus: Reviewers must verify that copy changes do not create parallel brand claims, fake proof, unsupported workflows, or
apps/platformcoupling.
OperationRun UX Impact (mandatory when the feature creates, queues, deduplicates, resumes, blocks, completes, or deep-links to an OperationRun; otherwise write N/A - no OperationRun start or link semantics touched)
N/A - no OperationRun start, completion, notification, queue, or link semantics are touched.
Provider Boundary / Platform Core Check (mandatory when the feature changes shared provider/platform seams, identity scope, governed-subject taxonomy, compare strategy selection, provider connection descriptors, or operator vocabulary that may leak provider-specific semantics into platform-core truth; otherwise write N/A - no shared provider/platform boundary touched)
- Shared provider/platform boundary touched?: no.
- Boundary classification: N/A.
- Seams affected: Public website wording about Microsoft tenant governance only.
- Neutral platform terms preserved or introduced: Governance, evidence, findings, drift, restore planning, auditability, exceptions, reviews, evaluation, and rollout.
- Provider-specific semantics retained and why: Microsoft tenant configuration remains part of the public product category, but public copy must not imply live provider access, Microsoft endorsement, or Microsoft Graph execution by the website.
- Why this does not deepen provider coupling accidentally: The feature changes public positioning, not provider contracts, product runtime, tenant data handling, or platform-core taxonomies.
- Follow-up path: Spec 405 may use the stabilized copy for visual rhythm and product preview polish.
UI / Surface Guardrail Impact (mandatory when operator-facing surfaces are changed; otherwise write N/A)
N/A - no operator-facing platform surface changes. This feature changes public website content surfaces only.
Decision-First Surface Role (mandatory when operator-facing surfaces are changed)
N/A - no operator-facing decision surface is added or materially changed.
Audience-Aware Disclosure (mandatory when operator-facing surfaces are changed)
N/A - no operator-facing detail or status surface is added or materially changed.
UI/UX Surface Classification (mandatory when operator-facing surfaces are changed)
N/A - no operator-facing list, detail, queue, audit, config, or report surface is added or materially changed.
Operator Surface Contract (mandatory when operator-facing surfaces are changed)
N/A - no operator-facing page or workflow is added or materially refactored.
Proportionality Review (mandatory when structural complexity is introduced)
- New source of truth?: no.
- New persisted entity/table/artifact?: no.
- New abstraction?: no.
- New enum/state/reason family?: no.
- New cross-domain UI framework/taxonomy?: no.
- Current operator problem: Public buyers do not yet get a crisp product story, and claim-sensitive pages still need stronger content discipline before layout work.
- Existing structure is insufficient because: Specs 402 and 403 established the website foundation and launch-readiness guardrails, but they did not finalize public messaging hierarchy, CTA language, or proof-safe page-level copy.
- Narrowest correct implementation: Update public website copy, route metadata, CTA labels, FAQ/trust/pricing wording, and exposed docs/navigation content only.
- Ownership cost: Future public website changes must preserve the same claim-safety and CTA consistency rules.
- Alternative intentionally rejected: Starting with homepage spacing and visual productization was rejected because content determines which sections, headings, CTAs, and product previews need visual priority.
- Release truth: Current-release public website truth; not future-only preparation.
Compatibility posture
This feature assumes a pre-production public website content environment.
Backward compatibility, legacy aliases, migration shims, historical fixtures, and compatibility-specific tests are out of scope unless explicitly required by this spec.
Canonical replacement is preferred over preservation.
Testing / Lane / Runtime Impact (mandatory for runtime behavior changes)
- Test purpose / classification: Browser/static public website validation.
- Validation lane(s): fast-feedback and public smoke.
- Why this classification and these lanes are sufficient: The feature changes public content, route metadata, navigation/CTA wording, and claim safety; build and smoke checks prove the public output still renders and routes correctly.
- New or expanded test families: none required by this specification.
- Fixture / helper cost impact: none.
- Heavy-family visibility / justification: none.
- Special surface test profile: N/A.
- Standard-native relief or required special coverage: Public website build, smoke, residue, CTA, and scope checks are sufficient.
- Reviewer handoff: Reviewers must confirm content quality, conservative claims, intentional CTAs, route safety, and that
apps/platformremains untouched. - Budget / baseline / trend impact: none expected.
- Escalation needed: none.
- Active feature PR close-out entry: Smoke Coverage.
- Planned validation commands:
corepack pnpm build:website;WEBSITE_PORT=4321 corepack pnpm --filter @tenantatlas/website test:smoke;git diff --check;git status --short -- apps/platform.
Depends On
- Spec 402 -
apps/websiteScrewFast Website Rebuild - Spec 403 -
apps/websitePublic Website Launch Readiness
Scope
This spec is strictly local to apps/website.
It focuses on public website content architecture, messaging hierarchy, CTA language, page-level copy, route metadata, and claim safety.
It does not redesign the website layout. It does not rebuild the ScrewFast-derived foundation. It does not recreate apps/website.
Important Scope Clarification
In this feature, the word "platform" refers only to the public website route /platform inside apps/website.
It does not refer to the Laravel/Filament application in apps/platform.
apps/platform is completely out of scope:
- do not modify it
- do not import from it
- do not inspect it as a content source
- do not run Laravel, Filament, Livewire, Blade, migrations, policies, providers, jobs, queues, database, tenant/workspace, RBAC, or Microsoft Graph code
- only verify through
git status --short -- apps/platformthat it remains untouched
Goal
Establish a clear, conservative, enterprise-ready public messaging system for Tenantial before visual layout polish.
The website should communicate:
- what Tenantial is
- who it is for
- which Microsoft tenant governance problems it addresses
- why evidence-first governance matters
- how backup, restore, drift, findings, exceptions, auditability, and reviews fit together
- what a visitor should do next
The content should be strong enough that a later layout-rhythm spec can optimize around stable section intent instead of placeholder copy.
Non-Goals
This spec does not:
- change the ScrewFast-derived foundation
- rebuild or recreate
apps/website - perform broad visual redesign
- introduce a new design system
- add backend forms, auth, billing, newsletter, login, checkout, account creation, or self-serve subscription behavior
- add new product runtime capabilities
- introduce Microsoft Graph calls
- claim integrations or certifications that are not verified
- add customer logos, testimonials, or "trusted by" claims
- touch
apps/platform - change Filament, Livewire, Laravel, Blade, providers, policies, migrations, jobs, queues, database, tenant isolation, workspace behavior, RBAC, or AuditLog behavior
Problem
Spec 402 created the correct website foundation, and Spec 403 made the public website safer for launch. However, the current homepage and public pages still feel like a theme adaptation with conservative placeholder copy. The messaging is directionally correct but not yet sharp enough for an enterprise SaaS buyer.
Current issues:
- Hero messaging is long and visually heavy.
- The homepage repeats similar concepts without a clear content hierarchy.
- Product previews do not yet map to a crisp narrative.
- Pricing/evaluation language feels provisional.
- FAQ answers are safe but not yet strong.
- Trust language is conservative but could better explain what is and is not claimed.
- CTA labels need consistent buyer intent.
- The website does not yet fully express the difference between Tenantial as governance-of-record and a helpdesk/device-action tool.
Content Positioning Principles
Public copy must follow these principles:
- Governance-of-record, not helpdesk: Tenantial should be positioned as a governance, evidence, review, audit, backup/restore, and drift-control product for Microsoft tenant configuration.
- Evidence-first: The core message is not simply "backup Intune." It is "make tenant configuration changes reviewable, attributable, and recoverable through evidence."
- Operator-safe: Public copy must avoid implying blind automation, automatic restore success, or uncontrolled live tenant action.
- Enterprise calm: Copy should be precise, restrained, and credible. Avoid hype, inflated AI language, fake urgency, and unsupported security/compliance promises.
- Public website only: Marketing language may explain product intent, but must not imply that the public website itself connects to Microsoft tenants, runs Graph calls, or shows live tenant data.
- No fake proof: No customer logos, testimonials, certifications, Microsoft endorsements, uptime guarantees, compliance guarantees, or recovery guarantees unless verified proof is supplied.
User Scenarios & Testing (mandatory)
User Story 1 - Understand The Product Category (Priority: P1)
A first-time visitor opens the homepage and understands that Tenantial is an evidence-first governance product for Microsoft tenant configuration.
Why this priority: If visitors cannot quickly categorize the product, layout polish will not fix the website.
Independent Test: Read the hero and first two homepage sections without relying on visuals.
Acceptance Scenarios:
- Given a visitor opens
/, When they read the hero, Then they can identify Tenantial as a governance/evidence product for Microsoft tenant configuration. - Given they read the first two sections, When they summarize the product, Then they mention at least three of: backup, restore, drift, findings, evidence, audit trail, exceptions, reviews.
- Given they compare Tenantial to a helpdesk or device-action product, When reading the page, Then they understand Tenantial is not positioned as a helpdesk/device-action surface.
User Story 2 - Follow A Clear Website Narrative (Priority: P1)
A buyer scrolls the homepage and sees a deliberate narrative from problem to model to capability to evaluation.
Why this priority: A strong homepage needs a content sequence, not just independent sections.
Independent Test: Read homepage section headings and subheadings in order.
Acceptance Scenarios:
- Given a visitor scans headings only, When they move from hero to footer, Then the section sequence tells a coherent story.
- Given a visitor reads body copy, When moving through sections, Then each section adds new meaning instead of repeating the same claims.
- Given a CTA appears, When read in context, Then it matches the visitor's likely decision stage.
User Story 3 - Explain The Public Product Model On /platform (Priority: P1)
A visitor opens /platform and understands Tenantial's product model in more detail.
Why this priority: The /platform route is the main product explanation page and should hold deeper messaging than the homepage.
Independent Test: Read /platform copy without using admin/platform code as a source.
Acceptance Scenarios:
- Given a visitor opens
/platform, When they read the page, Then backup, restore, drift, findings, evidence, auditability, exceptions, and reviews are explained as one operating model. - Given product-like previews are present, When copy references them, Then they are described as illustrative/static.
- Given the page mentions Microsoft tenants, When reviewed, Then it remains public product positioning and does not imply website runtime provider access.
User Story 4 - Present Conservative Evaluation And Pricing Language (Priority: P2)
A buyer reads /pricing and homepage evaluation copy and understands that commercial packaging is scoped and contact-led.
Why this priority: Pricing language is a trust-sensitive surface.
Independent Test: Read pricing/evaluation copy and verify it avoids unsupported billing and entitlement claims.
Acceptance Scenarios:
- Given pricing is not finalized as self-serve billing, When
/pricingrenders, Then it does not claim checkout, subscription activation, instant onboarding, or fixed plan entitlements. - Given evaluation packages are shown, When reviewed, Then they are framed as scoped conversations or rollout options.
- Given CTAs appear in pricing sections, When clicked, Then they route to
/contactor another intentional page.
User Story 5 - Build Trust Without Fake Proof (Priority: P2)
A security-conscious buyer reads trust/legal/FAQ copy and sees clear, conservative trust positioning.
Why this priority: Tenantial's buyer will care about governance and evidence. Trust copy must be honest and precise.
Independent Test: Read /trust, FAQ, legal-adjacent copy, and footer statements.
Acceptance Scenarios:
- Given no verified certification proof exists, When trust copy is reviewed, Then it avoids SOC 2, ISO, Microsoft endorsement, compliance guarantee, uptime guarantee, and recovery guarantee claims.
- Given no customer proof exists, When social-proof areas render, Then they avoid fake logos, testimonials, and "trusted by" claims.
- Given the public website mentions evidence, When reviewed, Then it does not imply that public pages expose live tenant data or real customer evidence.
User Story 6 - Normalize CTA Language (Priority: P3)
A visitor sees consistent CTA language across homepage, platform, pricing, trust, docs, and footer.
Why this priority: CTA inconsistency makes the site feel unfinished.
Independent Test: List all visible CTA labels and target URLs.
Acceptance Scenarios:
- Given CTAs appear across pages, When labels are compared, Then the primary action language is consistent.
- Given secondary CTAs appear, When clicked, Then they route to explanatory pages or anchors.
- Given a CTA implies a workflow, When reviewed, Then the workflow is actually available or the CTA is reworded.
Edge Cases
- If a strong marketing phrase risks unsupported claims, prefer conservative wording.
- If a page is not ready for detailed content, use restrained intentional placeholder copy or hide it from navigation.
- If docs content is exposed, it must not imply product behavior not yet supported.
- If product screenshots/previews show values, they must be framed as illustrative/static.
- If the public website mentions Microsoft, it must not imply Microsoft endorsement.
- If public copy mentions restore, it must avoid guaranteed recovery language.
- If copy mentions audit/compliance, it must avoid guaranteed compliance language.
- If copy mentions security, it must avoid certification or assurance claims unless verified.
- If CTA text references "walkthrough", "demo", or "contact", the target must be intentional and not imply automated scheduling unless implemented.
- If old ScrewFast/source copy remains only in non-public attribution or internal files, it is not a content blocker unless it is emitted into public output.
Requirements (mandatory)
Assumptions
- Spec 402 and Spec 403 are complete.
apps/websiteis ScrewFast-derived and currently builds.- The public website domain is
tenantial.com. - No verified customer proof, certification proof, Microsoft partnership proof, or billing model has been supplied.
- No backend form submission, scheduling, login, newsletter, or self-serve purchase workflow exists in website scope.
- Tenantial's intended public positioning is evidence-first governance for Microsoft tenant configuration.
- Tenantial is not positioned as a helpdesk, device-action, or live remediation product.
apps/platformis out of scope and must remain untouched.
Functional Requirements
Scope
- FR-001: The implementation MUST remain scoped to
apps/website. - FR-002: The implementation MUST NOT touch
apps/platform. - FR-003: The implementation MUST NOT recreate
apps/website. - FR-004: The implementation MUST NOT replace the ScrewFast-derived foundation.
- FR-005: The implementation MUST focus on public content, messaging, metadata, CTA labels, and claim safety.
- FR-006: Layout and visual changes SHOULD be limited to what is necessary to support content clarity.
Messaging Architecture
- FR-007: The homepage MUST have a clear messaging hierarchy from hero to final CTA.
- FR-008: Homepage section headings MUST tell a coherent story when read in order.
- FR-009: Homepage sections MUST avoid unnecessary repetition.
- FR-010: The product MUST be positioned as evidence-first governance for Microsoft tenant configuration.
- FR-011: The product MUST NOT be positioned as a helpdesk, device-action, or blind automation tool.
Product Capability Copy
- FR-012: Public copy MUST explain backup, restore, drift detection, findings, evidence, auditability, exceptions, and reviews.
- FR-013: Restore copy MUST avoid guaranteed recovery or automatic success language.
- FR-014: Drift/finding copy MUST emphasize reviewability and operator decision-making rather than automatic remediation.
- FR-015: Evidence/audit copy MUST avoid claiming legal sufficiency, certification, or guaranteed compliance.
- FR-016: Every public product-like preview or status-like preview value MUST be framed as static, demo, or illustrative content and MUST NOT imply live tenant data.
Page-Level Content
- FR-017:
/MUST contain finalized homepage copy suitable for layout polish. - FR-018:
/platformMUST contain deeper product-model copy than the homepage. - FR-019:
/pricingMUST use conservative evaluation/scoped rollout language. - FR-020:
/trustMUST use proof-safe trust language. - FR-021:
/contactMUST set realistic expectations about the contact/demo process. - FR-022: Docs routes exposed in navigation MUST contain intentional Tenantial-specific content or be hidden from navigation.
CTA Language
- FR-023: Primary CTA language SHOULD be consistent across the site.
- FR-024: Secondary CTA language SHOULD clearly indicate informational navigation.
- FR-025: CTAs MUST resolve to intentional routes or anchors.
- FR-026: CTAs MUST NOT imply unavailable workflow such as login, signup, checkout, account creation, instant provisioning, or automated scheduling.
Trust And Claim Safety
- FR-027: Public copy MUST NOT include fake customer logos, fake testimonials, or unsupported "trusted by" claims.
- FR-028: Public copy MUST NOT claim SOC 2, ISO, Microsoft endorsement, guaranteed uptime, guaranteed recovery, or guaranteed compliance unless verified proof is supplied.
- FR-029: Public copy MUST NOT expose ScrewFast, construction, hardware, manufacturing, template, TenantAtlas, TenantPilot, or TenantCTRL as public brand residue.
- FR-030: Public copy MUST NOT imply the public website connects to a live Microsoft tenant.
- FR-031: Public copy MUST NOT imply the public website displays real tenant data.
Metadata
- FR-032: Core public route titles and descriptions MUST reflect the revised messaging.
- FR-033: Metadata MUST remain Tenantial-specific and residue-free.
- FR-034: Sitemap and robots behavior from Spec 403 MUST remain intact.
Validation
- FR-035: Build validation MUST pass with
corepack pnpm build:website. - FR-036: Public smoke validation MUST pass with
WEBSITE_PORT=4321 corepack pnpm --filter @tenantatlas/website test:smoke. - FR-037: Whitespace/conflict validation MUST pass with
git diff --check. - FR-038: Scope validation MUST confirm
git status --short -- apps/platformis empty. - FR-039: Implementation summary MUST list changed pages, CTA labels, claim-safety decisions, validation results, and any content follow-ups.
Success Criteria (mandatory)
- SC-001: A reviewer can summarize Tenantial's product category from the homepage hero and first two sections in one sentence without using implementation notes.
- SC-002: Homepage headings read as a coherent narrative from problem to product model to evaluation when copied into a plain-text outline.
- SC-003:
/platformexplains the product model more deeply than the homepage and covers backup, restore, drift, findings, evidence, auditability, exceptions, and reviews as one operating model. - SC-004: Public copy includes backup, restore, drift, findings, evidence, auditability, exceptions, and reviews without unsupported recovery, compliance, certification, or endorsement guarantees.
- SC-005: Pricing/evaluation language is conservative and contact-led, with 0 claims of checkout, instant subscription activation, self-serve billing, or fixed unsupported entitlements.
- SC-006: Trust copy contains 0 unsupported certifications, endorsements, customer-proof claims, uptime guarantees, recovery guarantees, or compliance guarantees.
- SC-007: 100% of visible CTA labels use the normalized buyer-intent language defined by this feature, and 100% of CTA targets resolve to intentional routes or anchors.
- SC-008: 0 public
href="#"placeholders remain. - SC-009: 0 forbidden public residue terms appear in visible copy or metadata.
- SC-010:
corepack pnpm build:websitepasses. - SC-011:
WEBSITE_PORT=4321 corepack pnpm --filter @tenantatlas/website test:smokepasses. - SC-012:
git diff --checkpasses. - SC-013:
git status --short -- apps/platformreturns empty.
Implementation Notes For Planning
Planning should preserve the following sequence:
- Start with a read-only content audit of visible headings, body copy, CTA labels, metadata titles, metadata descriptions, FAQ answers, and footer statements across core public routes.
- Define the homepage narrative before rewriting section copy.
- Define
/platformas the deeper public product-model explanation. - Normalize primary and secondary CTA language before changing individual labels.
- Keep claim-safety wording conservative for restore, audit, compliance, trust, and pricing.
- Review exposed docs routes and either update them with intentional Tenantial-specific content or hide them from public navigation.
- Preserve sitemap, robots, redirect, and noindex behavior established by Spec 403 unless a website-scope correction is explicitly required.
- Confirm
apps/platformremains untouched during close-out.
Suggested Validation Commands
corepack pnpm build:website
WEBSITE_PORT=4321 corepack pnpm --filter @tenantatlas/website test:smoke
git diff --check
git status --short -- apps/platform
Reviewer Notes
Reviewers should evaluate content quality before requesting spacing or layout refinements.
The review should answer:
- Is the product category clear?
- Is the homepage narrative coherent?
- Does
/platformexplain the product model better than the homepage? - Are restore, audit, trust, pricing, and evidence claims conservative?
- Are CTA labels consistent and honest?
- Is the public website still free of unsupported claims and residue?
- Is
apps/platformuntouched?
Follow-Up
After this spec, the next likely spec is:
- Spec 405 -
apps/websiteHomepage Layout Rhythm & Visual Productization
Spec 405 should use the stabilized content from this spec as the basis for spacing, section rhythm, preview sizing, and visual polish.