Policy document intelligence for SaaS products.
Turn privacy policies, terms of service, and related legal pages into plain-English risk assessments.
Clausea crawls and analyzes policy documents (privacy policies, terms of service, cookie policies, GDPR notices, DPAs, and more) for SaaS products. It extracts structured signals (data collected, third-party sharing, user rights, retention, consent model) and synthesizes them into a qualitative verdict, and decision-ready summaries.
Live product pages: https://clausea.co/products/{slug}
Machine-readable summaries: https://clausea.co/api/products/{slug}/summary.txt
| Area | What you get |
|---|---|
| Whole-site coverage | Crawls a vendor's full policy surface, not just a single pasted URL |
| Risk scoring | 0–10 score with grade, verdict, and score breakdown |
| Plain-English summaries | Consumer-friendly explainers plus detailed policy overviews |
| Topic intelligence | Stance and evidence across key privacy topics |
| Compliance signals | GDPR and CCPA-relevant clause detection |
| Source documents | Linked, cited policy pages behind every finding |
| Browser extension | Analyze policies from the toolbar (packages/extension) |
| Developer API | FastAPI backend with OpenAPI docs at /docs |
- Individuals checking what an app does with their data before signing up
- Privacy-conscious users comparing vendor policies
- Compliance and legal teams auditing third-party SaaS vendors
- Developers building on the Clausea API or self-hosting the stack
- Python 3.11+ with uv
- Node.js 18+ with bun
- MongoDB (local or Atlas)
- API keys as needed: Openrouter, Clerk, Pinecone (see env examples)
git clone https://github.com/lvndry/clausea.git
cd clausea
make setupmake setup installs dependencies, creates env files from examples, and configures pre-commit hooks. Run make help for all commands.
# Backend — edit with MongoDB URI, LLM keys, Clerk JWKS, etc.
cp packages/backend/.env.example packages/backend/.env
# Frontend — Makefile/setup uses .env.local
cp packages/frontend/.env.example packages/frontend/.env.localSee packages/backend/.env.example and packages/frontend/.env.example for the full variable list.
# Frontend + backend
make dev
# Or individually
make run-backend # http://localhost:8000
make run-frontend # http://localhost:3000
make dashboard # Streamlit ops dashboard (http://localhost:8501)| Service | URL |
|---|---|
| Web app | http://localhost:3000 |
| API | http://localhost:8000 |
| OpenAPI | http://localhost:8000/docs |
| Ops dashboard | http://localhost:8501 |
make setup-extension # once
make extension-dev # builds to packages/extension/.output/chrome-mv3Load the unpacked extension from packages/extension/.output/chrome-mv3 in chrome://extensions. See the extension README.
make test # backend (pytest) + frontend (vitest)
make lint # ruff + eslint
make format # ruff format + prettierBackend-only checks (from packages/backend):
uv run ty check
uv run ruff check
uv run pytestContributing: fork, branch, open a PR. See CONTRIBUTING.md and AGENTS.md.
At a high level, indexing a product runs a three-step pipeline:
- Crawl — two-pass discovery (precision-first, recall fallback) to find and persist policy pages
- Analyze — evidence-first LLM extraction per document, with LiteLLM routing and fallbacks
- Synthesize — product overview, topic stances, risk score, and rollup across core documents
Deep dives:
- Website: clausea.co
- Email: contact@clausea.co