cite.review · FAQ

Frequently Asked Questions

How cite.review works, why it exists, and why it's free. If your question isn't here, open an issue on GitHub.

Free · no paywall· Open source· No server-side key storage

Background

Why does cite.review need to exist?

In 2023, the lawyers in Mata v. Avianca were sanctioned after filing AI-generated citations to cases that did not exist. In April 2026, Sullivan & Cromwell also apologized to a federal bankruptcy court for AI-hallucinated citations.

The core problem is simple: when a tool is already known to invent legal citations, submitting output without verification is not just carelessness. It is taking a known risk with what you represent to a court.

This is also the argument in Hallucinated Authority: AI Citations as Reckless Misrepresentation, 115 Georgetown Law Journal (Online) (forthcoming 2026), by Kirin Chang (the person who built this site).

So cite.review is not only a theoretical position. It is a practical response: a free, open-source tool that makes citation verification easier in real legal workflows. Some similar products exist, but many are paid and closed-source. This project aims to keep the core protection accessible and auditable for everyone, especially users with fewer resources.

What is an "AI hallucination"?

An AI hallucination is when an AI model generates information that sounds plausible and is stated with apparent confidence, but is factually wrong or entirely invented.

In legal work, this shows up as:

  • Case names that look real but don't exist in any database
  • Real case names with wrong reporters, page numbers, courts, or dates
  • Real cases cited for propositions they don't actually stand for
  • Quotations from opinions that were never written

The last category — real cases misrepresented — is particularly dangerous, because the case exists and survives a basic search, but the substance attributed to it is wrong. cite.review's Step 2 is designed specifically to catch this.

Who built this, and why?

cite.review was built by Kirin Chang, a Research Fellow at the U.S.-Asia Law Institute at NYU School of Law and an Affiliate Research Fellow at Emory Law's AI & the Future of Work initiative, and a member of the New York and Texas Bars.

cite.review is part of the broader lawreview.tools ecosystem, which focuses on reducing friction in law review and legal-academic writing workflows. Some tools in that suite are also directly useful in practice settings. For example, docx-redline-name-cleaner is often practical for law firm redline cleanup. If any of that sounds useful, you are very welcome to explore the full toolkit.

The tool is open source so other researchers and practitioners can audit it, adapt it, and suggest improvements.

How it works

How does cite.review verify a citation?

cite.review runs each citation through Step 1: cross-referencing against three authoritative public databases:

  • CourtListener (Free Law Project) — federal and state case law. cite.review checks whether the case exists in their index, whether the case name matches, and whether the reporter, volume, and page are consistent.
  • Cornell LII — U.S. Code and federal regulations.
  • GovInfo — official U.S. government publications (Public Laws, Federal Register, CFR, etc.).

A citation is marked Verified when it is found and all key fields match. It is marked Warning when something is found but some fields don't match. It is marked Not Found when no matching record can be located.

Step 2 is optional: for verified cases, cite.review retrieves the actual opinion text and asks your chosen AI provider whether the case supports the proposition in your memo. This check runs from your browser directly to the AI company — cite.review is not in the middle.

What if a case isn't in CourtListener?

CourtListener's coverage is very broad — it indexes federal courts going back to the founding era, and most major state courts. However, there are gaps:

  • Very recent decisions (published within the past few days) may not yet be indexed
  • Some state trial court decisions are not in the database
  • Non-U.S. jurisdictions are not covered

If a case comes back Not Found, it does not necessarily mean the citation is fabricated — it may just mean it's outside CourtListener's coverage. You should independently verify those citations through Westlaw, Lexis, or the court's official website.

A Verified result means the citation appeared in the database with matching fields. It is a strong signal, but it does not substitute for independent professional judgment.

Does cite.review work with statutes and regulations, not just cases?

Yes — but with an important caveat. cite.review verifies that a cited provision exists (e.g., that 42 U.S.C. § 1983 is a real provision at that location), not that the statutory text actually says what you claim it says.

For statute and regulatory citations, cite.review uses Cornell LII for U.S. Code and Code of Federal Regulations citations, and GovInfo for Public Laws, the Federal Register, and other official government documents. The check confirms the referenced provision exists at the location the citation points to.

It does not read the statutory text or evaluate whether the provision supports the proposition in your document. For that, you still need to read the statute manually. cite.review catches fabricated citation strings — like citing a code section that does not exist — but it does not catch a real provision cited for something it does not actually say. That remains a human review step.

Does it work for non-U.S. jurisdictions?

Document parsing can still extract text from non-U.S. documents if the file is readable. But citation verification currently focuses on U.S. materials only.

Right now, cite.review verifies U.S. case law through CourtListener and U.S. statutes and federal materials through Cornell LII and GovInfo. It should not be treated as a general citation verifier for non-U.S. jurisdictions.

What about journal articles, Restatements, and Westlaw or Lexis citations?

cite.review recognizes these citation types and provides pre-filled search links so you can verify them manually with one click — no retyping required. It cannot automatically verify their content.

  • Law review and journal articles — cite.review parses the Bluebook reporter abbreviation and resolves it to the full journal name (e.g., 57 SUFFOLK U. L. REV. 345 → Suffolk University Law Review). Each citation links directly to a pre-filled Google Scholar query for the article so you can locate the source without typing.
  • Restatement citations — detected automatically (e.g., Restatement (Second) of Torts § 402A) and linked to a pre-filled Westlaw secondary-sources search. You follow the link and confirm the section number.
  • Westlaw or Lexis citations in your memo — cite.review tries to match these against CourtListener. If a match is found, it provides CourtListener, Westlaw, and Google Scholar links. If not, it still generates a pre-filled Westlaw and Google Scholar search link from the citation text so you can verify with one click.

For all of these, the verification is a quick manual step — click the link, confirm the source exists and says what you say it says. cite.review handles the search construction; the substantive review is yours.

What file formats are supported right now?

cite.review supports .docx and .pdf file uploads, plus .txt, .md (Markdown), and .html as text-first sources. You can also paste plain text directly.

DOCX usually gives the best results because the text structure is cleanest. PDF works well when it already contains selectable text. Scanned PDFs are slower and depend on OCR quality. TXT, Markdown, and HTML are processed locally with no OCR needed.

Can I upload multiple files at once?

Yes. The queue panel supports multiple files at once. Each file gets its own card with a per-file progress bar and Verify button. You can run files individually or click Run All Files to verify the whole queue in sequence.

When you are done, Export ZIP downloads a single archive containing an HTML and CSV report for each file plus a combined master summary.

My formatting looks wrong, or the document did not parse cleanly.

If you have both versions, upload the original DOCX rather than the PDF. DOCX generally preserves structure better and produces cleaner citation extraction.

Formatting issues usually come from PDFs, especially scanned PDFs, image-based exports, or documents flattened by e-filing systems. If the parse looks noisy, switch OCR mode for scanned PDFs or go back to the original word-processing file.

Security and privacy

Do you see my API keys?

No. When you enter an API key in cite.review, it is saved in your browser's localStorage — the same mechanism websites use to remember your preferences and settings. Your browser does not send this to cite.review's servers automatically.

When you run Step 2 (memo support check), your AI provider key is used by your browser to make a request directly to the AI company's API. cite.review's server is not involved in that call.

The only information that passes through cite.review's proxy server is the content of your CourtListener database queries — not your document text, not your AI keys.

You can verify this by reading the source code: github.com/kirinccchang/citereview.

Does my document get uploaded to a server?

Your document is processed entirely in your browser. When you upload a DOCX, PDF, TXT, Markdown, or HTML file, it is read by JavaScript running locally on your machine — no upload occurs.

The only data that leaves your browser are the individual citation strings sent to the legal databases for verification (CourtListener, Cornell LII, GovInfo). These are plain citation references — not your document's arguments, facts, or any privileged content.

If you use an AI provider for Step 2, the opinion text retrieved from CourtListener and the relevant excerpt from your memo are sent to your chosen AI provider according to that provider's privacy policy. cite.review does not receive or store this data.

Is it safe to use for confidential client documents?

Step 1 (database verification) does not transmit the contents of your document — only citation strings like "556 U.S. 662." This is unlikely to raise privilege concerns.

Step 2 (AI memo support check) does send the relevant excerpt from your memo — along with the opinion text — to your AI provider. Whether this is appropriate for confidential client work depends on your firm's policies and the privacy terms of the AI provider you choose. Review those before using Step 2 with client documents.

If you use a local AI model (Ollama / LM Studio), Step 2 never leaves your machine at all.

Attorney-Client Privilege, LLM APIs, and United States v. Heppner

United States v. Heppner is the SDNY case where the court rejected privilege/work-product protection for a defendant's Claude chats. The opinion focused on consumer-platform usage and confidentiality expectations under those terms.

cite.review's architecture is narrower: Step 1 sends citation lookups to legal databases, and Step 2 sends only citation-adjacent memo excerpts plus opinion text from your browser directly to your selected AI provider. cite.review's worker does not proxy your AI prompts or store your AI keys.

Our view is therefore structural, not categorical: this setup is easier to characterize as a controlled legal-tech workflow than public chatbot use, but privilege is still fact-specific and depends on provider terms, firm policy, and jurisdiction. For the most conservative path, use Step 1 only or a local model for Step 2.

How do I verify that the code does what you say it does?

The full source code is on GitHub: github.com/kirinccchang/citereview.

The frontend is a single HTML file — you can open it in your browser's DevTools and inspect every network request it makes. The backend worker code is in worker/index.js.

If you find something that doesn't match what's described here, please open an issue.

Cost

Does cite.review cost anything?

cite.review itself is currently free. There is no subscription, no trial period, and no current plan to charge users.

The legal databases cite.review uses — CourtListener, Cornell LII, and GovInfo — are all free public services. A CourtListener account is free to create and provides a generous API rate limit for normal legal work.

The only costs you might incur are:

  • Your AI provider's API fee, if you use Step 2. This is charged by the AI company, not by cite.review. A typical support-check analysis costs a fraction of a cent per citation.

If you use a local AI model, even that cost is zero.

Will it stay free?

Yes. cite.review has no business model and no plans to build one. It grew out of genuine frustration with a real problem in legal practice — not a product searching for a market.

The real cost is significant: development time, repeated model testing, AI token spend during iteration, and ongoing domain/infrastructure expenses. Kirin has absorbed all of that personally to keep the tool free and available.

If any law school library, court, firm, nonprofit, or other institution wants to sponsor this work or collaborate on the project, that support is very welcome.

The source code is licensed under AGPL-3.0, which requires any public network deployment of a modified version to also release that version as open source. This is an intentional choice to keep the tool in the commons and prevent a scenario where someone takes the code, adds a paywall, and competes with the free original.

Get involved

How can I report a bug or suggest a feature?

Open an issue on GitHub: github.com/kirinccchang/citereview/issues.

Useful things to include in a bug report: what citation you were verifying, what result you expected, and what result you got. If the issue is a citation that should have been verified but wasn't, include the full citation text.

Can I contribute code?

Yes. Pull requests are welcome. The codebase is a straightforward Alpine.js + vanilla HTML/CSS/JS project with a Cloudflare Worker backend — no build step required for the frontend.

Before opening a large PR, it's worth opening an issue first to discuss the approach, so effort isn't wasted on something that won't be merged for design or architectural reasons.

Can institutions sponsor or collaborate with cite.review?

Yes. Sponsorship and collaboration are welcome, including from law school libraries, courts, law firms, bar associations, and nonprofit organizations.

If you want to support maintenance, fund new features, or pilot an institutional workflow, please contact Kirin Chang. The goal is to keep core citation-risk protections public, auditable, and practically useful.

Is there a Chinese version?

The application itself is in English only. The README has a Traditional Chinese translation.

If there is sufficient interest in a localized UI, that can be considered. Feel free to open a feature request.

Still have a question?
Open an issue on GitHub — questions are welcome, not just bug reports.
Or contact Kirin directly via Contact Form or LinkedIn.