# Rules for Fact Preservation in Humanizer Rewrites

> Discover Humanizer's fact preservation rules. Learn how Humanizer prevents invented details and ensures accuracy in rewrites by verifying claims and prompting for missing information.

- Repository: [Siqi Chen/humanizer](https://github.com/blader/humanizer)
- Tags: best-practices
- Published: 2026-09-05

---

**Humanizer enforces strict fact preservation by prohibiting invented details, verifying claims against source material, and prompting users for missing information rather than fabricating data.**

The `blader/humanizer` repository provides an open-source tool designed to remove AI-style phrasing from text while enforcing strict **fact preservation** in every rewrite. Unlike generic paraphrasing tools, Humanizer implements specific safeguards that prevent hallucination and ensure every output remains traceable to the original source material.

## Core Principles of Fact Preservation

Humanizer operates on four non-negotiable rules that govern every rewrite operation. These principles are documented in the project's [`README.md`](https://github.com/blader/humanizer/blob/main/README.md) and enforced through the 35 rewrite patterns defined in [`SKILL.md`](https://github.com/blader/humanizer/blob/main/SKILL.md).

### Never Invent Facts

Humanizer **will not add** any name, number, date, quote, citation, or other factual detail that is not already present in the source material. According to the documentation at line 13 of [`README.md`](https://github.com/blader/humanizer/blob/main/README.md), "It does **not make things up**. A name, number, date, quote, citation, or other factual detail **must come from the source or the writer**."

If a required fact is missing, Humanizer will **prompt for it** rather than fabricate it.

### Preserve Existing Facts

During the rewrite process, Humanizer employs a two-pass verification system. While the original structure is not treated as immutable, any factual claim that survives the first pass is **checked against the original source** before the second rewrite completes.

As documented at line 9 of [`README.md`](https://github.com/blader/humanizer/blob/main/README.md), the tool "makes a first pass … then it **checks the draft against those patterns and the original claims** before rewriting whatever still needs work." The fact is retained unchanged unless the source explicitly contradicts it.

### Ask When Uncertain

When a factual element cannot be verified from the provided source, Humanizer will **ask the user** for clarification instead of guessing. Line 19 of [`README.md`](https://github.com/blader/humanizer/blob/main/README.md) explicitly states that details such as "the month and neighborhood need to come from the writer. If they are missing, Humanizer should **ask** instead of making them up."

### Safeguard Against Invented Facts

The repository explicitly records a rule that **prevents invented facts**, reinforced through version updates. Line 165 of [`README.md`](https://github.com/blader/humanizer/blob/main/README.md) notes: "Added the **rule against invented facts** and updated every example to follow it (fixes #187)."

This safeguard ensures that the rewrite patterns in [`SKILL.md`](https://github.com/blader/humanizer/blob/main/SKILL.md) do not introduce hallucinated content during processing.

## Fact Preservation in Practice

The following examples demonstrate how Humanizer handles factual content during rewrites.

### Preserving Verified Facts

When specific numbers and dates appear in the source text, Humanizer maintains them exactly while removing AI-style phrasing.

```markdown
/humanizer

Original text:
> According to the 2022 report, the project saved **$1.2 M** in operating costs.

```

```markdown
Rewrite output:
> The 2022 report shows that the project saved **$1.2 M** in operating costs.

```

The monetary figure remains unchanged because it appears in the source.

### Handling Missing Information

When critical facts are absent, Humanizer refuses to guess and instead requests clarification.

```markdown
/humanizer

Original text:
> The new policy will be effective next quarter.

```

```text
Humanizer response:
I don't see a specific start date for "next quarter". Could you provide the exact month or date?

```

### Removing Unverified Claims

Humanizer strips assertions that cannot be traced to the provided source material.

```markdown
/humanizer

Original text:
> The algorithm achieved a 99.9 % accuracy, beating all competitors.

```

```markdown
Rewrite output:
> The algorithm performed well, but I need a source for the exact accuracy figure and comparison to competitors.

```

The unverified "99.9%" and "beating all competitors" are removed because they were not supplied in the original text.

## Key Implementation Files

The fact-preservation behavior is defined in two critical files within the `blader/humanizer` repository:

- **[`SKILL.md`](https://github.com/blader/humanizer/blob/main/SKILL.md)** – Contains the 35 rewrite patterns and the fact-preservation safeguards that govern the rewriting process.
- **[`README.md`](https://github.com/blader/humanizer/blob/main/README.md)** – Documents the specific rules against invented facts at lines 9, 13, 19, and 165, and tracks the evolution of these safeguards through issues like #187.

These files work together to ensure that Humanizer's output remains truthful, traceable, and trustworthy across all rewrite operations.

## Summary

- **Never invent facts**: Humanizer cannot add names, numbers, dates, or citations not present in the source.
- **Verify against source**: The two-pass system checks drafts against original claims before finalizing rewrites.
- **Prompt for missing data**: When facts are missing, Humanizer asks the user rather than fabricating information.
- **Explicit safeguards**: Rule violations are tracked and fixed, as seen in issue #187 and the corresponding updates to [`README.md`](https://github.com/blader/humanizer/blob/main/README.md).

## Frequently Asked Questions

### What happens if Humanizer encounters a missing date or number?

Humanizer will ask the user for the specific detail rather than inventing it. According to the documentation at line 19 of [`README.md`](https://github.com/blader/humanizer/blob/main/README.md), if details like "the month and neighborhood" are missing, the tool "should **ask** instead of making them up."

### How does Humanizer verify facts during the rewriting process?

Humanizer uses a two-pass verification system described at line 9 of [`README.md`](https://github.com/blader/humanizer/blob/main/README.md). After an initial draft, it "checks the draft against those patterns and the original claims" before completing the rewrite, ensuring factual elements remain intact unless explicitly contradicted by the source.

### Can Humanizer add citations or quotes that weren't in the original text?

No. Line 13 of [`README.md`](https://github.com/blader/humanizer/blob/main/README.md) explicitly prohibits this behavior, stating that the tool "does **not make things up**" and that citations and quotes "**must come from the source or the writer**." Adding new citations would violate the core principle of never inventing facts.

### Where are the fact preservation rules defined in the codebase?

The rules are primarily defined in [`SKILL.md`](https://github.com/blader/humanizer/blob/main/SKILL.md), which contains the 35 rewrite patterns and fact-preservation safeguards, and documented in [`README.md`](https://github.com/blader/humanizer/blob/main/README.md) at lines 9, 13, 19, and 165. The [`README.md`](https://github.com/blader/humanizer/blob/main/README.md) file specifically tracks the evolution of these safeguards, including the addition of the rule against invented facts in issue #187.