Your documents, your key, your call.
This page says plainly what Marginalia stores, what it sends to AI providers, and how to remove it. The code is open, so you can check every claim here against it.
Last updated 10 October 2026
What we keep
What Marginalia stores
- Your account: your name and email, and a password hash (never the password). If you sign in with Google we receive your name, email and profile picture from Google.
- Your documents: the PDF itself, the text extracted from it in chunks, and numeric embeddings of those chunks used for search.
- What you make from them: chat messages and their page citations, summaries, flashcards, quizzes and notes.
- Your AI settings: the provider and models you chose, and your API key if you add one (see below).
- A daily counter of AI actions, only while you use the shared key (to enforce its allowance).
- Operational logs: error messages and request information, kept to run and fix the service. We do not log document text, and keys are removed from log lines.
Your API key
How your API key is protected
If you add your own OpenAI or Google Gemini key, it is encrypted with AES-256-GCM before it is stored, and bound to your account so it cannot be used from another one. The encryption secret lives only in the server environment, never in the database or the code.
- It is decrypted only in memory, only to call your provider for your documents.
- It is never shown again (the settings screen shows only its last four characters), never returned by any API, never written to logs, and never placed in background job data.
- You can remove it at any time in AI settings, which deletes the stored copy. Deleting your account removes it as well.
- A key is only saved after the provider has accepted it, and it is used only with the official OpenAI or Google endpoints.
Use a key meant for this purpose, and set a spending limit with your provider. If you think a key has been exposed, revoke it at the provider as well as removing it here.
The shared key
When Marginalia's own key is used
If you have not added a key, a shared key owned by the people who run this service may be used, within a small allowance. Your documents and questions are then sent to the AI provider under that account. When the allowance is used up you are asked to add your own key.
Who else sees it
Services that handle your data
- AI providers (OpenAI, Google). To answer a question, summarize or make flashcards and quizzes, the relevant excerpts of your document and your questions are sent to the provider you selected. To search a document, its text is sent to produce embeddings. What the provider does with it is governed by its own terms and data policy; with your own key, that agreement is between you and the provider.
- Hosting and storage. The app runs on Vercel. PDFs are kept in a private Vercel Blob store and opened only for their owner. Account and document data is kept in a Postgres database.
- Background jobs (Inngest). Processing runs as background jobs. The jobs receive a document id, not your key, but the service keeps the results of each job step for a while, and some of those are intermediate summaries written from your document.
We do not sell your data, and we do not use it for advertising.
Cookies
Cookies and tracking
A session cookie keeps you logged in. Your browser also remembers small preferences on your device (the theme, whether the tool list is collapsed, and whether you have seen the tour). There are no analytics, no advertising trackers and no third-party cookies.
Deleting
Keeping control of your data
- Delete a document and its PDF, extracted text, chat, summary, flashcards, quiz and notes are removed.
- Remove an API key in AI settings at any time.
- To delete your whole account, or to ask a question about your data, contact either of us through the links on the About page.
Please only upload documents you are allowed to share with an AI provider. Marginalia reads whatever you give it, and it cannot know whether a file is confidential.
Open source
Check it yourself
Marginalia's code is public, including how keys are encrypted and where data goes. You can read it, run your own copy so that everything stays on your own infrastructure, and open an issue if something here does not match what the code does.