Privacy policy
Last updated 5 November 2026
This policy explains what personal data the Zesd app and this website collect, why, who else handles it, how long we keep it, and what you can ask us to do. We have tried to write it so it can be read in one go.
The short version
- We collect what we need to plan your meals, build your shopping list and fill your basket at the supermarket you choose, plus what we need to keep the app working.
- Some of it is sensitive: allergies are health information, and you may tell us your children's names and ages. We use them only to choose recipes for your household.
- Text and photos you give the app's AI features are sent to OpenAI to be read or generated.
- We do not sell your data, show ads, or use your data for advertising.
- You can delete your account at any time, in the app or at zesd.co.uk/delete-account.
What we collect, and why
Your account
- If you use Zesd as a guest, we create an account with no name or email: just an internal number and a sign-in key kept on your device.
- If you sign in with Apple or Google, we receive your email address, the account identifier Apple or Google gives us, and, if your Apple or Google account has them, your name and profile picture. We use them to sign you in, to show your name and picture in the app, and to reply to you. Zesd has no password of its own, so we store none.
- Why we are allowed to: to provide the app you asked for (performance of our contract with you).
Your household and food preferences
- What we collect: who you shop for (each person's first name or nickname, their age, children's included, what they like and dislike, and their allergies and dietary needs); the diet you follow (for example vegetarian or vegan), the cuisines you prefer, whether we should favour price or quality, and your weekly budget band.
- What we use it for: to choose recipes and portion sizes that suit your household, and nothing else.
- What leaves us: what you type about likes, dislikes and allergies is sent to OpenAI so its model can turn it into a list of ingredients and allergens. The person's name and age are not sent with it.
- Health information. Allergies, and some dietary needs, are health information, a "special category" of data under the UK GDPR. We use it only with your explicit consent, which you give by entering it. The app says so under the allergies field. You can withdraw that consent at any time by removing it from the household member, or by removing the member. Recipes will then no longer be filtered for it.
- Children. You may tell us about children in your household. We use their name and age only to suggest recipes and portions. Don't enter anything about a child that you would not want used for that purpose.
- Why we are allowed to: to provide the app (contract); explicit consent for allergies and health-related dietary needs.
What you create
- Recipes you write, import from a link, dictate, or add from a photo.
- Meal plans, favourites, shopping lists, and the products chosen for each cart.
- Dictation: when you dictate, your phone's own speech recogniser (Apple's or Google's) turns your voice into text. We receive only the text, never the audio. The text is sent to OpenAI to be turned into a list of ingredients.
- Photos: when you add a recipe from a photo, the photo is stored on our servers and sent to OpenAI to read the recipe. We may cut the dish out of it to use as the recipe's picture.
- Imported links: when you import a recipe from a link, our servers fetch that web page and send its text to OpenAI to extract the recipe. The recipe keeps the link it came from.
- Other AI features: recipe text is sent to OpenAI to estimate cooking times, translate recipes and match ingredients to our catalogue; the recipe's name, ingredients and method are sent to OpenAI to generate a picture of the dish; and your meal plans are sent to OpenAI to compare them with NHS healthy-eating guidance.
- Reporting AI content: if you report a generated picture or recipe text, we keep the report, your reason, a copy of what you reported, and your phone model and app version. A report also alerts our team, as support messages do (see below).
- Suggestions: if you post a suggestion, other Zesd users can see it, with your first name or initials (never your email), and vote on it. Before it appears, its text is checked by OpenAI's model to keep spam and abuse off the board and to spot problems we should answer through support instead; a person on our team reviews anything the check is unsure about, and every suggestion from a guest. Your votes are private: others only see the count. To stop one person posting from many accounts, we record the device and IP address a suggestion came from. If you report a suggestion or hide someone's suggestions, we keep that too.
- Why we are allowed to: to provide the app (contract).
OpenAI processes what we send it to give us an answer. Under its terms for businesses, it does not use that data to train its models and keeps it for up to 30 days to detect abuse, then deletes it.
Your supermarket accounts
- Why we need them: to fill your basket, Zesd has to sign in to your account at the supermarket.
- What we store, depending on the shop: either the email and password you give us, or the session cookies from signing in on the supermarket's own login page inside the app; and, while a sign-in is running, any one-time code the shop sends you.
- How we protect them: they are stored encrypted on our own servers and read only when a cart load you asked for needs them. Sign-ins happen either in the app on your phone or on our own servers. We use them only to sign in as you at that supermarket, read your basket, and add the items you chose.
- What we never do: place an order, enter payment details or book a delivery slot.
- Screenshots: while filling your basket, we take screenshots of the supermarket's website so we can see what went wrong when a cart load fails. They show whatever that page shows, which can include your name, address, basket and past orders.
- How to remove them: in Profile → Shop logins, at any time. That deletes them.
- Why we are allowed to: to provide the app (contract).
Subscriptions
- If you subscribe to Zesd Premium: In the app, Apple or Google takes the payment; on our website, Stripe does, through RevenueCat. We never see your card.
- What we receive: through our subscription provider RevenueCat, we learn your plan, its status, the store you bought it in, and its start and end dates. We use these to unlock Premium and to keep our sales records.
- Why we are allowed to: to provide what you paid for (contract), and because the law requires us to keep sales records (legal obligation).
Support
- What we keep: support messages you send us, the screenshots you attach, and the phone model, system and app version, language and time zone they were sent from.
- Where they go: a new message is also posted to our team's private Slack channel and emailed to our own support mailbox at zesd.co.uk, with your email address and your message. New suggestions, and reports of them, are posted to the same Slack channel with the result of the check.
- Why we are allowed to: to answer you (contract).
Your device, and how you use the app
- With every request, the app sends its platform, app version and build number, the system version, your phone model, language and time zone. We use these to find and fix bugs.
- Notifications: if you allow notifications, we store the token your phone gives us for them.
- Analytics: we record what happens in the app, such as screens opened, buttons tapped, and whether a cart load worked. These events are linked to your account number and, if you signed in, your email address. That lets us see where the app fails people and answer support questions.
- Session recordings: we record replays of app sessions to understand problems that can't be reproduced from a description. They show what was on the screen. These parts are hidden and never recorded: supermarket passwords and one-time codes; your household (names, ages, likes, dislikes and allergies); your support messages and screenshots; the suggestions you write; your name, email and picture; and your supermarket usernames. If you would rather not be recorded at all, email us and we will exclude your account.
- Crash reports record what went wrong, on which device and app version.
- IP address and approximate location: our analytics provider (PostHog) and our crash-reporting provider (Sentry) receive your device's IP address. PostHog works out an approximate location from it (country and city, never your exact position). We use it to understand where the app is used, and to tell app-store reviewers' tests apart from real users. The app never asks for your location.
- Why we are allowed to: our legitimate interest in an app that works and gets better. You can object at any time by writing to us. Notifications rely on your consent, which you can withdraw in your phone's settings.
AI assistants
If you connect Zesd to an AI assistant such as ChatGPT or Claude, we keep the permission you granted, so the assistant can plan meals and fill your basket for you. What you say to the assistant is handled by its own provider, under its own privacy policy. You can remove the connection by deleting your account, or by asking us.
Who else handles your data
We don't sell your personal data and we don't use it for advertising. We rely on these companies to run Zesd. Each acts on our instructions and receives only what its job needs.
| Who | What for | What they receive | Where |
|---|---|---|---|
| OVH | Our servers and database | Everything the app stores | France |
| Amazon Web Services | Storing photos and screenshots; hourly database backups | Photos, screenshots, encrypted backups | London, UK |
| Amazon Web Services | Sending our emails | Your email address and the email | Ireland |
| OpenAI | Reading recipes, photos, dictation and household preferences; generating dish pictures; checking suggestions | The text or photo needed for each task, not your name or email | United States |
| PostHog | Analytics and session recordings in the app; analytics on this website | Usage events, recordings, account number, email address, IP address | EU (Germany) |
| Sentry | Crash and error reports | The error, device details, IP address | United States |
| RevenueCat | Subscriptions | Account number, email address, purchases | United States |
| Stripe | Card payments for Zesd Premium on our website, through RevenueCat | Email address, card details, billing country | United States |
| Apple, Google | Sign-in, payments in their stores, delivering notifications to your phone, speech recognition on your phone | What they need for each, under their own policies | Their own locations |
| Expo | Sending push notifications | Your notification token and the notification | United States |
| Slack | Our private support channel | Your email address and support message, or report of AI content | United States |
| Migadu | Our email mailboxes at zesd.co.uk, including support@zesd.co.uk and our support alerts | Emails you send us; your email address, message and device details in support alerts | Switzerland |
| Supabase | Sign-in for older versions of the app, until we retire it | Email address and account identifier of accounts created before October 2026 | United States |
| Network and anti-bot providers | Connecting to supermarket websites from a UK address, and getting through their bot checks and CAPTCHAs | The connection to the supermarket, never your Zesd account, email or supermarket password | Varies |
| The supermarket you choose | Filling your basket | Your sign-in, and the items you add, exactly as if you did it yourself | UK |
Transfers outside the UK. Where one of these companies handles data outside the UK, the transfer is protected by a UK "adequacy" decision (France, Germany, Ireland, Switzerland, and US companies certified under the UK extension to the EU–US Data Privacy Framework) or by the UK International Data Transfer Addendum to the EU Standard Contractual Clauses in our contract with them.
We will also disclose data if the law requires it, or to establish or defend legal claims.
How long we keep it
| Data | How long |
|---|---|
| Account, household, preferences, recipes, plans | While your account exists |
| Supermarket logins and cookies | Until you remove that shop or delete your account |
| One-time codes from a supermarket | Removed when you delete your account |
| Support messages and screenshots | While your account exists |
| Suggestions and votes | While your account exists; after that your suggestions stay on the board without your name, and your votes are removed |
| Session recordings (PostHog) | 30 days |
| Analytics events (PostHog) | While your account exists, then kept without your email or location |
| Website visits (PostHog) | Kept as anonymous statistics, never linked to an account |
| Crash reports (Sentry) | Up to 90 days |
| What OpenAI receives | Up to 30 days |
| Database backups | 7 days |
| Screenshots of the supermarket's website taken while filling your basket | 14 days |
| Which Zesd tools an AI assistant used for you, and when | 180 days |
| RevenueCat's notices of a purchase, renewal or refund, as we received them | 90 days |
| Our servers' logs, which record the IP address of each request | 30 days |
| Purchase records (RevenueCat, Apple, Google) | 6 years, the UK requirement for sales records |
How we protect your data
- In transit: everything between the app or this website and our servers travels over HTTPS. Our servers refuse unencrypted connections.
- Supermarket logins: usernames, passwords and session cookies are encrypted before they are written to our database, with a key that is kept separately from it. A copy of the database alone does not reveal them.
- Your email address is encrypted in our database in the same way.
- Signing in: we store only a one-way fingerprint of the key that keeps you signed in, never the key itself, so it can't be read back from our database.
- Stored files and backups: photos, screenshots and database backups are kept in Amazon S3, which encrypts everything it stores.
- Logs: our servers remove passwords, email addresses, cookies, codes and keys from what they log.
- Who can see it: only our small team can sign in to our admin tools, each with their own account. Repeated sign-in attempts are limited.
- Session recordings hide the screens and details listed above.
No system is perfectly secure. If a breach puts your data at risk, we will tell you, and the Information Commissioner's Office, as the law requires.
Deleting your account
You can delete your account at any time:
- in the app: Profile → Delete account
- without the app: at zesd.co.uk/delete-account, where we email you a confirmation link
- if you can't get into your mailbox, or used Zesd as a guest: email support@zesd.co.uk.
It is free and takes effect at once. Your data is deleted, or anonymised so it can no longer be linked to you.
Deleted
- your email address, your Apple or Google sign-in, and the name and picture that came with it
- your supermarket logins and sessions, and the one-time codes your supermarket sent you
- your household: the names, ages, likes, dislikes and allergies of the people you shop for
- photos you took or uploaded, and the screenshots taken while filling your basket
- what you wrote to support, and the reasons you gave when reporting AI content
- the links you imported recipes from, and what you dictated
- your notification token, and any AI assistants you connected
- your session recordings (deleted, or they expire within 30 days at most)
Kept, anonymised so it can no longer be linked to you
It sits under an internal account number that no longer leads to anyone:
- your recipes (without your own photos) and meal plans, favourites, shopping lists and cart loads. If you would rather these went too, email us and we will remove them.
- records of recipe imports, support requests (category, dates, phone model and app version) and usage events, without anything that identifies you
Kept because the law requires it
- the record of any purchase, for six years, without your email address
Goes on its own, later
- database backups after 7 days
- crash reports after up to 90 days
Deleting your account does not cancel a subscription. Cancel it in your App Store or Google Play settings.
Your rights
Under UK data protection law you can ask us to:
- give you a copy of your data
- correct it
- delete it
- restrict how we use it
- object to how we use it, including to analytics and session recordings
- send it to you or someone else in a reusable format
- withdraw your consent where we rely on it (allergies, notifications), without affecting what we did before
Email support@zesd.co.uk. It is free, and we answer within one month.
We make no decisions about you by automated means that have legal or similarly significant effects. Recipe suggestions are just suggestions.
If you think we have handled your data badly, please tell us first so we can put it right. You can also complain to the Information Commissioner's Office at ico.org.uk/make-a-complaint.
Children
Zesd is for adults doing a household food shop. It is not directed at children, and we do not knowingly let anyone under 16 have an account. If you believe a child has an account, email us and we will delete it. Parents may enter their children's names and ages as household members, as explained above.
This website and cookies
This covers zesd.co.uk, including the pages that show a shared recipe or meal plan. We use PostHog to count visits and see which pages and links people use. Nobody is identified, and a visit is never linked to a Zesd account.
- What is recorded: the pages you open, the site or link that brought you here, the buttons and links you click (including the App Store and Google Play buttons), your browser, device type and screen size, and an approximate location (country and city) that PostHog works out from your IP address. Shared recipe and meal-plan pages also record a "link opened" event. We do not record what you type or what is on your screen.
- Before you choose, or if you never do: nothing is stored on your device. PostHog keeps its identifier in the page's memory only, so every page you open counts as a new, anonymous visit.
- If you accept: PostHog stores one cookie holding a random identifier, so we can tell a returning visitor from a new one, and keeps a few details of the current visit in your browser's session storage, which is cleared when you close the tab.
- If you reject: PostHog is not loaded at all, and nothing about your visit is sent to it.
- Changing your mind: use "Cookie settings" at the foot of any page. If you withdraw, PostHog's cookie is deleted straight away.
- Why we are allowed to: the PostHog cookie only with your consent; the anonymous count before you choose on our legitimate interest in knowing how the site is used, which you can object to by pressing Reject.
- Account deletion: the deletion page works whatever you choose. If you request deletion there, we use the email address you enter only to send the confirmation link.
- No advertising: the site runs no advertising, and its fonts are served from zesd.co.uk itself.
| Cookie | What it is for | How long it lasts |
|---|---|---|
zesd_consent |
Remembers whether you accepted or rejected analytics cookies, and nothing else | 6 months, then we ask again |
ph_…_posthog |
PostHog's random visitor identifier. Only set if you accept | 1 year from your last visit, or until you withdraw |
_zesd_session |
The security check on the account deletion form. Only set on the deletion pages | Until you close your browser |
Changes
If we change this policy, we will update the date at the top. If a change affects you materially, we will tell you in the app.
ZESD LTD, registered in England and Wales, company number 15168580, registered office 48 Hopkin Hopkins Row, London, England, E20 3BD.