Legal Brief Checker
Drop in a brief. Its case citations, statutes, rules and quotations are checked — and the document never leaves your computer.
Check a briefZero Witness runs on hardware we run ourselves — never a cloud we don't control — or, one tap away, entirely in your own browser when your device can handle it. Nothing is logged. Nothing stays with us.
Three ways to do legal work without putting it in somebody else’s cloud. Each one shows you what it does — pick one to open it.
What they check against: every court, code and rule set we hold, and those we don’t
Drop in a brief. Its case citations, statutes, rules and quotations are checked — and the document never leaves your computer.
Check a briefA workspace for one matter: documents and recordings indexed on your own machine, an AI that answers from them, and every case it cites checked and ranked for your court.
Open the workspaceSearch nine million court decisions, the US Code, the CFR and court rules, in the words you would use. Pick your court and each result says whether it binds you — and who has cited it since, in their own words.
Start researchingNone of them tells you a case is still good law. The checker says a case exists, which court decided it, and whether quoted words are the court’s. Whether a case supports what you wrote is a model’s judgement, offered in Matters only and shown with the passages it read. See every court and code they check against.
Not a program you install — an open-weight language model that loads into your browser and runs on your own graphics hardware, in the tab. The entire conversation happens there. Nothing is ever sent anywhere, and once it has loaded you can disconnect from the internet and keep talking.
If your device can't run a model, or you'd rather not wait for one to load, your message is encrypted before it leaves your browser and processed on our own hardware. Decrypted only in memory. Never written to disk.
When your conversation ends — the button, closing the tab, or navigating away — the model releases what it was holding as soon as the machine is idle: immediately if it already is, within about a minute if someone else's conversation is still running. There's no separate environment to mark for deletion or queue for cleanup. Releasing that memory is the whole of it.
You can see which of these is running at any moment, and switch between them yourself.
Most AI companies ask you to trust a privacy policy. We built Zero Witness so there's less to trust in the first place — your words either never leave your device, or they pass through hardware we own outright, not a cloud provider's servers.
That's a real trade-off, not a marketing line. It means we're smaller and slower than the AI companies with data centers. It means there's a hard limit on how many conversations can happen at once. We think that trade is worth it, and we'd rather tell you than hide it.
Both run an open-weight language model, and you choose which on the chat page. The difference is where that model runs — and every row below is written so a tick is the better answer, which means the comparison has to read honestly in both directions. It does: browser mode wins on privacy, ours wins on capability and reach.
On our hardware. Your message is encrypted in your browser before it's sent, and the reply is encrypted on the way back, so nothing on the network in between can read either one. We can: it's decrypted in memory on hardware we own outright, because answering it isn't possible otherwise. It's never written to disk, nothing is kept once the answer is finished, and the keys are made fresh for every message.
In your browser. The model itself runs inside the tab, on your own graphics hardware. It loads into your browser once and stays there — nothing is installed on your computer, and you can remove it whenever you like — but nothing you type is ever sent anywhere, and no second machine takes any part in answering you.
In browser mode, nothing. We send your browser the page and the model file, and after that it's out of the loop entirely — your messages are never transmitted anywhere.
Server mode exists because browser mode needs a reasonably modern device and a one-time model download of a few hundred megabytes. So a conversation starts on our hardware, browser mode is one tap away on a device that can run it, and we tell you clearly which one you're on.
Honestly: not in any normal sense, but we're not going to claim it's mathematically impossible. Your message is encrypted in your browser, decrypted only in memory to be answered, and never written to disk. When your conversation ends, the model releases what it was holding — immediately if the machine is idle, within about a minute if someone else's conversation is still running.
What we can't offer is cryptographic proof of that. Services that make a stronger claim use specialized server hardware that isolates memory even from the machine's operator. We don't use that hardware, because we run our own rather than renting from a cloud provider. If that guarantee matters more to you than anything else, use browser mode — there, the question doesn't arise at all.
For browser mode, you don't have to. Open your browser's network tab and watch: after the page loads, none of the requests it makes carries a word of your conversation. You'll see the model file load from our own server the first time, and page-view counts going there too — and nothing that contains what you typed. That's verifiable by you, right now, without trusting us.
For server mode, you're trusting how we've built and run our infrastructure. That's a real trust requirement and we'd rather say so than dress it up.
No conversation content, ever — not in either mode.
Like any website, ours sees basic technical information when you connect: an IP address, timestamps, and rough request sizes, used to keep the service running and stop abuse. That's kept briefly and then deleted. We count page views with Plausible, on every page here: no cookies, no profile, and nothing that follows you between sites. Its script is served from here and its events are relayed through us, so your browser never talks to theirs — though the visit, and the address it came from, do reach them. Three things are counted besides the page view itself: how long you were engaged with the page, how far down it you scrolled, and — every minute or so while you're actually using it, less often after the first few minutes — a signal that carries nothing except that somebody is still here. That last one exists because without it a visit that lasted an hour and a visit that bounced in three seconds look identical to us. What is never counted is anything about a conversation: not what you typed, not which model ran, not which mode you used, not whether you sent anything at all — nor which part of a page you were on or which feature you opened. And there's no account to attach any of it to.
We also keep a count, one line a day, of how often a conversation had to wait for our hardware and how long — no times, no addresses, nothing about who waited or what they asked — because it's the only way to know whether there is enough of it. We also count, one line a state a day, which states people press “Ask for this” on in our legal coverage list — a tally of taps, with no times, no addresses and nothing about who pressed it — because nothing else here records which page or feature you opened, so it’s the only way to know which state to read next.
No. We use existing open-weight models and don't train or fine-tune on anything you type. There's no dataset being built here — your conversation isn't retained long enough to be one.
In browser mode, speed depends on your device — your own hardware is doing the work.
In server mode, capacity is shared among everyone using it at that moment. That's the honest cost of running on hardware we own rather than renting cloud infrastructure. We'd rather be slower on our own hardware than faster on someone else's.
Open-weight models rather than proprietary ones from a major AI company. In your browser you choose from a library of them — published by Alibaba, Meta, Google, Microsoft and Hugging Face — sized from 198 MB to 2.58 GB, with each one's measured weakness written beside it. On our hardware it's Qwen3.8 27B, larger and more capable than any of them.
Either way, answers here won't match the frontier models on raw capability. You're trading some of that for privacy.
No. There's no sign-up, no email, and nothing to log into — which means there's no account record connecting you to anything you type.
Yes, from the browser you used. A copy of each conversation is kept there, on your device and nowhere else, and the Saved list on the chat page opens it again. Nothing is stored on our side, so there's nothing we could restore. Turn saving off on the chat page and the copy is deleted; export a file, or nominate a folder where your browser supports it, if you want a copy that outlives a browser clean-up.
Yes, if you choose to. It's off by default, and when it's off, what protects your saved conversations is your computer's own login and disk encryption. Turn it on in Settings on the chat page or in the legal workspace and everything already kept in this browser, and everything written afterwards, is encrypted under a passphrase you set, with a recovery key shown to you once.
The page then asks for the passphrase when you open it, locks when you close the tab, and can lock itself after a quiet spell. That protects what's stored from someone who has your computer, or a copy of its files, without the passphrase. It protects nothing while it's unlocked, it doesn't replace your disk encryption, and we can't promise your browser has thrown away copies it wrote before you turned it on. Lose both the passphrase and the recovery key and nobody can open it — us included.
No. The document is read in your browser tab and never uploaded. What travels is the citation itself — a volume, a reporter and a page like 570 U.S. 338, or a title and section like 29 U.S.C. § 623 — and the exact list is shown to you before anything is sent. The case names, your argument and the words around each citation stay where they are.
Each citation is checked against our own copies first, so most checks involve nobody else at all. A case outside what we hold is passed to CourtListener as the numbers alone. To check a quotation, the opinion is fetched to your browser and compared there, rather than your brief coming to us.
Case citations: whether the case exists, which court decided it, and whether that court binds or only persuades in the court you name. Quotations: whether the quoted words are in the opinion, word for word, and whether they come from a dissent or a concurrence rather than the majority. Statutes and regulations in the US Code, the Code of Federal Regulations and the Federal Register. The federal rules — civil, criminal, appellate, bankruptcy and evidence. And court rules, such as N.D. Ill. L.R. 56.1, when the citation names the court. And decisions cited by docket number and date, such as No. B347992 (Cal. Ct. App. June 29, 2026), in every court we hold — which is how a brief cites the many recent decisions no reporter has printed.
No AI is involved in any of it: either the case is at that citation or it isn't, and either the words are in the opinion or they aren't. A citation we can't find is reported as not found, never as invented — coverage of recent, unpublished and state trial decisions is thin everywhere, and a real case shouldn't be struck out of a brief on our say-so.
No, and it won't. There's no citator here — nothing like Shepard's or KeyCite — and we're not going to build a partial one, because a treatment signal that misses things is more dangerous than none: a case quietly overruled would read as clear. A match means the case exists and the words are the court's. It doesn't mean the case supports what you wrote, and it doesn't mean the case still stands.
A workspace for one matter. Its documents and recordings are read, transcribed and indexed on your own machine; a model answers questions from them; and every authority an answer cites is checked and ranked for your matter's court. Research searches our own copies of the case law, the US Code, the Code of Federal Regulations, the Federal Register, the federal rules and court rules, asking nobody. It's early and rough, and we'd rather say so.
Each matter records where its work may run. Set it to this device only and two things leave: a citation, as numbers, so it can be checked, and the words of a search you run, sealed, to our own copy of the law. Once anything from a matter has been to our hardware, the matter says so for good. Whether a case supports a sentence you wrote is a model's judgement, so it's offered only here and always shown with the passages it read. And there's no audit trail of your work, and one can't be added — so if you're under a records-retention duty, this is the wrong tool.
It can draft one with you, a section at a time, inside a matter. You set the outline, or ask for one and edit it. Each section is drafted from passages in the matter’s own documents and from opinions in our copy of the case law, searched for that section’s legal point, with the courts that bind yours searched first. The model points at a passage and the page writes the citation from our record of that case. It never types one itself, and one it types anyway is checked like any other.
A quotation that isn’t in the passage it cites, a pointer to nothing, or a citation that doesn’t check out stops the section from being accepted until you remove the sentence or keep it marked [CHECK], and the mark stays in every copy. You can also ask whether each case supports its sentence, which is a model’s judgement and is shown with the passage it read. Drafted in your browser, only search words and citation numbers leave, sealed, to our own copy of the law; drafted on our hardware, each section’s sources, the outline and your notes go there too, sealed, and aren’t written down.
None of this says the law is what the draft says it is. It’s a first draft for you to read line by line, and you can take it as text or a Word file. Open Legal Matters.
Yes, inside a matter. Add the transcript to the matter’s documents and it’s read with its page and line numbers. A digest then writes one line for each point the witness made, each with its cite, such as Lee Dep. 4:10–15, and you can read it in transcript order or grouped by topic.
Every line is checked against the transcript it was written from: the lines it cites must be ones the model was given, any quoted words must be on those lines, and every name, figure and date in it must appear on or beside them. A line that fails a check is marked [CHECK] in every copy.
What no check can tell is whether a summary is fair. A line can cite the right testimony and still overstate it, so read the summaries against the transcript before a cite goes in a brief.
In your browser, nothing leaves your computer. On our hardware, the transcript goes there sealed, a batch at a time, and isn’t written down. A digest written by the smaller model in your browser is less complete than one written on our hardware: expect more lines marked and more pages with no entry. The page shows both. You can copy it, or download it as a spreadsheet or a Word table.
Yes. In a matter, the Brief Checker asks whose brief it is, and the checks are the same either way: citations, statutes, rules, quotations and hidden text. What changes is what a finding means. A citation we can’t find in your own draft has to be dealt with before you file; the same finding in theirs is something to verify at the source and perhaps raise in reply, because our copy is a snapshot and a miss in it isn’t proof that a case was invented.
Their problems are kept apart from yours, marked as theirs, and never counted among the things you have to fix. From any case they cite for a proposition, you can search our copy of the case law for authority against it. How they format a citation is theirs to decide, so no format suggestions are shown for their brief. The brief is read in your browser, and only the citation numbers are sent.
Inside a matter, a page called Before filing lists everything still open, drawn from the checks already run there: citations that couldn’t be confirmed or that name a different case, quotations that differ from the opinion or come from a dissent, cases where no support was found for the sentence they’re cited for, and sections of a draft with an open issue or a sentence kept marked [CHECK]. Each item links to where it’s fixed, and nothing is sent to build the page.
It covers only what was checked in that matter. It can’t see a citation that was never checked, a standard stated wrongly in plain words, or a case since overruled. An empty list isn’t a finding that a brief is ready to file.
Yes, in Research, and you don’t need a matter for it. We search our own copy of the case law for the words of your question, read the opinions that match, and give a model only the passages closest to it. What comes back is that model’s reading of those passages, not a finding about the law: every sentence names the passage it came from, every passage is printed underneath, a sentence that names none is marked as unsupported, a passage from a dissent says so, and the passages’ years are shown, with a warning when the newest is more than ten years old. If the passages don’t answer your question, it says so.
The model can also suggest other searches for the same question, in the words courts use — you see them and can change them before anything is searched. And a case you find can show what later courts said about it, in their own words, which isn’t a statement of how they treated it. Running in your browser, your question stays in the tab and only the search words leave, to our own copy of the law; on our hardware, the question and the passages go there too, sealed. Pick a court and each result says whether it binds you, worked out in your browser. Open Research.
17.5 million case citations and 9.6 million decisions, covering the Supreme Court, all thirteen federal courts of appeals, every federal district court and all but one of the federal bankruptcy courts, the federal courts of special jurisdiction such as the Tax Court and the Board of Immigration Appeals, and the appellate courts of every state and the District of Columbia. Nearly all of them run to this year. Since 2020 most decisions have no reporter citation yet; they are held all the same, and cited by docket number and date. A few courts' source data ends earlier, among them several bankruptcy courts, and the coverage page lists the latest decision held for every court. The US Code (59,755 sections) and the Code of Federal Regulations (227,527 sections), the Federal Register from 2015 onward, and the national federal rules. And 44,680 court rules from 253 courts, read from each court's own website: the local rules of the federal courts of appeals, district courts and bankruptcy courts; in Illinois the Supreme Court's rules and those of the Appellate Court, Cook County and most other circuit courts; and the statewide court rules of many other states, among them California, Texas, Ohio, Virginia, Pennsylvania, Massachusetts and Connecticut.
A few courts aren't held and none are guessed at: the District of Nevada and the Southern District of California ask crawlers not to read their sites, and some courts publish their rules only as scanned images. Judges' standing orders and the other states' court rules aren't held yet. Everything is a snapshot of the published text, dated, and not a check on whether it has since changed. The full list, court by court, is on our legal coverage page.
Zero Witness is early, and small. It isn't backed by a large company, and it isn't funded by advertising or by selling data — and it won't be. If it grows, it grows by charging for the service itself, not by monetizing anything you type here.