Two routes, two answers
Katharina can talk to an AI model in one of two ways, and what happens to your data is genuinely different in each. Which one you are on is shown in the side panel.
Your own API key. The request goes from your browser straight to the provider you chose. It does not pass through any Katharina server, and we cannot see it. Your key is stored only in your browser.
Katharina credits. Your request passes through our server so that we can use our provider account and count what it cost. The page content in that request travels through us in transit.
What we never store
On the credits route we do not store your prompts, the page content in them, or the model’s replies. This is not a policy we promise to follow — it is how the software is built. The part of our server that handles a model request reads only the token counts as the response streams past, and never holds the message itself. There is no debug log of request bodies and no sampled capture.
What we do store
- Your email address, and a display name if you set one.
- Your plan, credit balance and the record of credits added and spent.
- For each AI turn: when it happened, which model, how many tokens, and how many credits it cost. Not what it was about.
- Which browsers you are signed in on, so you can sign them out.
- Payment records held by Stripe. We never see or store card details.
- Your saved jobs, while job backup is on — each job’s steps, parameters and notes, plus how often it has run and on which sites. This is what puts your jobs back when you sign in on another computer, and it is why they are listed in your dashboard. A job is a recipe, so it contains the addresses and field names your task involved. Backup is on by default and is switched off in the side panel under Settings → Job backup. Deleting a job deletes it here too.
- Server-side runs, only when you start one — choosing “Run on server” or setting a schedule executes that job here instead of in your browser, so the run’s status and outcome, a preview of the rows it collected (up to 200) and its exported file (up to 2 MB) are stored with your account. The rows and the export are deleted automatically 30 days after the run finishes; the bare run record stays in your history. Server replays make no AI calls, and jobs that would need them are refused at the click. Jobs you merely back up are never executed here.
- A live frame, only while you solve a security check — Katharina never solves a CAPTCHA or a login wall for you. When a server run hits one it pauses and holds that one page open for a few minutes so you can solve it yourself from the runs page. During that window we store the latest screenshot of that page (replaced about once a second, no history kept) and forward the clicks and keys you send to it. The frame is deleted the instant the run continues, the window closes, or you cancel; the keys you type — including anything you enter at a login wall — are forwarded and then discarded, never written to a log. If nobody comes in time, the run gives up honestly as blocked, with its progress saved.
- A saved login, only if you choose to keep one — for a job on a site you sign into, you can save that login once so server runs start signed in. You sign in yourself through the live view; Katharina never types or sees your password. What is stored is the resulting browser session (cookies and local storage), encrypted at rest, decrypted only in memory on the worker that runs your job and only for that site — plus the site’s address and a label you pick. It is never sent back to your browser, and it is deleted the moment you remove it or delete your account. Deployments without an encryption key do not offer this at all.
Chat titles and anything a job extracted stay in your browser. That is why your usage history says “job replay” rather than naming a job — what a turn cost is recorded without recording what it was about, whether or not you back your jobs up.
What stays in your browser
Your chat history, run logs, watchers, collected results, profile details and any API key you entered are stored locally by the extension and are never uploaded. Browser storage is not encrypted — treat it as you would a configuration file on your computer.
Saved jobs are one exception, and only when you leave job backup on: the recipe is copied to your account so it survives a new machine. A run you explicitly send to the server is the other — its rows and export live with your account for 30 days, as described above. Nothing else about a job travels: a run in your browser keeps its pages and rows in your browser.
Run logs record page content and the values Katharina filled in, deliberately: they are how you check what it did. Read an exported log before sharing it with anyone.
Who else processes your data
- The AI provider you use — Anthropic, Google or Groq. On your own key, your relationship is with them directly.
- Stripe — payments, invoices and card details.
- Our hosting and database provider — stores the account data listed above.
- Our email provider — delivers sign-in codes and account notices.
Deleting your account
You can delete your account from Settings. It signs out every device, cancels any subscription at the end of the period, removes your name, email and notifications, and deletes any jobs you had backed up — along with your saved logins, your server runs and their exports, and any schedules. The copies in your own browser are untouched, so deleting the account does not take your jobs away from the machine you use them on.
Credit and payment records are kept, because we are required to keep them — but they stop being connected to a name or an email address. Anything stored in your browser is not touched by account deletion; clear it from the extension.
Web pages you visit
Katharina reads a page only when you ask it to, or when you have explicitly set it to watch that page. It does not read pages in the background, does not build a browsing history, and does not send anything anywhere on its own.
Contact
Questions about any of this, or a request to see or delete your data: contact us at the address on the Chrome Web Store listing.