Privacy
The short version: your files never leave your browser, and we could not read them if we wanted to.
Files you scan or clean
Files you put into our tools are processed entirely on your own device. There is no upload endpoint on this site. There is no server that receives files, no database, and no object storage. We do not have a copy of your file, and we never did.
Specifically, we never transmit or store:
- your file's contents, in whole or in part
- hashes or fingerprints derived from your file
- your filenames
- metadata values extracted from your file, including GPS, timestamps and author fields
You can confirm this yourself: load a tool page, disconnect from the internet, and scan or clean a file. Everything works. Or watch your browser's network panel while you scan — nothing carrying your file appears.
Text you paste — and the one thing that is sent
Checking pasted text for hidden characters, and cleaning them out, happens entirely on your device like everything else. Nothing is sent.
There is one exception, and it is the only one on this site. The text scanner offers a rewrite option, which rewords your text in an attempt to disturb a statistical AI text watermark. A statistical watermark is encoded in word choice, so the only way to disturb it is to change the words — and that needs a language model, which we cannot run inside your browser.
If, and only if, you use that option, the text in the box is sent toGoogle's Gemini API through a proxy on this site, and the rewritten text is sent back. This happens per use: you press the button, you are shown the exact request body first, and nothing is remembered between uses. There is no setting that turns it on permanently, by design.
What is sent is only the text you typed or pasted. Never a file, a filename or a hash.
We do not log the request body and we store nothing. But once the text reaches Google it is governed by Google's terms, not by this page, and you should know what those say before you use it.
This feature uses the paid tier of the Gemini API, which matters, because the two tiers are governed by different terms. On the paid tier Google states that it doesnot use prompts or responses to improve its products, and does not use them to train its models. On the unpaid tier it does both, and human reviewers may read the content. We pay for this specifically so the second set of terms does not apply to your text.
Google does still log prompts and responses for a limited period — by default up to 55 days — solely to detect abuse of their service and to meet legal obligations. After that the logs are deleted. So the text is not retained indefinitely, but it is not instantaneous either, and during that window it exists on Google's systems rather than only on your device.
We are being precise about this rather than saying "Google doesn't keep it", because that would not be true. What is true: it is not used to train anything, it is not read for product improvement, and it is deleted.
Even so, this is the one feature on the site where your content leaves your machine. If a piece of text is genuinely sensitive, the honest advice is not to send it — use the local hidden-character cleaner, which never transmits anything, and accept that statistical watermarks are beyond what any on-device tool can address.
Google's terms are atai.google.dev/gemini-api/terms. If the tier or the terms change, this page changes in the same release.
We cannot tell you whether a rewrite worked. There is no watermark detector we can run, so the result is labelled "Rewritten — unverified" and is never counted as a removal anywhere in the interface.
Accounts
There are none. Every tool works without registration, and we hold no user records because there are no users to record.
Analytics
We use two analytics tools, and they behave differently.
Cloudflare Web Analytics is cookieless. It does not fingerprint visitors and does not track people across sites. It records page URLs, referrers, general performance timings and coarse location at country level.
Google Analytics 4 is not cookieless. It sets cookies in your browser (_ga and related), assigns your browser a pseudonymous identifier so returning visits can be recognised, and sends that data to Google, who may use it in line with their own policies. We use it to understand which pages and search terms bring people here.
Neither tool ever receives anything derived from your file or your pasted text. That is a hard architectural boundary, not a setting: files are read and cleaned entirely on your device and are never transmitted, so there is nothing about their contents for an analytics tool to collect. The rewrite option described above sends text to Google's Gemini API only, never to an analytics tool, and it sends no event recording that you used it.
Beyond page views, Google Analytics receives three events about how the tool is used. This is the complete list, and each one carries only the values shown:
scan_result— whether you used the file or text tab, the format by name (JPEG, PNG, WebP, SVG, Markdown, PDF), whether the scan succeeded, and how many signals were found as a range: none, 1–3, 4–10, or 11 and over.clean_complete— the format, whether cleaning succeeded, and how many signals were removed, again only as one of those four ranges.download_click— the format, and nothing else.
The count is a range rather than a number on purpose. “This file contained twelve signals” is a fact about your specific file; “this scan was in the 11-and-over range” is a fact about how the tool gets used. Filenames, file sizes, dimensions, hashes, and the values of any metadata field are never sent, and the code that sends these events cannot express them — the permitted values are fixed in the type system rather than left to convention.
Analytics is optional to the product. If you block it — with an extension, a tracker blocker, or Do Not Track — every tool continues to work exactly the same.
Cookies and your choice
Google Analytics does not run until you allow it. Its scripts are not in this page. Nothing is loaded, no cookie is set and no identifier is assigned unless you press Allow on the banner. If you press No thanks, or simply ignore it, Google Analytics never runs at all.
Cloudflare Web Analytics is unaffected by that choice, because it is cookieless: it sets no cookie, assigns no identifier and does not follow you across sites. We set no cookies of our own for logins, preferences or tracking, because there is nothing to log in to and nothing stored.
Your decision is remembered in your browser's local storage rather than in a cookie — storing a cookie to remember that you declined cookies would be absurd. It never leaves your device.
Clears the decision and asks again.
If we introduce advertising in future, ad providers may set their own cookies, that will require its own consent, and this page will be updated to say so plainly before it happens.
Advertising
This site is not currently running advertising. If it does in future, ad slots will sit in clearly separated areas, never adjacent to download controls or styled to resemble product buttons — and advertising will never require your file to be uploaded, because uploading is not a thing this site does.
Hosting
The site is served as static files by Cloudflare Pages. Cloudflare processes standard request information such as IP address and user agent in order to deliver the page and protect against abuse, as any web host does. That is request-level data about visiting a page, unrelated to the files you process.
Changes
If this policy changes materially — particularly anything touching the local-processing guarantee — we will say so on this page rather than quietly editing it.
Contact
Questions about privacy can go to [email protected].