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.