Skip to content

Legal Pages

Purpose: Terms, privacy, and policy documents
Category: Legal & Compliance
Pages: 3 pages
Audience: All users (required reading)


Overview

Static legal pages required for compliance and transparency.


1. Terms of Service

File: src/app/terms/page.tsx
Route: /terms
Type: Public
Purpose: Terms and conditions of service use

Sections:

  • Acceptance of Terms
  • User Accounts
  • Service Description
  • User Responsibilities
  • Intellectual Property
  • Privacy and Data
  • Prohibited Uses
  • Termination
  • Limitation of Liability
  • Dispute Resolution
  • Governing Law
  • Changes to Terms
  • Contact Information

Last Updated: Date stamp at top


2. Privacy Policy

File: src/app/privacy/page.tsx
Route: /privacy
Type: Public
Purpose: Data collection and usage practices

Sections:

  • Information We Collect
  • How We Use Your Information
  • Data Sharing and Disclosure
  • Cookies and Tracking Technologies
  • Data Security
  • Data Retention
  • Your Rights (GDPR/CCPA)
  • Children's Privacy
  • International Data Transfers
  • Third-Party Links
  • Changes to Privacy Policy
  • Contact Us

Compliance:

  • GDPR (EU)
  • CCPA (California)
  • DPDPA (India)

3. Cancellation & Refund Policy

File: src/app/cancellation-refund-policy/page.tsx
Route: /cancellation-refund-policy
Type: Public
Purpose: Subscription cancellation and refund terms

Sections:

  • Subscription Cancellation
  • Refund Eligibility
  • Refund Processing
  • Non-Refundable Items
  • Prorated Refunds
  • Free Trial Cancellation
  • Auto-Renewal Cancellation
  • Contact for Refunds

Key Points:

  • 7-day money-back guarantee (if applicable)
  • Prorated refunds for annual plans
  • No refunds for Free plan
  • Processing time: 5-7 business days

Content Management

Format: Static HTML/Markdown content
Updates: Versioned with dates
Acceptance: Users must accept during signup
Links: Footer of all pages


User Acceptance Tracking

Signup Flow:

// Checkbox for terms acceptance
<input
  type="checkbox"
  checked={termsAccepted}
  onChange={(e) => setTermsAccepted(e.target.checked)}
  required
/>
<label>
  I agree to the{" "}
  <Link href="/terms" target="_blank">Terms of Service</Link>
  {" "}and{" "}
  <Link href="/privacy" target="_blank">Privacy Policy</Link>
</label>

Backend Storage:

  • user.terms_accepted_at: Timestamp
  • user.terms_version: Version number
  • user.privacy_accepted_at: Timestamp

Styling

Layout:

  • Max-width container (800px)
  • Readable typography (16-18px)
  • Headings hierarchy (H1-H4)
  • Whitespace for readability
  • Table of contents (optional)

Accessibility:

  • Semantic HTML
  • Skip links
  • Keyboard navigation
  • High contrast text

Summary

Page Sections Word Count
Terms of Service 13 ~3,000
Privacy Policy 12 ~2,500
Cancellation & Refund 8 ~1,000

Total: ~6,500 words of legal content


"Transparent policies, trusted service."