--- id: TASK-12 title: Publish customer audit pages with manual approval status: Done assignee: [] created_date: '2026-06-03 19:14' updated_date: '2026-06-05 12:13' labels: - mvp - audit - public-page dependencies: - TASK-11 references: - PRD.md priority: high ordinal: 12000 --- ## Description Build the public customer-facing audit page system under the audit domain. Pages are generated from approved audit content, use clear human-readable slugs, show screenshots without annotations, avoid scores, include noindex, and remain hidden behind a neutral status message until manually approved. ## Acceptance Criteria - [x] #1 Public audit pages render approved audit content with company name, domain, screenshots, observations, impact, suggestions, and final offer/CTA - [x] #2 Unapproved audit URLs show Dieser Audit ist noch nicht freigegeben without leaking company details - [x] #3 Deactivated audit URLs show a neutral unavailable message without exposing audit content - [x] #4 Audit pages are noindex, excluded from sitemap/public listing, and use a calm fixed light design - [x] #5 Approved pages are cached and cache is invalidated when the audit is edited and re-approved ## Implementation Plan 1. Define public audit route and slug lookup rules. 2. Build the calm, fixed-light audit page layout with sections for context, observations, screenshots, suggestions, and CTA. 3. Add publication states for draft, approved/published, and deactivated. 4. Add noindex metadata and ensure audit routes are not listed in sitemap/navigation. 5. Add cache/revalidation behavior tied to approval and update actions. ## Implementation Notes Reapplying TASK-12 changes after failed pull lost previous implementation. Upstream TASK-1 through TASK-11 code is now present locally; implementation will adapt to current Convex/generated API and existing app structure. Reapplied TASK-12 public audit implementation after pull-loss recovery. Verified with pnpm test (244/244), pnpm exec tsc --noEmit, pnpm lint (0 errors, 2 existing generated warnings), and pnpm build using the updated .env.local. ## Final Summary Public audit pages were reapplied and verified: approved public pages render public audit content with screenshots, observations, suggestions and CTA; hidden/deactivated states do not leak details; pages are noindex and excluded from sitemap; cache/revalidation hooks are in place. Verified with pnpm test, tsc, lint, and build.