Skip to content

mityda/ClauseKeeper

Repository files navigation

ClauseKeeper

ClauseKeeper

The open-source way to keep your website's legal documents current.

Privacy Policy · Terms of Service · Cookie Policy · AI-Disclosure — generated in minutes, and kept up to date as the law changes.

License: AGPL v3 Self-host Python 3.11 Tests

🔎 Try the free scanner · 🐳 Self-host in 2 minutes · 🤝 Contribute

If this saves you a lawyer's invoice, drop a star — it genuinely helps.


What is ClauseKeeper?

Every 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.

ClauseKeeper does two things:

  1. 🔎 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.
  2. 📄 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.

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.


🆚 Open-source alternative to expensive compliance suites

The 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).

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.

Self-host (free) Cloud (clausekeeper.app)
Free compliance scanner
Document generator
Hosted, versioned policy URLs ✅ (your server)
Always-current auto-updates when laws change ⚙️ you maintain the clause rules ✅ we maintain them for you
Billing / Stripe n/a
Maintenance you us

If 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.


🐳 Self-host in 2 minutes

git clone https://github.com/<your-org>/ClauseKeeper.git
cd ClauseKeeper
cp .env.example .env          # defaults work out of the box; no paid keys needed
docker compose up
# open http://localhost:8000

The scanner and generator work immediately — no Stripe, no API keys, nothing to sign up for. Full guide: docs/SELF_HOSTING.md.

Prefer running it without Docker? See the contributing guide for the uv / venv dev setup.


🛠 Tech stack

  • FastAPI + Uvicorn (Python 3.11)
  • SQLite for persistence (zero-config; swap-friendly)
  • Jinja2 templates, no JS framework — fast and simple
  • Rule-based clause engine (app/clause_rules.py) — no LLM dependency for the core product
  • Optional Stripe for the hosted billing tier

🤖 Use with AI agents

ClauseKeeper is agent-native — built to be worked on (and used) by AI coding agents.

Work on the repo with an agent:

  • GitHub Copilot: assign any open issue to the Copilot coding agent — it reads AGENTS.md and .github/copilot-instructions.md, makes the change, runs the tests, and opens a PR.
  • Cursor: open the repo in Cursor and point a Cloud Agent at an issue — the same AGENTS.md context applies.
  • Agent context, architecture, and exact build/test commands all live in AGENTS.md.

Use ClauseKeeper from an agent (MCP): We ship an MCP server 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.

// add to your MCP host config (e.g. Claude Desktop / Cursor)
{
  "mcpServers": {
    "clausekeeper": { "command": "clausekeeper-mcp" }
  }
}

Tools: scan_policy_text, scan_policy_url, list_clause_rules. See mcp/README.md.


🤝 Contributing

PRs welcome — this is a community project. Good first contributions:

  • Add / improve clause rules for a jurisdiction you know (app/clause_rules.py)
  • New document templates or template improvements (templates/)
  • Scanner heuristics — catch more stale/missing clauses
  • Translations of generated documents

See CONTRIBUTING.md and check the open issues for tasks tagged good first issue. Claim one by commenting and we'll assign it to you.


📜 License

AGPL-3.0 — 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.)


Built for the indie web. Keep your documents current — without the lawyer's retainer.

⭐ Star the repo · 🔎 Scan your policy free · 🐳 Self-host it

About

Open-source tool to scan & generate always-current website legal documents (privacy, terms, cookie, AI-disclosure). Self-hostable, no LLM, agent-native.

Topics

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages