Skip to main content

CiteVahti — citation-integrity and provenance for research synthesis: a blinded human->AI->adjudication dual-rating workflow with decision-gated, undoable Zotero write-back (single-user, local-first; searches PubMed, OpenAlex, Semantic Scholar, Crossref).

Project description

CiteVahti

Does the cited paper actually support the claim? Check every citation in your manuscript — before a reviewer does.

CiteVahti walks you through your manuscript one claim at a time. You decide whether each cited source really backs the sentence; an optional AI gives a blinded second opinion (you rate first, it can never overrule you); and every decision is saved as a timestamped, tamper-evident record on your own computer.

The CiteVahti review panel — your manuscript on the left, the evidence-and-decision card on the right.

Free while in beta. CiteVahti is local-first: your manuscript stays on your device unless you choose to turn on an external AI model. No account. Nothing uploaded.

Who it's for

Researchers, clinicians, and students who write papers and want to be sure every citation holds up — without learning new software or touching a command line. If you can open a file on your computer, you can use CiteVahti.

What it does for you

  • Catches citations that don't support the sentence they're attached to — the kind a reviewer or editor will flag.
  • Keeps you in charge. You make every call; the AI is only ever a second opinion, shown after you've decided.
  • Leaves a clean paper trail — a timestamped record of what you checked and concluded, ready for a supervisor, co-author, journal, or registry.
  • Builds a reusable evidence map so you don't re-do the same checks next project.
  • Stays private by default — everything lives in a folder on your Mac or PC.

Get started in 2 minutes — no terminal, ever

On a Mac, use the desktop app. It's a normal app: download it, open it, review.

  1. Download citevahti-<version>-macos-arm64.app.zip from the latest release.
  2. Unzip it and drag CiteVahti.app into your Applications folder, then open it like any other app. (It's signed and notarized — it opens with no security warnings.)
  3. Choose a folder to keep your reviews in when it asks.
  4. Drag your manuscript (.docx or .md) onto the window. The panel walks you through the rest, one step at a time — there's nothing to memorise.

Want an AI assistant to help pre-screen citations? Whenever you're ready, click the CiteVahti menu-bar icon → Start Agent Server. CiteVahti first explains exactly what an assistant can and cannot do — and either way, you rate every claim yourself and make every final call.

Or: use it inside Claude Desktop

If you already work in Claude, install CiteVahti as a one-click extension and drive the review by chatting. (This is also the path on Windows and Linux, where the desktop app isn't available yet.)

  1. Download the extension for your computer from the latest release:
    • macOS (Apple Silicon) — citevahti-<version>-macos-arm64.mcpb (signed + notarized)
    • Windowscitevahti-<version>-windows-x64.mcpb
    • Linuxcitevahti-<version>-linux-x64.mcpb
  2. Double-click the downloaded file to add it to Claude Desktop.
  3. Choose a folder for your reviews when asked.
  4. Tell your assistant: "Check the claims in my manuscript using CiteVahti."

First time on macOS you may see a one-time security prompt — the extension is a zip, which macOS can't pre-stamp even though the app inside is signed and notarized. If it appears: right-click the file → Open, or go to System Settings → Privacy & Security → "Open Anyway". After that it installs and runs normally.

Updating — your review data is never touched; only the program is replaced
  • Desktop app: quit CiteVahti.app, download the newest citevahti-<version>-macos-arm64.app.zip from the latest release, and replace the old CiteVahti.app in Applications with it. Your reviews live in the project folder you chose, not inside the app, so nothing is lost.
  • Claude Desktop extension: remove the existing CiteVahti extension, fully quit and reopen Claude Desktop, then add the newest .mcpb from the latest release. Ask your assistant to run the status tool to confirm the running version. (macOS Intel: install via pip install "citevahti[mcp]", or run the Apple-Silicon .mcpb under Rosetta.)
  • pip: pip install --no-cache-dir --upgrade "citevahti[mcp]", then pip show citevahti to confirm the version.
For developers & technical readers — pip, CLI, architecture, security

Everything below assumes a terminal; none of it is needed to use the app.

Try it on synthetic data (nothing of yours touched — builds an invented ledger and opens the panel showing every claim state):

pip install "citevahti[mcp]"
citevahti demo

Run the review panel from the terminal:

pip install "citevahti[mcp]"
citevahti run

CiteVahti opens the review panel on your machine at 127.0.0.1 and tells you the one next thing to do.

Run the desktop app from source (the same supervised shell as the packaged .app):

pip install "citevahti[app]"
citevahti-app

What the app actually runs: CiteVahti.app is a thin shell supervising two local processes — the review panel engine (for you) and an optional MCP agent server (for a chat client; it can suggest and stage, but it can never rate for you, see your rating first, or make the final call). Both bind only to 127.0.0.1, write rotating logs (menu-bar icon → Open Logs Folder), exit on their own if the app dies, and shut down cleanly when you quit. The agent server is off until you enable it and can be stopped anytime from the menu bar.

Deeper reading:

How it works

CiteVahti always tells you the one next thing to do — there's no command to remember and nothing to set up.

A "what's next" banner above the manuscript names the next action and takes you to it.

You start by adding your manuscript — choose a Word or Markdown file, drag it onto the window, or paste the text. Nothing is uploaded.

Start your review: choose a file, or paste the text instead.

Then you work through each claim on a simple card that walks a visible Rate → Reveal → Decide → Write path, so you always know where you are:

  1. Rate — you judge whether the cited paper supports the claim.
  2. Revealnow the optional AI second opinion appears (never before).
  3. Decide — accept, caution, review, or reject. The decision is yours.
  4. Write — optionally update your manuscript or Zotero, always after a preview.

The review card showing the Rate → Reveal → Decide → Write steps.

A record you can hand to anyone

Every decision is saved to a timestamped, tamper-evident review record — a plain-language log of what you reviewed and in what order. Export it as a Word document, a print-ready report, or a review-packet .zip (which even includes an auto-filled methods paragraph with your review's real numbers) for a methods section, a co-author, a supervisor, or a journal.

The Output section: export your review record as a .zip, Word, PDF, or Markdown.

Build an evidence map you can reuse

Stop losing evidence work after each project. Most citation checks vanish after one manuscript or one deadline. Every claim you assess in CiteVahti is saved to your own private evidence map, so next time you work on the same topic you don't start from zero — pull back earlier judgments, see what you already checked, and spot where the literature is thin, contradictory, or overclaimed.

It stays on your machine. Sharing into the wider, de-identified community evidence map is a separate, opt-in step, and you preview the exact payload before anything is sent — never your manuscript, search history, patient data, registry data, or private project identifiers.

How your data is handled →

The AI is a second opinion — never the judge

You always rate first. CiteVahti can then show a second rating from an AI, and compare the two — but the AI value stays hidden until your rating is in, and the final decision is always yours. There's no hidden AI subscription: pick the mode you want, or leave AI off entirely.

AI second opinion settings: Off, local AI, or your own API key.

You can get the second opinion from:

  • your MCP assistant (e.g. Claude Desktop),
  • a local model on your own computer (free, fully private — see below), or
  • your own OpenAI/Anthropic-compatible API key.
Run the AI on your own machine (free, nothing leaves your device)
  1. Install Ollama (macOS: brew install ollama).
  2. Pull a model — qwen2.5 is recommended for claim checking:
    ollama pull qwen2.5
    
    (Pick a smaller tag if your machine is tight on memory, e.g. ollama pull qwen2.5:3b.)
  3. In the panel, open Settings → AI second opinion → Local AI. CiteVahti detects the installed model and pins its exact version so the rating stays auditable.

To update later, re-pull the same name (ollama pull qwen2.5).

Your privacy

CiteVahti is local-first.

  • Your manuscript, ratings, and review record stay in a folder on your computer.
  • The panel runs only on your own machine (loopback, 127.0.0.1).
  • AI is optional and blinded; local and bring-your-own-key modes are supported.
  • Changes to Zotero or your manuscript always require a preview and your confirmation, and can be undone.
  • No telemetry. The only outbound calls are the literature services you choose to search (PubMed, OpenAlex, Semantic Scholar, Crossref), your Zotero if you connect it, and — only when you ask — a single check to PyPI for a newer version (no data about you is sent, and nothing is installed automatically).

What CiteVahti writes

CiteVahti never silently changes Zotero or your manuscript. Every write follows the same gate:

Preview → Confirm → Audit → Undo available

What it does and does not check

CiteVahti checks citation support, not the truth of the underlying claims. It tests whether the cited paper backs the sentence — it does not certify that every claim in the manuscript was entered, and it is not a clinical or scientific oracle. Blinding is enforced by the workflow (the AI value is withheld until you rate) and recorded in the review record with timestamps, so the order is auditable, not assumed.

Responsibility & disclosure

CiteVahti is a local-first citation-support audit tool for manuscript claims — it helps authors test whether the cited evidence supports each claim before submission.

Using CiteVahti does not certify scientific truth, manuscript quality, publication suitability, or the absence of citation problems. It provides structured decision support and an audit trail; final responsibility remains with the human author, reviewer, editor, or institution. CiteVahti is developed by the author — any publication, review, teaching, or evaluation that uses it should disclose the tool use and the developer relationship where relevant. Ready-to-adapt disclosure text and the full statement are in docs/DISCLOSURE.md.

Learn more

Technical documentation (architecture, CLI, safety invariants, SBOM) lives under the "For developers" toggle above and in docs/.

Feedback & support

CiteVahti is a free beta and your feedback shapes it.

New here? Open the app and drag a manuscript in — or follow the Quickstart step by step.

Companion: FullVahti

FullVahti is a sibling Zotero plugin that finds free, legal open-access PDFs for your references and writes CiteVahti's verified results back as tags — so the citation check and the full text live in one place. See the FullVahti README to install (a two-click Zotero plugin, no terminal).

License

Apache License 2.0 — see LICENSE and NOTICE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

citevahti-0.45.0.tar.gz (440.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

citevahti-0.45.0-py3-none-any.whl (482.4 kB view details)

Uploaded Python 3

File details

Details for the file citevahti-0.45.0.tar.gz.

File metadata

  • Download URL: citevahti-0.45.0.tar.gz
  • Upload date:
  • Size: 440.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for citevahti-0.45.0.tar.gz
Algorithm Hash digest
SHA256 62ab41565dc512c3956a547f6d74ad74b10d9f6a7e1a1f6f6cabc1e51e7030a8
MD5 ab4d1c1383867603d4cfaf287d95e80d
BLAKE2b-256 5ceebfaac676b6a962f59acff6b377681b45fe3d098a32152ab64500e93eedc3

See more details on using hashes here.

Provenance

The following attestation bundles were made for citevahti-0.45.0.tar.gz:

Publisher: publish-pypi.yml on heidihelena/citevahti

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file citevahti-0.45.0-py3-none-any.whl.

File metadata

  • Download URL: citevahti-0.45.0-py3-none-any.whl
  • Upload date:
  • Size: 482.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for citevahti-0.45.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3e0fac4ec595898495edf2a192f4ccbe826757368ea1d19c9f2493ef0fd70653
MD5 4ff1792868ee011290a8ce2785655adf
BLAKE2b-256 08fc9cc18efa12b5cd4060c4f0a16504d4d92fb869d48911bd653c99f5364118

See more details on using hashes here.

Provenance

The following attestation bundles were made for citevahti-0.45.0-py3-none-any.whl:

Publisher: publish-pypi.yml on heidihelena/citevahti

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page