ἵστωρ Download

What is the most private way to chat with PDFs?

Most tools answer this by asking you to trust their servers. There is a better arrangement, and it has a short checklist.

Run the whole pipeline on your own machine: a locally served language model, local embeddings, local storage, and no telemetry. The moment a PDF is uploaded to any web service, privacy depends on that service's promises. The moment it stays on disk and the model comes to it, privacy depends only on your own hardware, which you can verify.

Why uploads are the weak point.

A web tool that chats with PDFs has to read them somewhere, and that somewhere is its server. Your contract with it is a privacy policy. Even an honest policy can be subject to legal process, a breach, or a change of terms, and after any of those the document is out. Once a confidential PDF has been uploaded, you cannot un-upload it.

The alternative inverts the arrangement. Instead of sending your document to the model, you run the model where the document already is. The PDF never moves.

The checklist.

Any tool claiming private PDF chat should clear every one of these, and you should be able to verify each yourself rather than take it on faith.

  1. Local inference. The model that reads and answers runs on your GPU or CPU. If the settings mention an API key, the model is not local.
  2. Local embeddings. The text extracted from the PDF is indexed on your machine. A cloud embedding service has already seen every passage, whether or not the chat is local.
  3. No telemetry. With the app idle and nothing requested, it should contact nothing. A packet capture settles this in a minute.
  4. User-triggered network only. When the tool does touch the network, because you asked it to fetch a source, the request should carry only the URL you pointed at.
  5. Local storage you can take with you. The library and its index are files you can copy, back up, and delete. Not a server-side workspace.

How Istor clears each item.

Istor is a Windows application built around this exact list. PDFs are read from disk, their text extracted locally, and scanned pages go through the OCR engine that ships with Windows, so even a scan is read on your own hardware. Embedding and retrieval run locally, the language models are served on your GPU, and the app makes zero network requests unless you trigger a fetch yourself. The library is a SQLite file in your app-data folder, and the whole thing exports as a zip.

One consequence of the local design is worth knowing: when your sources do not contain the answer, Istor says so instead of improvising. Every claim in an answer carries a citation back to the passage it came from, so you can check it.

The rest of what Istor does is on the home page.