Building tos.watch: Automated Policy Change Monitoring

Terms of Service and Privacy Policy updates often happen without clear notice. That leaves users and teams unaware of changes that affect rights, data handling, or arbitration. I wanted a system that detects meaningful changes, classifies them, and notifies people before they are surprised.

The Problem

Policy monitoring is hard because:

  • Changes are buried in dense legal text
  • Formatting updates create noisy diffs
  • There is no centralized view across vendors

The Solution

tos.watch is an automated monitoring platform for Terms of Service and Privacy Policy changes with intelligent diffing and classification.

Key Features

  • Scheduled policy crawling
  • Intelligent diff detection (not just formatting changes)
  • Change classification by category
  • Diff visualization for transparency
  • Notification pipeline for meaningful changes

Technical Highlights

  • FastAPI backend with SQLAlchemy
  • Celery + Redis for scheduled jobs
  • Trafilatura + Playwright for content extraction
  • Google diff-match-patch for robust diffing
  • Next.js 14+ frontend for reports and dashboards
  • Polar for subscription management

Impact

  • Clear visibility into policy changes
  • Fewer false alarms from formatting edits
  • Faster response to updates that affect users

What Makes It Different

Most tools only tell you that a policy changed. tos.watch explains what changed and why it matters by classifying the update.

Tech Stack

  • FastAPI, SQLAlchemy, Celery, Redis
  • Next.js 14+, Tailwind CSS
  • PostgreSQL
  • Trafilatura, Playwright
  • Polar subscriptions

Current Status

Phase 1 Complete:

  • Content extraction pipeline
  • Diff detection
  • Supabase auth integration

In Progress:

  • Change classification improvements
  • Notifications and reporting UX

What I Learned

Diffing legal text is as much about normalization as it is about comparison. Clear, categorized alerts are what make policy monitoring useful in practice.

Links

  • Repository: Private
  • Documentation: Internal docs directory

Know when policy changes actually change the rules.