Files
hanzo.ai/app/(marketing)/terms/page.tsx
zeekay bb0d8f329c legal: one canonical set — /privacy /terms /cookies render content/legal, no duplicate TSX
The hand-written TSX privacy/terms/cookies were a SECOND source that had drifted
from the markdown stack and, worse, presented as in-force while the canonical set
is draft-pending-counsel. Now one source (content/legal/*.md), one render
(components/legal/document.tsx -> Prose), four routes; /privacy /terms /cookies
keep their URLs (footer/SEO intact) rendering the canonical content with
rel=canonical -> /legal/<slug>, all showing the draft notice.

Ported the carrier-mandated SMS/10DLC disclosures verbatim into privacy.md/terms.md
(dropping them was a real compliance regression). Fixed a dead #privacy-policy
anchor. Repointed every consumer to /legal/<slug>. Removed all legal-surface
Tailwind: 5241->4858, -438 lines. Five substantive conflicts (age 16 vs 18,
research default, never-train, liability cap, price notice) are FLAGGED for
counsel, not silently reconciled — canonical stands alone.
2026-08-28 08:24:07 -07:00

19 lines
594 B
TypeScript

import { LegalDocument, legalMeta } from '@/components/legal/document'
/**
* The Terms of Service, at the short address it has always answered on.
*
* It renders `content/legal/terms.md` through the same component
* `/legal/terms` uses, and its canonical points there. This file used to hold
* a SECOND agreement — sixteen hand-written sections that set the minimum age
* at 16 against the markdown's 18 and capped liability differently.
*/
const SLUG = 'terms'
export const metadata = legalMeta(SLUG)
export default function TermsPage() {
return <LegalDocument slug={SLUG} />
}