-- human written content starts here ---
Termsinator is a public registry of LLM-performed analyses of public legal documents, like ToSs, Privacy policies, Cookie policies, etc. The goal of this project is to help people better understand how their data will be used, and what potential pitfalls they need to avoid. The results can be accessed through the website and through a browser extension that uses an API. You can download it from the latest GitHub release.
Disclaimer! This is not legal advice! The LLM can—and will—make mistakes. Also, due to the complexity and regional differences of these legal documents, it is often tricky to decide how worrisome different claims are.
Live POC: https://termsinator.46-62-240-211.sslip.io
--- human written content ends here ---
The production processing profile remains disabled while the Qwen benchmark findings are addressed. Submitted URLs remain queued for maintainer review. A maintainer can run the processor locally and publish a schema-validated result with scripts/publish-report.sh RESULT.json; see processor/README.md and the ten-site benchmark.
Requirements: Go 1.19+, Node 22, pnpm 10, PostgreSQL 16.
# Start a test database
docker run --rm --name termsinator-test-db \
-e POSTGRES_PASSWORD=test -e POSTGRES_DB=termsinator_test \
-p 127.0.0.1:55432:5432 postgres:16-alpine
TEST_DATABASE_URL='postgres://postgres:test@127.0.0.1:55432/termsinator_test?sslmode=disable' go test ./...
pnpm --dir frontend install
pnpm --dir frontend build
Run the API with DATABASE_URL and LISTEN_ADDR=:8080. Run the worker with DATABASE_URL, PROCESSOR_EXECUTABLE, and optional PROCESSOR_TIMEOUT.
/downloads/termsinator-extension.zip on the deployed site.extension/./api-key/ page provides the keyless public lookup endpoint and bookmarklet.compose.production.yml defines singleton PostgreSQL/Caddy and blue/green API, web, and worker services. scripts/deploy.sh builds the inactive color, waits for health, switches Caddy, performs a public smoke test, then stops the old color. Only ports 80/443 are publicly bound.
CI and CODEOWNERS are prepared for a protected main branch. A license must be selected before publishing the GitHub repository.
24 commits
Python
42.7%
Go
26.5%
JavaScript
11.1%
Astro
11.1%
Shell
4.9%
CSS
3.3%
-- human written content starts here ---
Termsinator is a public registry of LLM-performed analyses of public legal documents, like ToSs, Privacy policies, Cookie policies, etc. The goal of this project is to help people better understand how their data will be used, and what potential pitfalls they need to avoid. The results can be accessed through the website and through a browser extension that uses an API. You can download it from the latest GitHub release.
Disclaimer! This is not legal advice! The LLM can—and will—make mistakes. Also, due to the complexity and regional differences of these legal documents, it is often tricky to decide how worrisome different claims are.
Live POC: https://termsinator.46-62-240-211.sslip.io
--- human written content ends here ---
The production processing profile remains disabled while the Qwen benchmark findings are addressed. Submitted URLs remain queued for maintainer review. A maintainer can run the processor locally and publish a schema-validated result with scripts/publish-report.sh RESULT.json; see processor/README.md and the ten-site benchmark.
Requirements: Go 1.19+, Node 22, pnpm 10, PostgreSQL 16.
# Start a test database
docker run --rm --name termsinator-test-db \
-e POSTGRES_PASSWORD=test -e POSTGRES_DB=termsinator_test \
-p 127.0.0.1:55432:5432 postgres:16-alpine
TEST_DATABASE_URL='postgres://postgres:test@127.0.0.1:55432/termsinator_test?sslmode=disable' go test ./...
pnpm --dir frontend install
pnpm --dir frontend build
Run the API with DATABASE_URL and LISTEN_ADDR=:8080. Run the worker with DATABASE_URL, PROCESSOR_EXECUTABLE, and optional PROCESSOR_TIMEOUT.
/downloads/termsinator-extension.zip on the deployed site.extension/./api-key/ page provides the keyless public lookup endpoint and bookmarklet.compose.production.yml defines singleton PostgreSQL/Caddy and blue/green API, web, and worker services. scripts/deploy.sh builds the inactive color, waits for health, switches Caddy, performs a public smoke test, then stops the old color. Only ports 80/443 are publicly bound.
CI and CODEOWNERS are prepared for a protected main branch. A license must be selected before publishing the GitHub repository.
24 commits
Python
42.7%
Go
26.5%
JavaScript
11.1%
Astro
11.1%
Shell
4.9%
CSS
3.3%