Shared TermsOfServiceDocument used by public + acknowledge flows
/terms_of_service/ reachable without auth; /legal/terms-of-service alias
Expanded clauses including Analytics and Cookies (always-on page views vs consent-gated events)
Acknowledge still posts /user/acknowledge_tos/ when signed in
Links from Sign In, Sign Up, and Footer
Test plan
Visit /terms_of_service/ logged out — document renders, no Acknowledge
Visit /legal/terms-of-service — same public content
Sign in as user needing ToS — Acknowledge posts and navigates home
Confirm Sign In / Sign Up / Footer / consent banner link to ToS
npm run test:ci -- --testPathPattern='TermsOfService|Footer'
## Summary
Closes #39.
- Shared `TermsOfServiceDocument` used by public + acknowledge flows
- `/terms_of_service/` reachable without auth; `/legal/terms-of-service` alias
- Expanded clauses including **Analytics and Cookies** (always-on page views vs consent-gated events)
- Acknowledge still posts `/user/acknowledge_tos/` when signed in
- Links from Sign In, Sign Up, and Footer
## Test plan
- [ ] Visit `/terms_of_service/` logged out — document renders, no Acknowledge
- [ ] Visit `/legal/terms-of-service` — same public content
- [ ] Sign in as user needing ToS — Acknowledge posts and navigates home
- [ ] Confirm Sign In / Sign Up / Footer / consent banner link to ToS
- [ ] `npm run test:ci -- --testPathPattern='TermsOfService|Footer'`
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Closes #39.
TermsOfServiceDocumentused by public + acknowledge flows/terms_of_service/reachable without auth;/legal/terms-of-servicealias/user/acknowledge_tos/when signed inTest plan
/terms_of_service/logged out — document renders, no Acknowledge/legal/terms-of-service— same public contentnpm run test:ci -- --testPathPattern='TermsOfService|Footer'