Privacy & AI transparency
mise is built to keep your cooking on your device. This page explains, in plain language, what is stored, where it lives, and the one time anything leaves your device.
What’s stored, and where
Your saved recipes and notes are kept in your browser’s IndexedDB; your settings in localStorage. That’s all on this device. There is no account, no server database, and no sync. Clearing your browser storage removes everything mise has kept.
The one time data leaves your device
When you paste a new recipe link, our server fetches that page so it can strip the clutter. This fetch is the only network egress that happens by default — the optional, opt-in features below (your own AI key, error reports, translation with a backend you configure) add egress that you choose and control. Your saved cookbook is never sent anywhere — only the single page you’re parsing is processed, and its content is not stored on the server beyond that request.
When AI is used
Most recipe sites publish structured data (schema.org), which we read for free with no AI involved. Only when that structured data is absent do we fall back to an AI model (Mistral) to extract the recipe. We send just the page’s main text — never your cookbook — and ask for a no-training, zero-retention result.
Some sites refuse to let our server read the page at all, or serve a page that only renders in a full browser. As a last resort in those cases we send Mistral only the page’s address — we never had its content — and Mistral’s web-access tool fetches the page from Mistral’s own infrastructure and extracts the recipe. The same rules apply: it happens once, for the single page you asked for, and with your own key configured the request goes directly from your browser.
When a recipe was extracted this way, the reading view says so (“Extracted with AI — check against the original.”). AI extraction can make mistakes, so the original source is always one tap away. mise makes no automated decisions about people; recipe extraction is a minimal-risk use of AI.
Bring your own Mistral key
You can supply your own Mistral API key in Settings. When you do, the AI fallback works differently: our server still fetches the page and tries the free structured-data path, but if that misses, it hands the page’s main text back to your browser, and your browser calls Mistral directly with your key. Your key and the page text never pass through our server in this mode.
The key is stored only on this device, in localStorage, and is sent nowhere except to Mistral when you parse a link. As with anything held in the browser, a malicious script could read it — so it is one tap to remove in Settings, and worth removing when you’re not using it.
Translation
You can translate a recipe into your language, on request, from the reading view. Nothing is ever translated automatically — a recipe in another language gets a quiet, dismissible offer, and translation runs only when you tap it. Translated recipes are clearly labeled (“Translated with AI”) and the original text is always one tap away (“Show original”). The translation is stored only on this device, with the recipe.
Who receives the recipe’s text depends on what’s available, in this order: nobody — modern Chromium browsers can translate entirely on-device, so the text never leaves your browser; your own LibreTranslate server, if you configured one in Settings — the text goes to the server you chose, which you control; or Mistral, using your own key as described above — that recipe’s text only, never your cookbook. Note that Mistral’s free tier may use inputs to improve their models; use a paid or zero-retention tier if that matters to you.
A technical note on the LibreTranslate option: so your browser is allowed to contact the server you chose (our security policy blocks unknown destinations), its address — never any key — is stored in a cookie and included in requests to mise. Removing the server in Settings clears the cookie.
Sharing a recipe
You can send a single recipe to someone else from the reading view. There is no share server: the whole recipe is compressed into the link itself — specifically the part after the #, which browsers never transmit to any server, ours included. So a share link travels from your device to theirs through whatever app you send it with, and mise never sees it.
Your notes are not included unless you tick the box in the share sheet. Everything else you can see — the title, ingredients, steps, and any edits you made — travels with it, along with how the recipe was originally extracted, so the “Extracted with AI — check against the original.” line follows the recipe to whoever receives it.
Anyone holding the link can read the recipe, and links can be forwarded on. Treat a share link the way you would the recipe itself.
A QR code carries exactly the same link, drawn on your screen by your own device — nothing is uploaded to make it, and nothing is scanned by mise. Whoever points a camera at it gets the recipe, so treat a code on screen the way you would the link: anyone who can see it, or photograph it, has a copy.
Moving your cookbook to another device
You can send your whole cookbook to another device from Settings — one device shows a code, the other enters it, and the recipes move across. This happens only when you start it, and the cookbook itself travels directly between your two devices over an encrypted, local-network connection — it never touches a mise server.
To introduce the two devices to each other, our server briefly relays the connection handshake — a few kilobytes of technical connection description (which can include the devices’ network addresses), never any recipe data. The handshake is held in memory for at most five minutes, is never logged, and the pairing code works exactly once. If the devices can’t reach each other (different networks, strict Wi-Fi), nothing is sent anywhere — the export/import file below remains the fallback.
Your rights
Because everything lives on your device, you are always in control: export a .json copy for portability, and delete any recipe — or clear all data — for erasure. These controls live in Settings.
Anonymous usage & error reports
Off by default.If — and only if — you turn on “Anonymous usage & error reports” in Settings, mise sends anonymous diagnostics that help us fix bugs to Swetrix, an open-source, privacy-focused analytics tool running on our own server (no third-party analytics company receives the data, and no third-party script is ever loaded). Until you opt in, the analytics code doesn’t even load and nothing is sent.
When enabled, we send a small, deliberately content-free set of signals: anonymous page views recorded as route patterns (a recipe page counts as /r/:id— the recipe’s identifier and any query text are stripped before sending), scrubbed error reports (with URLs, emails, and long numbers stripped out — including errors caught automatically), and plain counts such as “a parse failed”, “a recipe was saved”, “cooking mode was started”, or “a timer finished”. We never send your recipes, the links you paste, your searches, or step text. No personally identifiable information is collected, and the "Do Not Track" browser setting is honored. You can learn more about the Swetrix software at swetrix.com.
This page is kept in sync as the mechanisms above change.