{
  "markdown": "<div align=\"center\">\n\n<img src=\"static/logo-icon.svg\" alt=\"ClauseKeeper\" width=\"88\" />\n\n# ClauseKeeper\n\n### The open-source way to keep your website's legal documents current.\n\n**Privacy Policy · Terms of Service · Cookie Policy · AI-Disclosure** — generated in minutes, and kept up to date as the law changes.\n\n[![License: AGPL v3](https://img.shields.io/badge/License-AGPL_v3-navy.svg)](LICENSE)\n[![Self-host](https://img.shields.io/badge/self--host-Docker-0b7285.svg)](docs/SELF_HOSTING.md)\n![Python 3.11](https://img.shields.io/badge/python-3.11-3776ab.svg)\n![Tests](https://img.shields.io/badge/tests-31%20passing-2f9e44.svg)\n\n[**🔎 Try the free scanner**](https://clausekeeper.app/scan) · [**🐳 Self-host in 2 minutes**](docs/SELF_HOSTING.md) · [**🤝 Contribute**](CONTRIBUTING.md)\n\n⭐ **If this saves you a lawyer's invoice, drop a star — it genuinely helps.**\n\n</div>\n\n---\n\n## What is ClauseKeeper?\n\nEvery website needs a Privacy Policy, Terms of Service, Cookie banner, and — as of 2026 — an **AI-disclosure** statement. The problem isn't *writing* them once. It's that **the law keeps moving**: the EU AI Act phases in, US states pass new privacy laws, and your \"compliant\" policy from last year is quietly stale.\n\nClauseKeeper does two things:\n\n1. **🔎 Free compliance scanner** — paste your policy text or a URL, get a **0–100 score** and a checklist of missing or stale clauses (GDPR, CCPA/CPRA, cookies, retention, **AI disclosure**, COPPA, and more). 100% rule-based, **no LLM, $0 to run.**\n2. **📄 Document generator** — answer a short form, get a Privacy Policy, ToS, Cookie Policy, and a 2026 AI-Disclosure addendum with conditional clauses for your jurisdictions.\n\n> **It's a starting point, not legal advice.** ClauseKeeper gets you 90% of the way and keeps you current — for the edge cases, talk to a lawyer.\n\n---\n\n## 🆚 Open-source alternative to expensive compliance suites\n\nThe enterprise compliance platforms (Vanta, Drata, Delve, etc.) are built for funded startups closing SOC 2 / HIPAA enterprise deals — and priced accordingly (thousands per year, sales demos, audit-firm relationships).\n\n**ClauseKeeper is the opposite end of the market:** self-serve, dirt-cheap, and open source. It's for the indie founder, freelancer, and small SaaS who just need their website's legal documents *correct and current* — without a sales call or an enterprise invoice.\n\n| | Self-host (free) | Cloud (clausekeeper.app) |\n|---|---|---|\n| Free compliance scanner | ✅ | ✅ |\n| Document generator | ✅ | ✅ |\n| Hosted, versioned policy URLs | ✅ (your server) | ✅ |\n| **Always-current** auto-updates when laws change | ⚙️ you maintain the clause rules | ✅ we maintain them for you |\n| Billing / Stripe | n/a | ✅ |\n| Maintenance | you | us |\n\nIf you self-host, **you own everything** — the scanner and generator run with zero external keys. The paid cloud tier exists for people who'd rather we keep the clause library current for them.\n\n---\n\n## 🐳 Self-host in 2 minutes\n\n```bash\ngit clone https://github.com/<your-org>/ClauseKeeper.git\ncd ClauseKeeper\ncp .env.example .env          # defaults work out of the box; no paid keys needed\ndocker compose up\n# open http://localhost:8000\n```\n\nThe scanner and generator work immediately — **no Stripe, no API keys, nothing to sign up for.** Full guide: [docs/SELF_HOSTING.md](docs/SELF_HOSTING.md).\n\nPrefer running it without Docker? See the [contributing guide](CONTRIBUTING.md) for the `uv` / `venv` dev setup.\n\n---\n\n## 🛠 Tech stack\n\n- **FastAPI** + Uvicorn (Python 3.11)\n- **SQLite** for persistence (zero-config; swap-friendly)\n- **Jinja2** templates, no JS framework — fast and simple\n- Rule-based clause engine (`app/clause_rules.py`) — **no LLM dependency** for the core product\n- Optional **Stripe** for the hosted billing tier\n\n---\n\n## 🤖 Use with AI agents\n\nClauseKeeper is **agent-native** — built to be worked on (and used) by AI coding agents.\n\n**Work on the repo with an agent:**\n- **GitHub Copilot:** assign any [open issue](../../issues) to the Copilot coding agent — it reads [`AGENTS.md`](AGENTS.md) and `.github/copilot-instructions.md`, makes the change, runs the tests, and opens a PR.\n- **Cursor:** open the repo in Cursor and point a Cloud Agent at an issue — the same `AGENTS.md` context applies.\n- Agent context, architecture, and exact build/test commands all live in [`AGENTS.md`](AGENTS.md).\n\n**Use ClauseKeeper *from* an agent (MCP):**\nWe ship an [MCP server](mcp/) that exposes the compliance scanner as agent tools — so Claude, Cursor, or any MCP host can scan a privacy policy and get a score + missing-clause checklist. No API keys, runs locally.\n\n```jsonc\n// add to your MCP host config (e.g. Claude Desktop / Cursor)\n{\n  \"mcpServers\": {\n    \"clausekeeper\": { \"command\": \"clausekeeper-mcp\" }\n  }\n}\n```\n\nTools: `scan_policy_text`, `scan_policy_url`, `list_clause_rules`. See [mcp/README.md](mcp/README.md).\n\n---\n\n## 🤝 Contributing\n\nPRs welcome — this is a community project. Good first contributions:\n\n- **Add / improve clause rules** for a jurisdiction you know (`app/clause_rules.py`)\n- **New document templates** or template improvements (`templates/`)\n- **Scanner heuristics** — catch more stale/missing clauses\n- **Translations** of generated documents\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) and check the [open issues](../../issues) for tasks tagged `good first issue`. Claim one by commenting and we'll assign it to you.\n\n---\n\n## 📜 License\n\n[AGPL-3.0](LICENSE) — free to use, modify, and self-host. If you run a modified version as a network service, you must share your changes. (We chose AGPL so the project stays open and improvements flow back to the community.)\n\n---\n\n<div align=\"center\">\n\n**Built for the indie web. Keep your documents current — without the lawyer's retainer.**\n\n⭐ Star the repo · 🔎 [Scan your policy free](https://clausekeeper.app/scan) · 🐳 [Self-host it](docs/SELF_HOSTING.md)\n\n</div>\n",
  "bytes": 5903,
  "sha": "fbfc030e79d33f778c38ccbfb567dfa01b0e86934a5dfca40234fc2e340241b7",
  "repo_slug": "mityda/clausekeeper",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_mityda_clausekeeper_8cdc2e82/readme"
}