docketrouter
DocumentationBrowse
Operating it · Word

The Word add-in

A task pane inside Word that reads the open document and checks every case citation in it for existence: the same check /check runs in a browser, against the same library, with the same words. Free, no account, no key, and nothing is stored.

It is not on AppSource yet, so you install it by sideloading the manifest. That takes about a minute and is the same file on all three platforms.

What it does, and what it does not

  • Reads the document body as text (the manifest asks for ReadDocument and nothing else, so the add-in never writes to your document) and POSTs it to POST /api/public/brief-check.
  • Reports each citation as found or unverified. Never “nonexistent”, never “fabricated”: absence from a library is not proof a citation was invented, and the pane says so in those words.
  • Links every found citation to its source on CourtListener, and links nothing for an unverified one.
  • Names the stores that actually answered that run, so you can tell a weak “unverified” from a strong one.
  • Sets statutes and regulations aside rather than checking them as cases, and says which ones it set aside.
  • Does not tell you whether a decision supports the sentence you cited it for. That is a different question, answered by the citation support check.
Nothing is stored

The document’s text is read in the task pane, sent once, scanned for citations and discarded in that request. The route stores nothing: it answers with "stored": false and the code behind it has no write path. The file itself never leaves Word: only the text does, and only when you press Check this document.

Limits, stated

Up to 50 distinct case citations a run and at most 50,000 characters of text; a longer document is cut at a line or word boundary and the pane tells you how many characters were left out. Anything past the citation cap is reported as not scanned, never silently dropped. The endpoint is rate-limited per IP address like every other free tool here.

Install it

One file, three platforms. The manifest lives at https://docketrouter.ai/word-addin/manifest.xml. download it and keep it somewhere you will not delete, because sideloading points Word at the file rather than copying it.

Word on Windows: a trusted shared folder

  1. Put the manifest in a folder you will share

    For example C:\OfficeAddins. Right-click it → Properties → Sharing → Share… and share it with yourself; note the resulting network path, e.g. \\YOURPC\OfficeAddins.

  2. Trust that folder in Word

    File → Options → Trust Center → Trust Center Settings… → Trusted Add-in Catalogs. Paste the network path into Catalog Url, press Add catalog, tick Show in Menu, and OK.

  3. Restart Word and insert it

    Insert → My Add-ins → Shared Folder. “DocketRouter brief check” is there; choose it.

Word on Mac: the wef folder

Copy the manifest into Word’s sideload folder, creating it if it does not exist, then restart Word.

Terminal
mkdir -p ~/Library/Containers/com.microsoft.Word/Data/Documents/wef
curl -L -o ~/Library/Containers/com.microsoft.Word/Data/Documents/wef/docketrouter-brief-check.xml \
  https://docketrouter.ai/word-addin/manifest.xml

Quit Word completely and reopen it. The add-in appears under Insert → My Add-ins (look in the Developer or My Add-ins list), and its button lands on the Home tab.

Word on the web: Upload My Add-in

  1. Open the add-ins dialog

    In a document on word.cloud.microsoft or office.com: Home → Add-ins (or Insert → Add-ins) → More Add-ins.

  2. Upload the manifest

    Choose Upload My Add-in at the top right of the dialog, pick the downloaded docketrouter-brief-check.xml, and press Upload.

  3. Use it

    The Check citations button appears on the Home tab. A sideloaded add-in on the web lasts for that session; upload it again next time, or wait for the AppSource listing below.

If Word refuses the manifest

Every URL in the manifest is https://docketrouter.ai/…, so the machine running Word must be able to reach that host; a corporate proxy that blocks it will show an empty pane. Office also requires its own office.js from appsforoffice.microsoft.com. That CDN is the one external script the task pane loads, and a network that blocks it will leave the pane saying it cannot find Word.

Using it

  1. Open the pane

    Home tab → Check citations.

  2. Press Check this document

    The pane reads the body text and runs the check. A long document is trimmed to 50,000 characters and the pane says how much was left out.

  3. Read worst first

    Rows are ordered flagged, then unverified, then found, the same order /check uses, so the thing that could cost you a sanction is at the top.

VerdictWhat it means
foundThe citation exists in a library we hold. The case name is shown when the citation graph knows it, with a link to the decision on CourtListener.
found, flaggedIt exists, and a later opinion in our treatment table said it overruled this one. Read the later case before relying on it.
unverifiedNo library we hold has it. That is not proof it is fabricated, but a filing should not rest on a citation no library can find. Check the reporter and page, then the court’s own records.

No flag is not a clean bill: the treatment table is partial, and the pane says that too.

Not on AppSource, and why

This add-in is sideload-only today. A Microsoft AppSource listing requires a Microsoft Partner Center account (a paid, verified publisher identity) and a submission that Microsoft validates before it is listed. That is a founder decision about an account and a spend, not an engineering task, so it is recorded as switch 10 in docs/LAUNCH-CHECKLIST.md and is not claimed anywhere on this site until it is real.

Until then, the manifest is the product: it is a published artifact at a stable URL, it installs on all three Word platforms, and it does not expire.

What this is made of

FileWhat it is
public/word-addin/manifest.xmlThe Office Add-in manifest: a TaskPaneApp for host Document, version 1.0.0.0, ReadDocument permission, and a Home-tab ribbon button that opens the pane. Its Id is a fixed GUID that must never change.
public/word-addin/taskpane.htmlThe pane itself: one static page, styles inline, colours copied from the site’s own tokens. It works at 320px because that is how wide a task pane is.
public/word-addin/taskpane.jsThe logic, ported line for line from src/app/check/check-adapter.ts so the add-in and the web page can never say two different things about the same citation.
POST /api/public/brief-checkThe existing public endpoint. No new backend was built for this: the add-in is a second front end on the route /check already uses. The pane is served from this same origin, so the request is same-origin and no CORS rule is involved.
next.config.tsOne carve-out: this site sends X-Frame-Options: DENY on every path, and Word on the web loads a task pane in an iframe, so /word-addin/* instead sends frame-ancestors naming the Microsoft 365 hosts. Nothing else on the site became framable.

Something here wrong or missing? Mail hello@docketrouter.ai with the request_id and we will fix the docs or the API, whichever is broken.