Citation checker for court filings

Check the citations in a filing before it goes to a court.

citefold reads a brief on your own machine and grades every citation defect it can prove from the document alone. The filing never leaves your computer.

Free for filings citing up to 15 authorities. No account, nothing to install, works offline.

citefold reportoffline

read 5 paragraphs, 3 distinct authorities

impossible

pinpoint page 12 precedes the first page of Brown v. Board of Educ., 347 U.S. 483 (1954), which begins at 483

paragraph 2: Brown, 347 U.S. at 12

unresolved

supra names a case with no earlier full citation

paragraph 4: Palsgraf, supra, at 99

result: 1 impossible, 1 unresolved

The checker's own worked example, reported exactly as the engine prints it. Flip to the brief to see both cites marked in place.
0

network requests; the build refuses a page that could make one

1

self-contained file; save it and it works offline forever

15

authorities checked free, with no feature held back

$79

once, for filings of any size; no subscription

The report

What it finds

Findings are graded: a defect the brief proves against itself is not the same as a citation that needs a human eye.

Impossible

A defect provable without looking the case up. A pinpoint cite points inside an opinion, so it can never precede the page the opinion begins on: a brief citing Brown v. Board of Educ., 347 U.S. 483 and then Brown, 347 U.S. at 12 contradicts itself. A volume a reporter series never reached, a year outside the series' span, or a year the volume itself could not hold (429 U.S. 598 (2000), when volume 429 holds decisions from 1975 to 1977) cannot exist either. These are the citation errors a language model produces most readily and a reader is least likely to notice.

Page 12 is not in a case that begins at page 483volume 347 U.S., by pageBrown v. Board of Educ. begins at 4831100200300400483600Brown, 347 U.S. at 12page 12 is not in the case
Unresolved

A citation that could not be tied to an authority: an Id. with nothing before it, a short form naming a case never cited in full, a supra that two cited cases could equally claim. Each is reported with its text so a person can look, rather than being dropped silently.

The page never asks an external case-law database whether a case exists, and the report says so; the command line can, when told to, with your own CourtListener token and the case citations alone. Whether a citation is good law, or supports its proposition, is not checked and cannot be by this method. The tool states what it did not do rather than implying more assurance than it has.

Sixty seconds, start to finding

How it works

  1. Open the page

    One HTML file, in any browser, on any machine. The checker walks through the worked example above before you commit a document of your own.

  2. Drop the filing on it

    Drag a .docx straight from Word, or the .pdf the other side served. The document is read in the browser's own memory and never leaves the machine.

  3. Read the graded findings

    Every provable defect and every citation it could not resolve, each quoted with its place in the brief, plus the table of authorities.

The guide walks through a report line by line: each kind of finding, the table, the licence, and what to do when a file is refused.

Yours to keep

Keep a copy

The checker is one self-contained HTML file. Save it locally and it works offline forever; the build refuses to emit a page that could make a network request.

Download citefold.html

Current build: 0.1.0

Verify the download against its SHA-256 checksum:

f0a8fbeb4f567001f1ee69c6368c867f785a7961f9296a211e568858c183dfbe

Prefer a terminal? The same engine runs as a command line: node bin/citefold.mjs check <document> reports defects, table prints the table of authorities. Both take .docx, .pdf, .txt, .md, and paginated .json; the page takes the same five, and a pasted passage. --json prints the result for a script, and --verify courtlistener asks CourtListener, with your own token, whether each cited case exists.

One price, paid once

Free to try on real filings. $79 for any size, forever.

Free

$0
  • Filings citing up to 15 authorities
  • Every check runs, every finding shows
  • No feature held back

A tool sold on trustworthiness cannot hide findings from the people evaluating it.

Open the checker

Licence

$79once
  • Filings of any size
  • No subscription: the product runs on your machine and costs nothing to keep running
  • The licence key is verified offline, like everything else

Buy a licence

Why offline is the point

Why it works this way

Every other tool that does this asks you to upload the brief.

Your machine
  1. 1The Word filethe brief, as Word saved it
  2. 2The browser tabcitefold.html reads it in memory
  3. 3The reportfindings and the table, on screen or printed
The networkno request leaves: the build refuses a page that could make one, and the browser's policy blocks any attempt
Where the document goes. Everything happens inside your machine; the only thing that ever crosses out is a link you click.

In February 2026 a federal court held that documents a defendant drafted with a consumer AI tool were neither privileged nor work product (United States v. Heppner, S.D.N.Y.). Protective orders have since confined parties to closed AI tools (Jeffries v. Harcros Chemicals, D. Kan.; Velez v. OnePlus Technology, S.D.N.Y.). The public database of AI hallucination decisions kept by Damien Charlotin passed 1,500 entries, and courts imposed $145,000 in sanctions in the first quarter of 2026 alone.

A .docx carries no page numbers; Word assigns them at layout. The table of authorities therefore lists positions by paragraph for a Word document and by page for a PDF, and a paginated .json supplies pages from a script. The citation grammar recognizes the shapes citations take rather than a fixed reporter list; the test fixtures exercise federal and California citations.

Questions a careful buyer asks

Straight answers

Is my brief uploaded anywhere?

No. The checker runs entirely in your browser and the build mechanically refuses to emit a page that could make a network request. Disconnect from the network before dropping the document; everything still works, which is the only proof of that claim worth anything.

Does it check whether the cited cases exist?

Not the page: it cannot make a request, and the report says so every time. The command line can, when you tell it to: --verify courtlistener sends the brief's case citations, and nothing else, to CourtListener under your own token and reports each case as found, not found, or not checked. What the checker proves on its own, it proves without looking the case up; what it cannot check, it names rather than implying assurance it lacks.

What does the free tier include?

Everything. On filings citing up to 15 authorities, every check runs and every finding shows. The licence removes the size cap and changes nothing else.

How does the licence work after I buy?

Your key is issued against the order and sent to the order's email address. Paste it into the checker's licence field or pass it to the command line; it verifies offline against a signed statement, so there is no activation server and nothing to phone home to.

Why does the report count paragraphs instead of pages?

For a Word document, because a .docx carries no page numbers; Word assigns them at layout time. The report and the table of authorities therefore point at paragraphs, and a paginated .json supplies real page numbers when you have one. A PDF is read by page, and its report counts pages.

Which citations does it recognize?

The grammar anchors on the shapes citations take: party names around v., procedural captions, volume and page digits, a year in parentheses. It deliberately carries no reporter whitelist, so an unfamiliar reporter still parses; the test fixtures exercise federal and California citations.

Will my key work with future versions?

Yes. The key is verified against a public key compiled into the product, and newer builds keep that key, so a licence bought once verifies in every later version. Download the newest build from this page whenever you like; the checksum printed here identifies it.

Can I check a PDF?

Yes. Drop it like a .docx; it is read in your browser by page, so the findings and the table carry page numbers. The reader takes the text the PDF carries: a file restricted with an owner password reads like any other, a file that opens only with a password is refused with the reason, and a scan has no text to take and is refused rather than reported clean. The page and the command line also take .txt, .md, and paginated .json, and the page takes a pasted passage.

Longer answers, in order of use, are in the guide.