Without a terms-of-service page, you have no written agreement limiting liability, defining acceptable use, or establishing governing law — disputes default to whatever jurisdiction the plaintiff chooses. Payment processors including Stripe require terms for high-risk categories, and app stores reject submissions that lack them. User-generated content sites face DMCA exposure without a takedown clause, and subscription products cannot enforce refund policies that users never agreed to.
High because it creates direct legal and financial exposure on any site with accounts, payments, or user content.
Create a route at app/terms/page.tsx covering acceptable use, service guarantees, payment and refund terms, account termination, limitation of liability, and governing law. Link it from the footer and add a consent checkbox at signup (By signing up you agree to our Terms). Start from a template service like Termly or Docracy, then have counsel review if you accept payments, handle PII, or host user content.
// components/footer.tsx
<Link href="/terms">Terms of Service</Link>
ID: pre-launch.legal.terms-of-service
Severity: high
What to look for: Count all terms-related pages and links. Enumerate whether a terms of service page exists and is linked from the footer or signup flow. Search for a route or page that serves terms of service. Look for files matching patterns like terms.tsx, terms/page.tsx, tos.tsx, terms-of-service.tsx, legal/terms.tsx. Check footer navigation components for links to terms pages.
Pass criteria: A terms of service page exists at a reachable route (e.g., /terms, /terms-of-service, /tos, /legal/terms). At least 1 terms of service page must exist and be linked from the site footer.
Fail criteria: No terms of service page found anywhere in the project routes.
Skip (N/A) when: Skip for static informational sites or internal tools with no user accounts, transactions, or user-generated content. Signal: no auth dependencies, no payment dependencies, no user input beyond contact forms.
Cross-reference: For privacy policy, see privacy-policy.
Detail on fail: "No terms of service page found — strongly recommended for any SaaS, marketplace, or application where users create accounts or conduct transactions"
Remediation: Terms of service define the rules of engagement between you and your users. They protect you legally and set user expectations:
// components/footer.tsx — terms link
<Link href="/terms">Terms of Service</Link>
// Ensure app/terms/page.tsx exists
/terms or /terms-of-service.