← Back to Mealbot

Privacy Policy

Last updated:

This describes what Mealbot actually does with your data — written from the code, not from a template. Where something is imperfect, it says so.

The short version. We use three cookies, all of them needed to keep you signed in. We run no analytics, no advertising and no third-party trackers of any kind. We never see your card details. But your dietary restrictions and allergies are sent to Google to generate your meal plans — that is how the product works, and it is the most important thing on this page.

Who is responsible

Mealbot is run by František Bláha, Jana Černého 489/2b, Věkoše, 503 41 Hradec Králové, Czech Republic. IČO 22059946. Not registered for VAT (neplátce DPH). We are the data controller for the personal data described here.

For anything on this page, including any request below, email info@trymealbot.com.

What we collect

Your account

Your email address and a hashed password (bcrypt — we never store or log the password itself). Plus the state we need to run your account: when you registered, whether your email is confirmed, and your subscription status.

What you create in the app

Your cooking preferences (country, language, units, whether to include spices), your fridge contents and pantry staples, your meal plans and recipes, and when you marked a meal as cooked. Free-text fields you fill in — taste preferences, ingredients to avoid, notes — are stored as you wrote them.

Dietary restrictions and allergies

This is health-related information, and in some cases (halal, kosher) it can reveal religious belief. We treat it as the most sensitive thing we hold. It is covered separately below because of where it goes.

Payment

We never receive your card details. Checkout is hosted by Stripe and card data never touches our servers. Stripe collects your name, billing address, card and any VAT ID directly. We store only identifiers and status — your Stripe customer and subscription IDs, whether your subscription is active, and when the period ends.

For each payment we keep an invoice record: amount, currency, your country, and whether it was a business purchase. We need this for VAT.

We also store a one-way, keyed fingerprint derived from your card by Stripe — not the card number, and not reversible. It exists only to stop the same card opening unlimited free trials.

Support and access requests

If you send feedback, we store your message. If you request access from the landing page while sign-ups are closed, we store the email address and message you submit — including any dietary details you choose to mention there.

Technical

Login sessions (a hash of the session token, timestamps, and your browser's user-agent string). Counts of AI tokens used, to enforce fair-use limits — this records how much was used, never what was in it.

We also keep a copy of what was sent to the AI and what it returned, plus any edits you make to its output, so we can tell where the AI gets things wrong. This copy includes your dietary restrictions. There is currently no way to opt out of this; if that matters to you, email us.

Our web server writes standard access logs containing your IP address, the page requested, and your user-agent. We do not put IP addresses in our database and we do not use them for analytics.

These logs are capped in size and rotate automatically — once the cap is reached, the oldest entries are deleted. They are not kept forever. We cap by size rather than by age, so we cannot honestly quote a fixed number of days: at low traffic a line may survive longer, at high traffic much less. The logs never contain the contents of your meal plans, and they never contain sign-in links or password-reset links.

Your dietary data goes to Google

To build a meal plan we send your request to Google's Gemini API. That request includes your declared allergens, your diet types (including halal, kosher, diabetic, low-FODMAP and baby-food), your free-text ingredients-to-avoid, your taste preferences, your household size and your fridge contents.

We do not send your email address, your name, or any account identifier. Google receives the content, not who you are.

The same applies to a receipt photo if you use the scanner (the image is sent), and to feedback you submit (the text is sent, to categorise it automatically).

After generation, we run our own deterministic check against your declared allergens and refuse to show a plan that fails it. That is a safety net on top of the model, not a replacement for reading labels.

We use Google's standard API. If you would rather not have this data processed this way, the honest answer is that Mealbot cannot generate plans without it.

Who else receives your data

WhoWhat they getWhy
Google (Gemini API) Your meal-plan request, including dietary restrictions, fridge contents, receipt images and feedback text. No identity. Generating plans and recipes
Stripe Your email and internal user ID; they separately collect your name, address, VAT ID and card Payments and subscriptions
Resend Your email address and the contents of the email we send you Sending sign-in, password-reset and verification email
GitHub The text of feedback you submit, filed to a private repository under a numeric ID Tracking reported bugs
Hetzner Everything, as our hosting provider Running the servers
Cloudflare DNS lookups for our domain Domain name resolution

That is the complete list. We do not sell your data, we do not share it for advertising, and no other company receives it.

Servers are hosted with Hetzner Online GmbH in Nuremberg, Germany, so your data is stored in the EU. Google, Stripe, Resend and GitHub may process data outside the EU under their own terms.

Cookies

We use three cookies and they are all strictly necessary, so there is no consent banner to click:

CookiePurposeLifetime
mealbot_atKeeps you signed in15 minutes
mealbot_rtRenews your session30 days
mealbot_csrfBlocks cross-site request forgery30 days

If you never sign in, we set no cookies at all. There is no analytics cookie, no advertising cookie and no session-replay script anywhere on this site.

Your browser also stores some things locally so the app works — who you are signed in as, your saved preferences, and your place in a recipe you are cooking. That stays on your device and is cleared when you sign out.

How long we keep things

WhatHow long
Login sessionsDeleted 7 days after they expire
Meal plans you never confirmedDeleted when you next generate a plan
Demo accounts and their dataAbout 2 hours
Database backups14 days
Your account and everything in itUntil the account is deleted
Invoice records (VAT)Kept after deletion, as tax law requires

Your rights — and what we can actually do today

Three of them you can exercise yourself, in Settings, without asking us: change your email address, download your data, and delete your account. For a correction, or to restrict how we use your data, email info@trymealbot.com and we will action it.

Being straight with you about what those two buttons do and do not cover, because a policy that overstates them is worthless:

You can also complain to the Czech data protection authority (Úřad pro ochranu osobních údajů).

Security

Passwords are hashed with bcrypt. Session, reset and verification tokens are stored only as SHA-256 hashes, are single-use, and expire. The site is HTTPS-only. Cookies are HttpOnly, Secure and SameSite. We use a strict Content-Security-Policy that blocks third-party scripts. Card data never reaches our servers.

No system is perfect. If you find a security problem, please email us — we would much rather hear it from you.

Children

Mealbot is not intended for children under 16. The baby-food option is for adults planning food for an infant; we do not knowingly collect data from children.

Changes

If we change this policy we will update the date at the top. If a change materially affects how we use your data, we will email you about it.