Guide

Check a filing, read the report, keep a copy.

Everything the checker does, in the order you meet it. The checker is one page; this guide is the long form of what it already says.

What it checks

citefold reads a filing and reports what the filing says about itself. It finds every citation, ties every short form (Id., supra, a bare case name) back to the full citation it shortens, and grades what it finds.

Two kinds of finding come back, because they are not equally actionable:

  • 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. The check runs on pinpoints in full citations, short forms, supra, and Id. alike, and a pinpoint into a parallel reporter is checked against that reporter's own first page. A citation can also contradict its reporter: 1050 F.3d 1 names a volume the third series never reached, and 123 F.3d 456 (1975) a year eighteen years before it began. The checker carries the span of each federal, California, and regional West series, sourced, judges a year with a year of slack on either side because a series switches mid-year, and stays silent on any reporter it does not know. Inside a series it carries the decision years of every volume the Caselaw Access Project has digitized, read from the volume's own cases, so United States v. Morrison, 429 U.S. 598 (2000) is impossible too: volume 429 holds decisions from 1975 to 1977, and Morrison is in volume 529. Past the project's digitization the newest federal volumes come from CourtListener's volume listings, with a span that survives the wrong dates such listings carry. A volume's span is widened by its neighbors and the same year of slack, and a volume neither source lists is not judged; the state official reporters the checker knows (New York, Maryland, Georgia, Massachusetts, Pennsylvania, and others) carry their digitized volumes the same way. The impossible pinpoint, explained, is the long form of the pinpoint check.
  • Unresolved. A citation that could not be tied to an authority: an Id. with nothing before it, following a citation that itself failed to resolve, or following a source the checker could not read as a citation and quotes back (AAMC cmt. at 2, a House report cited by page), a short form or supra naming a case never cited in full, a short form whose volume or reporter matches no full citation of that name, a supra that two cited cases could equally claim. Each is reported with its text so a person can look.
  1. A citation in the briefa full citation, a short form, supra, or Id.
  2. Can it be tied to an authority the brief cited in full?
  3. unresolvedNo: reported for a person to look atan Id. with nothing before it, a short form naming a case never cited in full, a supra two cases could claim
    Yes: resolved to its authoritythe paragraph joins that authority's entry in the table
  4. Does its pinpoint fall before the page the opinion begins on?
  5. impossibleYes: the brief contradicts itselfprovable from the brief alone; no outside source needed
    No: the citation standsexistence against an external source is not checked here, and the report says so
How a citation is graded. The two questions are the whole method; everything the report says follows from one of them.

What it does not check, stated plainly: whether a cited case exists in an external database (the report says so every time; the page never asks one, and the command line asks only when told to, see below), whether a citation is good law, and whether it supports the proposition it is cited for. Good law and support cannot be checked by this method, and the checker never implies otherwise.

Check a filing

  1. Open the checker, on this site or from a copy you saved. It needs no account and no network; disconnect and it still works.
  2. Drop a Word document (.docx), a PDF (.pdf), a text file (.txt or .md), or a paginated .json on the panel, or click the panel to choose one; or open Or paste a passage under the panel, paste, and press Check the pasted text. The document is read in your browser's memory and never sent anywhere.
  3. Read the report that appears under the panel: the verdict line, the findings, and the table of authorities.

No document at hand? Try the worked example, the button under the panel, runs a five-paragraph passage with one defect of each kind through the same report, so you can see what each finding looks like before you commit a filing of your own.

Fix something in Word and drop the file again: the checker re-reads it every time, even when the name is the same.

Pasted text and text files are read by paragraph: paragraphs separated by a blank line, or one per line when the text has no blank line at all, which is how a brief pasted from Word arrives. The findings then say which paragraph.

Why run the check on your own machine at all, and the habit in one page: cite-check a brief without uploading it.

Read the report

The report opens with the document's name and a line in the machine's voice: how many paragraphs (pages, for a PDF) were read and how many distinct authorities were found. Then:

  • The verdict. Either No citation defects across N authorities or a count: 1 impossible, 1 unresolved, across 3 authorities. Every verdict ends with the same sentence: existence against an external source is not checked.
  • The findings. One card each, tagged impossible or unresolved, with the reason in plain words and the cited text with its paragraph number. Show it in the brief opens the paragraph with the cite marked in place, so you read the sentence the finding is about, not only the citation string.
  • The table of authorities, described in the next section.
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
An impossible pinpoint. The brief cites Brown v. Board of Educ., 347 U.S. 483 and later Brown, 347 U.S. at 12; page 12 of the volume lies before the page where Brown begins, so it cannot be in Brown. The brief contradicts itself, and no outside source is needed to see it.

What to do with each kind: an impossible finding is a defect in the brief; fix the citation. An unresolved finding needs an eye: either the brief cites something it never cited in full, or the citation is written in a shape the checker does not read (see when something is refused); in both cases a person decides.

The table of authorities

Under the findings, every authority the filing cites, grouped as cases, constitutional provisions, statutes, rules, and regulations, with the places it appears. State statutes (Cal. Lab. Code § 925, N.Y. Bus. Corp. Law § 630) list under statutes after the federal ones, and a state administrative code under regulations. A case cited bare, its name in the sentence before (In Doe v. Google the court so held. 148 F.4th 153, 160 (9th Cir. 2025).), is listed under that name; a bare citation with no case name near it is listed by its citation alone, at the end of the cases. An authority cited on five or more paragraphs is listed as passim, following the Bluebook rule, rather than by enumeration. Copy table, beside the table's heading, copies it as a table Word pastes into a brief's front matter, with tab-separated text for editors that take only text.

For a Word document the numbers are paragraphs, not pages. A .docx carries no page numbers: Word assigns them when it lays the document out. The report and the table therefore point at paragraphs, and the command line accepts a paginated .json (an object with a pages array of strings) when you have real pages. For a PDF the numbers are pages, counted from the first page of the file.

The table has its own page, with how to copy it out and run it from a script: a table of authorities from the brief itself.

The free tier and the licence

Free for filings citing up to 15 authorities, with no feature held back: every check runs and every finding shows. $79, paid once, for filings of any size.

Past 15 authorities the report shows the count and a way to buy; every check still runs the moment a key is in place. A licence key is a signed string. Paste it into the Licence key field under the panel (the field is there in the free tier too); the key is verified offline against a public key compiled into the page, so entitlement never requires a network call. The field keeps the key in your browser's local storage, on your machine, so you paste it once.

After buying, the key is issued against the order and sent to the order's email address. Newer builds of the checker keep the same public key, so a licence bought once verifies in every later version.

  1. Lemon SqueezyCheckout$79 once; the receipt and tax invoice come from the merchant of record
  2. The orderA key, issued against itsent to the order's email address, a signed string
  3. The checkerPaste it onceinto the licence field, or pass it to the command line; kept in your browser's local storage, on your machine
  4. Your machineVerified offlineagainst the public key compiled into the page; no activation server exists
The path to a key. Nothing after the checkout touches the network.

If the field says the key was not accepted, the reason is printed beside it: not a citefold key (the pasted text is something else), key is damaged (a piece is missing; paste the whole line from the email, line breaks and invisible characters are tolerated), or signature does not match (the key was not issued for this product).

Copy, print, keep a copy

Copy report puts the report on the clipboard as text, in the shape the command line prints: the document, the findings, the result line, the table. Copy as JSON puts the same object the command line prints under --json there instead, for a script or a firm's own pipeline. When a browser will not grant the clipboard, the same text opens in a box to select and copy. Print prints the report alone, without the instrument around it.

The checker is one self-contained HTML file. Save it (the Download button on the front page) and it works offline forever. To verify a copy, compare its SHA-256 checksum with the one printed on the front page beside the download:

Windowscertutil -hashfile citefold.html SHA256
macOSshasum -a 256 citefold.html
Linuxsha256sum citefold.html

The front page also prints the current build's version; the checker prints its own in its footer. A newer build replaces the file and keeps your key.

The command line

The same engine runs as a command line, for anyone who wants it in a script. It ships with the source repository:

node bin/citefold.mjs check <document>    report citation defects
node bin/citefold.mjs table <document>    print the table of authorities

Both accept .docx, .pdf, .txt, .md, and a .json file carrying a pages array, the same five the page takes. The licence comes from --licence <key>, the CITEFOLD_LICENCE environment variable, or ~/.citefold-licence, in that order. --json prints the result as one JSON object (the document, the findings, every authority with its existence state, the table, the entitlement, the version) instead of the report, with the same exit code, for a script or a firm's own pipeline.

--verify courtlistener is the one thing that leaves the machine, and only when you ask: the brief's reported case citations (347 U.S. 483; never the brief's text, never a statute or an unreported decision) go to CourtListener's citation-lookup API with your own token, read from CITEFOLD_COURTLISTENER_TOKEN, and each case comes back found, not found, or not checked with the reason (a reporter CourtListener does not know, a throttled request, a refused token). CourtListener admits 60 valid citations a minute and 250 per request; what it could not look up is reported as not checked, never as found. A case not found exits with code 1, like a finding. Without the flag the command line makes no request of any kind, and the page never does.

0clean
1findings reported
2the document could not be read
3the filing exceeds the free tier and no licence was given

When something is refused

  • A PDF that opens only with a password, or a scanned one. The reader takes the text a PDF carries. A file whose owner set restrictions (no copying, no printing) opens without a password in any viewer and is read here the same way; a file that opens only with a password is refused with the reason: open it with the password in a PDF viewer, save an unprotected copy, and drop that. A scan has no text to take and is refused rather than reported clean; there is no OCR. When a page's text is set in a font without a Unicode map, the report says so and names the page, since a citation there may be missing.
  • A legacy .doc, or a password-protected .docx. Re-save it in Word as an unprotected .docx.
  • The document body contains no text. The file has no paragraphs to read; check that the brief was saved, not an empty template.
  • A citation the checker does not read. The grammar anchors on the shapes citations take: party names around v., procedural captions like In re, volume and page digits, a year in parentheses, U.S.C. and C.F.R. statutes, state statutes anchored on the state's abbreviation and the code word its compilation ends in (Cal. Lab. Code, Haw. Rev. Stat., 42 Pa. Cons. Stat., Del. Code Ann. tit. 8, Md. Code Ann., Crim. Law), the shapes with no section sign (775 ILCS 5/1-101, CPLR 3211), a federal statute under a popular name from a closed list (I.R.C., Bankruptcy Code, APA), federal rules from Fed. R. Civ. P. through Fed. R. Evid., and constitutional provisions written as Const. with an article or amendment. It carries no reporter whitelist, so an unfamiliar reporter still parses, but a citation written outside those shapes is neither counted nor checked, and a short form pointing at it comes back unresolved. The fixtures exercise federal and California citations.
  • Nothing happens on drop. The panel accepts one file at a time; click it to choose the file instead.
  • Copy report or Copy as JSON does nothing. The browser denied the clipboard; the report's text, or the object, opens in a box under the buttons to select and copy.

Privacy

Your document is read in your browser and sent nowhere: the build refuses a page that could make a network request, and the page carries a Content Security Policy under which the browser blocks every connection, on this site and in a saved copy alike. The command line makes no request either, unless you give it --verify courtlistener, and then it sends the case citations alone. The full statement is on the privacy page.

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.

Questions

Write to contact@beintex.co.uk.