## Summary - add a dedicated public trust, privacy, and security surface for DACH evaluation - expand homepage trust discoverability and localized trust handoff copy - add and update smoke coverage plus Spec Kit artifacts for feature 405 ## Validation - corepack pnpm --dir apps/website build - WEBSITE_PORT=4322 corepack pnpm exec playwright test tests/smoke/public-routes.spec.ts tests/smoke/interaction.spec.ts Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #400
18 KiB
Tasks: DACH Trust, Datenschutz & Security Website Surface
Input: Design documents from /Users/ahmeddarrazi/Documents/projects/wt-website/specs/405-dach-trust-datenschutz-security-website-surface/
Prerequisites: /Users/ahmeddarrazi/Documents/projects/wt-website/specs/405-dach-trust-datenschutz-security-website-surface/plan.md, /Users/ahmeddarrazi/Documents/projects/wt-website/specs/405-dach-trust-datenschutz-security-website-surface/spec.md, /Users/ahmeddarrazi/Documents/projects/wt-website/specs/405-dach-trust-datenschutz-security-website-surface/research.md, /Users/ahmeddarrazi/Documents/projects/wt-website/specs/405-dach-trust-datenschutz-security-website-surface/data-model.md, /Users/ahmeddarrazi/Documents/projects/wt-website/specs/405-dach-trust-datenschutz-security-website-surface/contracts/public-trust-routes.openapi.yaml
Tests: Browser/static website validation is required for this feature. Use the existing Astro build and Playwright smoke suite in /Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/.
Scope: Implement Spec 405 in /Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/ only. Do not edit /Users/ahmeddarrazi/Documents/projects/wt-website/apps/platform/, root workspace contracts, dependencies, or generated build artifacts unless the verified workflow requires rerendered output.
Phase 1: Setup (Project Initialization)
Purpose: Confirm the active website contracts, route mirrors, and validation surface before implementation starts.
- T001 [P] Verify workspace website contracts in
/Users/ahmeddarrazi/Documents/projects/wt-website/package.json,/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/package.json,/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/playwright.config.ts, and/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/i18n.ts - T002 [P] Audit current trust and homepage content seams in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/data_files/site-copy.ts,/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/components/pages/TrustPage.astro, and/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/components/pages/HomePage.astro - T003 [P] Audit current browser validation coverage in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/public-routes.spec.ts,/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/interaction.spec.ts, and/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/smoke-helpers.ts
Phase 2: Foundational (Blocking Prerequisites)
Purpose: Establish the shared trust data structure and page/test scaffolding that all user stories depend on.
⚠️ CRITICAL: No user story work should start until this phase is complete.
- T004 Refactor the shared trust data shape for both locales in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/data_files/site-copy.tsto support claim statuses, trust topics, data categories, permission posture, and real handoff CTA data - T005 Update
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/components/pages/TrustPage.astroto consume the new shared trust data shape and reserve section slots for all required trust topics - T006 [P] Extend reusable trust-claim and real-handoff assertions in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/smoke-helpers.tsfor both German and English trust-route coverage
Checkpoint: Shared trust data, page scaffolding, and reusable smoke helpers are ready.
Phase 3: User Story 1 - DACH Evaluator Reviews Trust Posture (Priority: P1) 🎯 MVP
Goal: Deliver the core trust page so a DACH evaluator can understand the main trust posture without unsupported legal or certification claims.
Independent Test: Open /trust and /en/trust; confirm the page shows the trust hero, trust principles, hosting posture, privacy posture, auditability, retention/export/deletion/support posture, claim-safe localized metadata, and primary trust copy that remains visible with JavaScript disabled.
Tests for User Story 1
- T007 [US1] Add failing core trust-route coverage for evaluator-facing sections and conservative metadata in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/public-routes.spec.ts - T008 [P] [US1] Add failing desktop/mobile and no-JavaScript trust-route readability checks in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/interaction.spec.ts
Implementation for User Story 1
- T009 [US1] Populate localized core evaluator-facing trust copy in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/data_files/site-copy.ts - T010 [US1] Implement the trust hero, trust principles, hosting/privacy posture, auditability, and retention/export/deletion/support summary sections in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/components/pages/TrustPage.astro - T011 [US1] Align
/trustand/en/trustpage-title and meta-description strings in/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/data_files/site-copy.ts
Checkpoint: User Story 1 is independently functional and can be validated from the trust route alone.
Phase 4: User Story 2 - Procurement Or Privacy Reviewer Requests Documents Safely (Priority: P1)
Goal: Show document readiness and request-safe handoff so procurement and privacy reviewers can evaluate AVV/DPA, TOM, subprocessors, and security follow-up without fake downloads or dead links.
Independent Test: Open /trust; confirm AVV/DPA, TOM, subprocessors, support access, and security-contact topics show explicit status language and only real request destinations.
Tests for User Story 2
- T012 [US2] Add failing document-readiness, status-language, and trust-request CTA assertions in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/public-routes.spec.ts - T013 [P] [US2] Add failing fake-download and placeholder-request-link coverage in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/smoke-helpers.ts
Implementation for User Story 2
- T014 [US2] Add localized AVV/DPA, TOM, subprocessor, support-access, and security-contact readiness copy in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/data_files/site-copy.ts - T015 [US2] Render document-readiness status sections and real request handoffs in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/components/pages/TrustPage.astro - T016 [US2] Preserve the existing trust-request handoff through real contact destinations in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/components/pages/TrustPage.astroand/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/data_files/site-copy.ts
Checkpoint: User Story 2 is independently functional and document-readiness review can proceed without hidden dependencies on other stories.
Phase 5: User Story 3 - Technical Reviewer Understands Data And Permission Boundaries (Priority: P2)
Goal: Explain data categories, what Tenantial does not aim to store unnecessarily, and provider-permission posture with clear read/write and least-privilege distinctions.
Independent Test: Open /trust; confirm the data-category, provider-permission, RBAC/least-privilege, and encryption/secrets sections make the governance/evidence boundaries and read/write distinction understandable in one pass.
Tests for User Story 3
- T017 [US3] Add failing data-category, provider-permission, RBAC/least-privilege, and encryption/secrets expectations in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/public-routes.spec.ts - T018 [P] [US3] Add failing overclaim coverage for provider support and data-minimization wording in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/smoke-helpers.ts
Implementation for User Story 3
- T019 [US3] Add localized data-category and productive-content-avoidance copy in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/data_files/site-copy.ts - T020 [US3] Add localized provider-permission, read/write, RBAC/least-privilege, and encryption/secrets posture copy in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/data_files/site-copy.ts - T021 [US3] Render the data-category, provider-permission, RBAC/least-privilege, encryption/secrets, and claim-status-legend sections in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/components/pages/TrustPage.astro
Checkpoint: User Story 3 is independently functional and technical reviewers can assess data and permission boundaries without stale implementation detail.
Phase 6: User Story 4 - Public Visitor Can Reach The Trust Surface Easily (Priority: P3)
Goal: Make the trust surface easy to discover from homepage, footer, and navigation without duplicating the full trust content outside the canonical route.
Independent Test: Visit the homepage on desktop and mobile, open the navigation/footer links, and confirm the trust page is reachable in one click with localized destinations for both route families.
Tests for User Story 4
- T022 [US4] Add failing homepage, footer, and localized trust-link discoverability assertions in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/public-routes.spec.ts - T023 [P] [US4] Add failing mobile-navigation and keyboard-flow trust-link coverage in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/interaction.spec.ts
Implementation for User Story 4
- T024 [US4] Update localized homepage trust-teaser copy and CTA targets in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/data_files/site-copy.ts - T025 [US4] Update trust-teaser rendering and canonical trust-route linkage in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/components/pages/HomePage.astro - T026 [US4] Preserve localized trust discoverability for navigation and footer entries in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/data_files/site-copy.ts
Checkpoint: User Story 4 is independently functional and trust discoverability works across homepage, footer, and navigation.
Phase 7: Polish & Cross-Cutting Concerns
Purpose: Final validation, scope protection, and cross-story consistency checks.
- T027 [P] Run the forbidden-claim and placeholder-link scan from
/Users/ahmeddarrazi/Documents/projects/wt-website/specs/405-dach-trust-datenschutz-security-website-surface/quickstart.mdagainst/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src,/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/public, and/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/dist - T028 Run
corepack pnpm build:websiteandcorepack pnpm --filter @tenantatlas/website testusing/Users/ahmeddarrazi/Documents/projects/wt-website/package.json,/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/package.json, and/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/playwright.config.ts - T029 Review final localized trust and homepage copy for unsupported hard claims, route parity, and duplicate-truth drift in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/data_files/site-copy.ts,/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/components/pages/TrustPage.astro, and/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/components/pages/HomePage.astro, and record the exact text, verification source, and publication rationale in PR notes for any retained hard trust claim - T030 Run the final scope and diff check from
/Users/ahmeddarrazi/Documents/projects/wt-website/specs/405-dach-trust-datenschutz-security-website-surface/quickstart.mdagainst/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/and/Users/ahmeddarrazi/Documents/projects/wt-website/apps/platform/, and record any required follow-up spec IDs for deferred permission docs, procurement workflows, or automated claim-guardrail work
Dependencies & Execution Order
Phase Dependencies
- Phase 1: Setup: No dependencies, can start immediately.
- Phase 2: Foundational: Depends on Phase 1 completion and blocks all user stories.
- Phase 3: User Story 1: Depends on Phase 2 completion.
- Phase 4: User Story 2: Depends on Phase 2 completion; lowest merge friction comes after US1 because it extends the same trust page.
- Phase 5: User Story 3: Depends on Phase 2 completion; lowest merge friction comes after US1 because it extends the same trust page.
- Phase 6: User Story 4: Depends on Phase 2 completion and should land after the trust-page content stories so homepage discoverability points to the finished surface.
- Phase 7: Polish: Depends on all desired user stories being complete.
User Story Dependencies
- US1 (P1): No dependency on other stories after the foundational phase.
- US2 (P1): Independent from US3, but shares
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/data_files/site-copy.tsand/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/components/pages/TrustPage.astrowith other trust-page stories. - US3 (P2): Independent from US2, but shares the same trust-page files and should be coordinated accordingly.
- US4 (P3): Independent in outcome terms, but depends on the canonical trust content being in place to avoid duplicating unfinished messaging.
Within Each User Story
- Tests should be written first and should fail before implementation is considered complete.
- Shared localized copy changes in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/data_files/site-copy.tsshould land before Astro rendering tasks that consume them. - Trust-page rendering changes in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/components/pages/TrustPage.astroshould land before final smoke validation. - Homepage discoverability changes in
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/components/pages/HomePage.astroshould land before keyboard/mobile discoverability validation closes.
Parallel Opportunities
- Setup audit tasks
T001-T003can run in parallel. - Foundational helper work
T006can run in parallel onceT004andT005have clarified the shared shape. - In each user story, the two test tasks can run in parallel because they touch different test files.
US2andUS3can be worked in parallel by different people only if edits tosite-copy.tsandTrustPage.astroare coordinated carefully.- Polish tasks
T027andT029can run in parallel after implementation is complete.
Parallel Example: User Story 1
# Run the story-specific browser checks in parallel:
Task: "T007 Add failing core trust-route coverage in /Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/public-routes.spec.ts"
Task: "T008 Add failing desktop/mobile and no-JavaScript trust-route readability checks in /Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/interaction.spec.ts"
Parallel Example: User Story 2
# Prepare document-readiness browser checks in parallel:
Task: "T012 Add failing document-readiness assertions in /Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/public-routes.spec.ts"
Task: "T013 Add failing fake-download coverage in /Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/smoke-helpers.ts"
Parallel Example: User Story 3
# Prepare technical-review trust checks in parallel:
Task: "T017 Add failing data-category, provider-permission, RBAC/least-privilege, and encryption/secrets expectations in /Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/public-routes.spec.ts"
Task: "T018 Add failing provider-overclaim coverage in /Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/smoke-helpers.ts"
Parallel Example: User Story 4
# Prepare discoverability checks in parallel:
Task: "T022 Add failing homepage/footer trust-link assertions in /Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/public-routes.spec.ts"
Task: "T023 Add failing mobile-navigation and keyboard-flow trust-link coverage in /Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/tests/smoke/interaction.spec.ts"
Implementation Strategy
MVP First (User Story 1 Only)
- Complete Phase 1: Setup.
- Complete Phase 2: Foundational.
- Complete Phase 3: User Story 1.
- Stop and validate
/trustand/en/trustindependently. - Demo or review the core trust surface before adding request/readiness and technical-detail sections.
Incremental Delivery
- Finish Setup + Foundational to stabilize the trust data model and page scaffolding.
- Deliver US1 for core evaluator-facing trust posture.
- Add US2 for document readiness and safe request handoff.
- Add US3 for technical reviewer depth on data and permissions.
- Add US4 for homepage/footer/navigation discoverability.
- Finish with Phase 7 validation and scope checks.
Parallel Team Strategy
- One person completes Phase 1 and Phase 2.
- After foundational work:
- Person A: US1 and US4 flow/discoverability tasks
- Person B: US2 document-readiness tasks
- Person C: US3 technical-detail tasks
- Coordinate merges to
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/data_files/site-copy.tsand/Users/ahmeddarrazi/Documents/projects/wt-website/apps/website/src/components/pages/TrustPage.astrobecause they are shared hotspots.
Notes
- [P] tasks touch different files and can be executed in parallel.
[US1]-[US4]labels map directly to the user stories in/Users/ahmeddarrazi/Documents/projects/wt-website/specs/405-dach-trust-datenschutz-security-website-surface/spec.md.- Every task includes an exact file path and is scoped tightly enough for direct execution.
- Browser tests are required because this feature changes rendered public routes and localized metadata.
/Users/ahmeddarrazi/Documents/projects/wt-website/apps/platform/remains out of scope for every phase.