ChatGPT reads an uploaded file on OpenAI's servers. Here is what that changes.

Upload a PDF to ChatGPT and it is parsed, chunked and searched on OpenAI's infrastructure, with the answer written by a frontier model. SecureRAG does the parsing, chunking and searching in the browser tab and answers from your own retrieval, with the file never leaving the device. The interesting comparison is not raw capability — ChatGPT wins that outright — but what happens to the document, which setting decides it, and which jobs only a hosted model can do.

Last updated:

Short answer: an uploaded file is parsed on OpenAI's servers and on consumer plans may improve their models unless you opt out; SecureRAG keeps it local.

What ChatGPT does better

  • It does more with a file than answer questions about it: rewrite, translate, restructure into a table, generate code that reads the file, plot the numbers, then continue from that output.
  • File uploads work on Free and paid plans, on the web and in supported mobile apps, subject to per-plan limits — no download, no model fetch.
  • ChatGPT Enterprise has PDF visual retrieval, which reads layout and figures from a PDF. Other plans extract digital text and discard images. SecureRAG also reads text only: stamps, signatures and figures in a scanned or image-heavy PDF are not seen.
  • One conversation can combine the file with web browsing, code execution and the model's general knowledge. A local retrieval tool deliberately does only retrieval.
  • Frontier-model prose and long-context handling that a 0.5B–1.5B quantised model cannot match.

The setting that decides what happens to your document

OpenAI's help centre states that ChatGPT improves by further training on conversations unless you opt out, and that the opt-out sits in Settings → Data Controls → "Improve the model for everyone", or in the privacy portal as "Do not train on my content". Content can include files you upload. The same help centre states that business offerings — the API, ChatGPT Business and Enterprise — are not used to improve model performance by default. Three different answers exist for the same question, and which one applies depends on whether you are using consumer ChatGPT, an API call, or an enterprise workspace. Read your own plan's policy rather than a summary of it, including this page.

Table 1 — the upload route and the local route
QuestionChatGPT file uploadSecureRAG
Where the file is parsedOpenAI's serversYour browser tab
AccountOpenAI accountNone — no account, no tracking pixels
Training useConsumer plans train on content unless you opt out; business offerings are opted out by defaultNot used for training — no server exists to train on
OfflineNoWorks offline once cached
What a citation points atQuoted passages inside the reply; no page anchor for an uploaded PDFA numbered citation per sentence to a chunk, with PDF page numbers and DOCX heading levels preserved
Answer engineA frontier cloud modelExtractive selection by default; optional Qwen2.5 0.5B–1.5B at 4-bit, 400 MB–1.0 GB, roughly 3–8 tokens/s on CPU
CeilingsPer-plan file size and token limits; see OpenAI's help centre≤25 MB per file, ≤40 files, ≤200 MB per library, ≤20,000 chunks
Supported inputCommon document, spreadsheet, presentation and text formats; see the help centrePDF, DOCX, TXT, Markdown, CSV, HTML, JSON. No encrypted PDFs, no scans without a text layer, no legacy .doc

Citations come from different places

ChatGPT quotes from the file inside its reply, which is usually enough when you are reading for understanding. It is not a citation system: there is no per-sentence anchor back to page 14, and a fluent paragraph can blend a direct quote with the model's own paraphrase. SecureRAG separates those two things. The default answering tier selects sentences from the retrieved chunks, keeps them in their original order, and attaches a numbered link to each one, so a paraphrase is never presented as a quote. The optional generation tier writes prose, but the citations are attached from the retrieved chunks before the text reaches you — the model is never asked to produce references, because models invent them.

Where SecureRAG loses to ChatGPT file upload

  • It cannot write. A 0.5B–1.5B quantised model produces terse, literal prose next to a frontier model, and enabling that tier costs a 400 MB–1.0 GB download and runs at roughly 3–8 tokens/s on CPU without WebGPU.
  • No image understanding. Figures, charts, handwriting and stamps are not read. A PDF that is mostly images yields mostly nothing.
  • No code execution, no web browsing, no plugins. What is in the index is all the system knows.
  • Tighter ceilings: 25 MB per file, 40 files, 200 MB per library, 20,000 chunks, and lower caps on mobile browsers where memory is scarcer.
  • No cross-session memory in the Cloudflare sense of a hosted assistant. The index persists in IndexedDB; the conversation does not travel to another device.
  • First load is slower. Parsing a 20 MB PDF and embedding 900 chunks takes real seconds on a laptop, where a hosted service shows a spinner on someone else's hardware.

A five-minute test with a document you already have

  1. Take a contract or report you know well, between 10 and 25 MB so it fits inside the 25 MB ceiling, and note one clause number you can quote from memory.
  2. Ask the same question in both tools: "Which clause covers early termination, and what notice does it require?"
  3. Check what supports the answer. In ChatGPT you get a quoted passage inside the reply; in SecureRAG you get a numbered citation on each sentence that opens the chunk and shows the page number.
  4. Ask a question the document cannot answer. Set strictness to "documents only" locally and confirm you get "not found in your documents" rather than an inferred clause number.
  5. Open DevTools → Network in both. In one you will see a multipart POST carrying the file; in the other, one GET for model weights and nothing after it.
Data policy differs by product and by plan. Consumer ChatGPT, the API, ChatGPT Business and Enterprise have different data-use defaults, and they change. The authoritative statement is OpenAI's own: its data-controls help pages and the privacy policy for the product you actually use. Written September 2026.
A practical middle path: use ChatGPT for drafting over text you can share, and SecureRAG for the documents you cannot send anywhere — an unsigned contract, a medical report, a personnel file, a client's unpublished financials. The two do not have to compete for the same folder.
Does ChatGPT train on files I upload?

For consumer plans, OpenAI's help centre states that it improves by further training on conversations unless you opt out, and that uploaded content can be included. The opt-out is in Settings → Data Controls ("Improve the model for everyone") or through the privacy portal. Business offerings such as the API and ChatGPT Enterprise are not trained on by default. Check your own plan's page, because the answer is plan-specific and changes.

Can SecureRAG answer questions that require reasoning across documents?

It can retrieve across up to 40 files at once and cite passages from several of them, and it can stitch those passages together in document order. What it will not do is invent a conclusion those passages do not support — in "documents only" mode it returns "not found in your documents" instead.

Why is the local answer shorter?

Because it is assembled from sentences that already exist in your files. Extraction cannot expand an argument the way generation can, and that is the mechanism that keeps invented clause numbers out of the answer.

Will enabling the generation tier give me ChatGPT-quality writing?

No. It gives fluent, grammatical prose from a 0.5B–1.5B quantised model — an improvement over extractive stitching, still a distance below a frontier model. It also requires an explicit click before any download starts, and can be turned off again at any time.