Privacy Policy
Last updated: 22 October 2026
The short version: the text you paste stays in your browser. It reaches our server only if you choose to sign in and press Save — accounts are optional, and the tool works fully without one. We don't run any tracking or analytics script in your browser, and we don't set cookies on visitors unless they sign in. We do count page visits — the date, the page, the country and the site that linked here — from the page request itself; see how visits are counted. Your current comparison is saved on your own device so you don't lose it on a refresh — see what is stored on your device for exactly what that means and how to clear it. If you use an account, accounts says what it keeps and how to delete it.
How the tool works
OpenKOD Diff Checker is a static website, plus one small piece of code on Cloudflare’s servers that counts page visits and, if you choose to use one, runs your account (both below). All of the comparison work — reading your text, computing the differences, applying merges — happens in JavaScript running on your own device. What you paste into either panel is not transmitted anywhere and is not visible to us or to anyone else — with one exception that is always your choice: if you sign in and press Save, that comparison is kept in your account.
The same goes for files you open in a panel, including PDF and Word documents: they are read on your device and only their text is put in the panel. The file itself is not uploaded. PDFs are read with pdf.js, Mozilla’s open-source PDF reader, which is one of this site’s own files and is loaded only when you open a PDF.
What is stored on your device
Some things are saved in your browser's local storage so the site is where you left it next time. All of it stays on your device, is readable only by this site, and none of it is sent anywhere. No cookies are set unless you sign in (see accounts).
- The comparison you have open — both panels of text and that
tab's settings (and, if it came from your account, which saved comparison it
is), under the name
diffchecker-tabs-v1. This is so a refresh, a closed tab or a flat battery doesn't lose your work. It does mean the text you compared is written to your disk by your browser: if you are on a shared or public computer, use the Clear button or a private window. - Your chosen surface — Day, Paper or Night
(
diffchecker-theme). - Whether the options panel is open
(
diffchecker-sidebar). - Whether you have used the desktop-app interest form
(
diffchecker-desktop-notified), so it isn't shown to you twice. - A note that a comparison was too big to keep
(
diffchecker-unsaved) — only its name and size, never its text — so your next visit can tell you it wasn't saved rather than showing an older one. It is deleted as soon as it has been shown. - A marker while a comparison is running
(
diffchecker-busy), removed the moment it finishes. If the page is closed or crashes part-way through, it stops the next visit from re-running that same comparison automatically.
Folder comparisons are never saved — they exist only while the tab is open, and the folders you pick are read in your browser and never written anywhere.
To remove all of it: press Clear in the app, or clear this site's data in your browser settings. Both are immediate and complete.
Accounts (optional)
You never need an account. If you choose to sign in, you can save comparisons and open them again later, on any device. Signing in uses your Google account: you are sent to Google’s own sign-in page, and Google tells us your name, your email address and the Google account ID (a number Google uses for you). We never see your Google password, and no Google script runs on this site’s pages.
With an account, this is what is kept on Cloudflare’s servers, and nothing more:
- Your account: a random ID of our own, the Google account ID, your email address and name, when you created the account, when you last signed in, and a count of the changes the account made today (so that no one account can overload the service).
- Your sign-ins: a scrambled copy (a hash) of each sign-in cookie, which account it belongs to, when you signed in and when it expires. The cookie itself is never stored, so this record cannot be used to sign anyone in.
- The comparisons you save — only the ones you press Save on: a random ID, which account it belongs to, the title, the syntax language, the size, when it was saved and last changed, and the two texts with that comparison’s settings, compressed.
An account keeps up to 25 comparisons of up to 1 MB each. Saved comparisons are private: nobody else can open them through this site. They are not end-to-end encrypted, so don’t save material you would not want held by a hosting provider.
Cookies, only if you sign in. dc_session keeps you
signed in for 30 days, or until you sign out. dc_oauth exists for at most
ten minutes while you are signing in, to check that the answer from Google belongs to
the sign-in you started. Page scripts cannot read either of them.
So that the page knows whether to show Sign in at all, each time the tool opens it asks this site’s server whether accounts are on and whether you are signed in. That request carries your sign-in cookie if you have one, and nothing else — never your text.
Deleting. Delete any saved comparison from the list, or press Delete account to delete your account, every saved comparison and every sign-in at once, immediately. Signing out ends that sign-in. Comparisons you have open on a page stay in that browser until you close them or press Clear.
Offline copies of the site
The site installs a service worker — a small script your browser keeps so the tool still opens when you have no internet connection. It stores copies of the site's own files: the page, the stylesheet, the scripts and the icons. It does not store your text, and it does not send anything. Removing it is the same action as above: clear this site's data. If you once installed the site as an app from your browser, uninstall that too.
How visits are counted
So we can tell whether the site is growing, each page load is counted on Cloudflare’s servers, from the request your browser sends to load the page. Four things are recorded, and only as a running total for the day:
- the date (in UTC);
- which page — the diff checker, this page, or the terms;
- the country, as a two-letter code Cloudflare works out for every request;
- where the visit came from — the name of the site that linked here
(for example
google.com), a campaign tag on the link such as?ref=reddit, “installed app”, or “direct”.
That is the whole record. No IP address, no browser or device details and no identifier of any kind are stored, so a count can never be traced back to you, and no two visits can be linked together. Nothing runs in your browser to do this — there is no analytics script — and no cookie is set on you for it. The text you compare is never part of it: the counter only ever sees the request for the page itself. Search-engine crawlers, link previews and other automated visitors are left out.
Apart from the sign-in cookies above, which only people who sign in ever get, the
one cookie the site sets is on its owner’s own browser: opening the private
stats page sets dc_owner there, so the owner’s own visits
aren’t counted. No visitor ever receives it.
Shareable links
The Share button compresses your comparison into the part of the URL after the
# symbol. Browsers never transmit that fragment to a web server, so
generating a link does not upload your text. Two things are still worth knowing:
- Anyone who receives the link can read the text it contains. Treat a share link the same way you would treat the content itself.
- The link may be recorded wherever you paste it — your browser history, a chat app, an email, a ticket — and we have no control over those places.
Don't create share links from confidential material you wouldn't want copied.
Server logs
The files that make up this site are delivered by a hosting provider. Like essentially all web hosts, that provider may automatically record standard request information — IP address, timestamp, which file was requested, browser user-agent — for security and reliability. That is a function of the hosting infrastructure, not something this site collects or uses. It never includes the text you compare: that text is only ever sent inside a comparison you choose to save, and request logs record which address was asked for, not what was sent to it.
Third parties
The site loads no third-party scripts, fonts, trackers, advertising or embedded content. Everything it needs is served from this domain. The site is hosted by Cloudflare, which also keeps the daily visit totals and, for people who have one, the accounts described above. If you choose to sign in, Google handles that on its own page and tells us your name and email address; what Google itself records is covered by Google’s privacy policy. Nothing about your visit is shared with any other company.
Children
The site is a general-purpose utility and is not directed at children, and accounts are not for anyone under 13. Without an account, no personal information is collected from anyone.
Your rights
Data protection laws such as the GDPR give you rights to access, correct or delete personal data held about you. Without an account we hold none: the only data connected to your use of the site lives on your own device, and clearing your browser's site data removes it. With an account, everything we keep is in front of you — your saved comparisons in the list, your name and email address on the account panel — and Delete account removes all of it yourself, at once. For anything else, use the contact address below.
Changes
If this policy changes, the revised version will be posted here with a new date at the top. Material changes to how the site handles information will be described rather than quietly substituted.
Contact
A contact address for this site is being set up and will be published here.