Add privacy, terms, and cookies pages #64

Merged
an.di merged 1 commits from feature/legal-footer-pages into main 2026-08-17 17:16:28 +00:00
Owner

Overview

Footer and login legal links were stubs (href: "#"). This adds public /privacy, /terms, and /cookies pages so those links go somewhere, using the Figma Content page Template (guide banner + article column) rather than a markdown dump.

Copy is split on purpose: Privacy covers what we collect, MEDLab hosting, and that recommendations are a matching table (not AI). Terms covers licenses, the public templates API, and acceptable use. Cookies covers the session cookie only.

This is not a substitute for university counsel review.

Changes

  • New marketing routes /privacy, /terms, /cookies sharing LegalDocumentPage (ContentBanner guide variant, heading + paragraph stacks, Figma article type scale)
  • Footer legal links point to /privacy, /terms, /cookies; login Terms / Privacy links match
  • Copy in messages/en/pages/{privacy,terms,cookies}.json, registered in index.ts and marketing.ts, with metadata titles
  • Tests for page chrome and hrefs (tests/pages/legal.test.tsx, Footer, LoginForm)

How to Test

  1. npm run dev and open /privacy, /terms, /cookies
  2. From the marketing footer, confirm Privacy Policy, Terms of Service, and Cookies Settings land on those routes
  3. Open the login modal and confirm Terms of Service and Privacy Policy go to /terms and /privacy
  4. Check the pages at mobile and lg/xl: banner, metadata row, section headings, body column width
  5. On Terms, open the Gitea, CC BY-SA, GPL, and GET /api/templates links
  6. npx vitest run tests/pages/legal.test.tsx tests/unit/legalSyntheticPost.test.ts tests/components/Footer.test.tsx tests/components/LoginForm.test.tsx

Notes

  • Copy is grounded in current product behavior (magic-link session cookie, Cloudron/MEDLab hosting, Amazon SES for mail, facet-matrix ranking, public GET /api/templates). Counsel should still review before treating these as official.
  • There is no dedicated legal frame in Figma; layout follows Content page Template 19003:23305 and omits related articles, Ask Organizer, and decorative shapes.
  • Cookies Settings has nothing to toggle: the only cookie is cr_session.
## Overview Footer and login legal links were stubs (`href: "#"`). This adds public `/privacy`, `/terms`, and `/cookies` pages so those links go somewhere, using the Figma Content page Template (guide banner + article column) rather than a markdown dump. Copy is split on purpose: Privacy covers what we collect, MEDLab hosting, and that recommendations are a matching table (not AI). Terms covers licenses, the public templates API, and acceptable use. Cookies covers the session cookie only. This is not a substitute for university counsel review. ## Changes - New marketing routes `/privacy`, `/terms`, `/cookies` sharing `LegalDocumentPage` (`ContentBanner` guide variant, heading + paragraph stacks, Figma article type scale) - Footer legal links point to `/privacy`, `/terms`, `/cookies`; login Terms / Privacy links match - Copy in `messages/en/pages/{privacy,terms,cookies}.json`, registered in `index.ts` and `marketing.ts`, with metadata titles - Tests for page chrome and hrefs (`tests/pages/legal.test.tsx`, Footer, LoginForm) ## How to Test 1. `npm run dev` and open `/privacy`, `/terms`, `/cookies` 2. From the marketing footer, confirm Privacy Policy, Terms of Service, and Cookies Settings land on those routes 3. Open the login modal and confirm Terms of Service and Privacy Policy go to `/terms` and `/privacy` 4. Check the pages at mobile and `lg`/`xl`: banner, metadata row, section headings, body column width 5. On Terms, open the Gitea, CC BY-SA, GPL, and `GET /api/templates` links 6. `npx vitest run tests/pages/legal.test.tsx tests/unit/legalSyntheticPost.test.ts tests/components/Footer.test.tsx tests/components/LoginForm.test.tsx` ## Notes - Copy is grounded in current product behavior (magic-link session cookie, Cloudron/MEDLab hosting, Amazon SES for mail, facet-matrix ranking, public `GET /api/templates`). Counsel should still review before treating these as official. - There is no dedicated legal frame in Figma; layout follows Content page Template `19003:23305` and omits related articles, Ask Organizer, and decorative shapes. - Cookies Settings has nothing to toggle: the only cookie is `cr_session`.
an.di added 1 commit 2026-08-17 17:16:02 +00:00
Footer and login legal links were stubs. Point them at real marketing
pages that follow the Figma content-page template.
an.di self-assigned this 2026-08-17 17:16:10 +00:00
an.di merged commit cb0adf2049 into main 2026-08-17 17:16:28 +00:00
an.di deleted branch feature/legal-footer-pages 2026-08-17 17:16:28 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: CommunityRule/community-rule#64