97755042cb5b6d072fb0ba069913634da54c22e9
The Nessa app's Settings › Legal "Terms of Service" row had no Nessa-owned document to resolve to: it linked another product's terms, and nessa.freno.me/terms was a 404. Nessa sells an auto-renewing subscription, so App Review 3.1.2 requires the app to link terms of use as well as a privacy policy — the row has to land on a real document. - src/routes/nessa/terms.tsx: the page, in the privacy.tsx house template (EdgeCacheHeaders, site-aware PageHead, SubdomainHeader, subdomain-relative internal links). Sections cover acceptance, the service and its limits, accounts, community content and acceptable use, auto-renewable subscriptions (payment, renewal, the 24-hour cancel window, managing it in the App Store, trials, refunds, price changes), the Apple third-party acknowledgements, IP, disclaimers and liability, termination, changes, and contact. - src/lib/sitemap-routes.ts: add /terms to the Nessa set, and update the count assertion in sitemap-routes.test.ts to match. Health and safety: Nessa is not a medical device, so section 2(c) says so explicitly — the previous app-side link pointed at another product's terms, which said nothing about Nessa's training features. Deliberately left out, for Mike to decide rather than have me guess: - No legal entity name and no governing-law clause. No Nessa page states either today; the privacy policy speaks only as "we". - No NAV_CONFIG entry, so the nav link-set matrix tests are untouched. The route serves through the existing catch-all host rewrite in vercel.json; adding a nav item is a one-line change plus a matrix update if wanted.
Merge pull request 'analytics: make each weekly funnel stage separately measurable (FRE-366)' (#2) from agent-code-review/freno-dev:freno-dev/FRE-366-funnel-stages into master
Description
No description provided
Languages
TypeScript
64.5%
JavaScript
33.6%
CSS
1.2%
HTML
0.4%
Shell
0.3%