Citation checker for court filings
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.
read 5 paragraphs, 3 distinct authorities
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
supra names a case with no earlier full citation
paragraph 4: Palsgraf, supra, at 99
result: 1 impossible, 1 unresolved
network requests; the build refuses a page that could make one
self-contained file; save it and it works offline forever
authorities checked free, with no feature held back
once, for filings of any size; no subscription
The report
Findings are graded: a defect the brief proves against itself is not the same as a citation that needs a human eye.
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.
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
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.
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.
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
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.
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
A tool sold on trustworthiness cannot hide findings from the people evaluating it.
Licence
Why offline is the point
Every other tool that does this asks you to upload the brief.
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
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.
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.
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.
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.
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.
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.
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.
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.