Privacy Policy

Last updated: September 12, 2026 — effective September 12, 2026

mdai is a local-first desktop application. Your documents are plain Markdown files on your own disk, and they never leave your computer. This page lists exactly what does leave it, and why.

Who is responsible

mdai is made and published by Goran Jovanović. Questions about this policy, or requests to delete data described below, go to support@mdai.me.

What mdai stores on your device

Your documents stay in folders you choose, as ordinary Markdown files. Application settings are stored in a local configuration file. AI provider API keys and cloud OAuth tokens are stored in your operating system's secure keychain, never in plain text and never on our servers.

What mdai sends to us — the complete list

There are exactly four things, and all of them are described in full here. The same four are listed, together with the address each one goes to and why mdai is not open source in the first place, on the openness page.

1. Starting your trial

The first time you run mdai, it sends a single value to license.mdai.me: a salted SHA-256 hash of your operating system's machine identifier. That hash is the entire request — there is no name, no email address, no file name, and no document content in it. We store the hash together with the date we first saw it, so that reinstalling the application does not restart the free trial. The hash cannot be reversed back into your machine identifier, and it is not linked to any other information about you.

2. Checking for revoked license keys

mdai downloads a public list of hashed license keys that have been revoked after a refund or chargeback. This is a download: nothing about you is sent in it. Your key is checked against that list on your own device. The key's own validity is also proven offline, by checking its signature — that part never needs a server.

This download happens at most once every 30 days, and only on a copy that has been activated with a licence. It is not made while you are in the trial, and it is never made more often than that, whatever else you do in the application.

3. Checking whether a newer version exists

After the window opens, and at most once every 24 hours, mdai downloads a small file from dl.mdai.me that lists the current version. This is a plain download of a fixed address. The request carries nothing that identifies you or your machine: no account, no licence key, and not even the version of mdai you are running. Which version you have is compared with the list on your own device, not by us. The only thing the request states about the software is the name and version of the update component itself, in the ordinary browser-style user-agent header (tauri-plugin-updater/2.10.1).

If a newer version exists, mdai shows a bar offering it. Downloading and installing happen only when you click — never in the background, and never without telling you. If you are offline, or if the check fails for any reason, nothing appears and nothing is retried until the next day.

The version of mdai installed from the Microsoft Storedoes not include this update component at all — it is built without it, because the Store delivers updates itself. That version therefore never makes the request described in this section.

As with any request over the internet, our provider (Cloudflare) briefly processes the connection itself, including your IP address, to deliver the response. We do not build profiles from it. This applies to all four requests above.

4. Registering this device against your licence

A licence covers up to three devices, so we have to count them. When you press Activate, mdai sends three values to license.mdai.me: a SHA-256 hash of your licence key, the same salted machine hash described in point 1, and one word for the platform — macOS, Windows or Linux. That is the entire request.

Your licence key itself is never sent — only its hash, which cannot be reversed back into the key. There is no name, no email address, no computer name, no file name and no document content in the request, and none of those is stored.

We keep, per licence: the machine hash, the platform word, and the date each device was activated. That is all — it is what the device list inside mdai shows you, and there is nothing behind it that you cannot see there.

This request happens only when you press Activate or Deactivate. It is not repeated, not scheduled, and never made in the background. Once a device is registered, mdai works offline indefinitely; it does not check in again. Pressing Deactivate sends the same two hashes once more, to free that device's slot.

What we run, and what it holds

We operate a small licensing service: a Cloudflare Worker with a key-value store. It holds hashed machine identifiers with their first-seen dates, license records, the device registrations described in point 4 (hashed key, hashed machine, platform, date), and hashes of revoked keys. It has never received and cannot receive your documents.

No analytics, no tracking, no crash reports

The application contains no analytics, no usage tracking, and no crash-reporting that sends data to us or to anyone else. Nothing about how you use mdai — which files you open, what you write, how long you work — is ever transmitted.

AI features (bring your own key)

AI features are optional and work only if you supply your own API key for a provider you choose (Anthropic, Google Gemini, DeepSeek, or OpenAI). When you use an AI action, the selected text or document content is sent directly from your device to that provider, under your account and their privacy terms. mdai does not proxy, log, or store this traffic, and we never see your keys or your content.

Purchases

Purchases are processed by our merchant of record, Paddle, which handles payment and license key delivery under its own privacy policy. mdai never sees your card details. We receive the information Paddle passes on to issue your license, such as the email address you bought with.

When the trial ends

After the free trial expires, mdai locks editing only. Reading, copying, exporting, and opening your folders keep working, and your files remain ordinary Markdown that any text editor can open. We never hold your documents hostage.

Changes

If this policy changes, the updated version will be published at this address with a new date.