Open source · MIT · Python 3.10+

Policy changes,
reviewed like code.

GovernDiff finds changes to duties, scope, deadlines, exceptions, and authority across PDF, DOCX, HTML, Markdown, and text—locally, deterministically, and with evidence a person can verify.

把政策文件当代码审查:不上传文档,不依赖大模型。

  • No document upload
  • No telemetry
  • No LLM required
Before

Incident notification

Vendors may report a security incident within 72 hours.

After

Incident notification

Vendors must report a security incident within 24 hours.

modality-strengthened deadline-shortened
CI gate blocked2 high-confidence findings
5input formats
15explicit checks
4report formats
0network calls in AI-off flow

See the result first

A line diff shows words.
GovernDiff shows what changed.

Every finding carries its source evidence, confidence reasons, severity, review state, and a stable fingerprint for CI and waivers.

01

Normative force

may became must. GovernDiff marks the obligation as strengthened instead of leaving the reviewer to infer it from colored text.

02

Deadline pressure

72 hours became 24 hours. The value pair and aligned source sentence remain attached to the finding.

03

Review continuity

A stable GVD-* fingerprint connects the CLI, pull-request gate, local Reviewer, exported decision log, and future waiver.

One evidence chain

Compare. Decide. Gate.

  1. 1

    Compare locally

    Parse digital PDF, DOCX, HTML, Markdown, or text. Align clauses through moves, splits, and merges.

  2. 2

    Review the evidence

    Confirm, reject, modify, or waive findings in the packaged loopback-only Reviewer.

  3. 3

    Protect the pull request

    Block configured changes while retaining complete JSON, Markdown, HTML, and CSV artifacts.

GovernDiff Reviewer showing a queue, side-by-side source evidence, findings, and review controls
The Reviewer keeps machine values, human decisions, source evidence, and portable review state together.

Built for review, not spectacle

Why not ordinary document diff?

CapabilityPlain diffGeneric LLMGovernDiff
Clause moves, splits, and mergesLine-levelPrompt-dependentDeterministic alignment
Before/after source evidenceText contextOften summarizedPage, paragraph, cell, or line
Stable finding identityGVD-* fingerprints
Reproducible AI-off outputRaw diff onlyNoYes
Policy text remains localUsuallyOften uploadedYes; no telemetry
Portable reviewer decisionsService-specificgoverndiff-review/1.1

Five-minute path

Compare two local policy files.

Install the published package from PyPI and generate a self-contained HTML report. Your policy text stays on the machine.

Read the full documentation →
terminal
$ python -m pip install governdiff

$ governdiff diff \
  old-policy.md \
  new-policy.md \
  --format html --output report.html

✓ 1 change · 2 findings · evidence retained

Deliberate boundaries

Evidence for a person—not a legal conclusion.

Policy CI, without the upload

Make the important change
impossible to miss.