Cookie Policy

Everything we store on your device, why, for how long, and how to refuse it.

v2.0 · 8 clauses

Everything we store, item by item

Generated from the declaration the service itself reads before storing anything. If it is not on this list, the service is not permitted to store it.

Strictly necessary

NameTypeSet byPurposeLasts
moodbite.device.iddevice keychainUsA random identifier stored on your phone by the MoodBite app, so we can count the two free searches and two Front of House conversations you get before creating an account. It is not linked to your name, email or any other detail, and it is not used for advertising or analytics.Why this needs no consent: Without it the free trial cannot be counted at all: the allowance would otherwise be tied to an account, and an anonymous account can be replaced in a single request, so the limit would enforce nothing and the cost of the trial would be unbounded. Creating an account ends this processing. The balancing test is recorded at docs/legal/device-identifier-lia.md.The searches and conversations it counts are deleted a year after each one.
mb_device_idlocal storageUsA random identifier stored by your browser, so we can count the two free searches and two Front of House conversations you get before creating an account. It is not linked to your name, email or any other detail, and it is not used for advertising or analytics.Why this needs no consent: Without it the free allowance is counted against your IP address instead, which is shared by everyone on the same office, campus or mobile network, so one visitor would exhaust it for all of them. Creating an account ends this processing. The balancing test is recorded at docs/legal/device-identifier-lia.md.Until you clear site data. The searches and conversations it counts are deleted a year after each one.
sb-*-auth-tokencookieUsKeeps you signed in and authenticates each request you make to your account. Without it you would be signed out on every page.Why this needs no consent: Strictly necessary to deliver the signed-in service you explicitly request. Authentication state cannot be held anywhere else.Up to 1 year, refreshed while you stay signed in
mb_consentcookieUsRecords the cookie choices you made, so we can honour them and so we are not asking you again on every page.Why this needs no consent: Strictly necessary: storing a refusal is required to give effect to it. Regulators treat the consent record itself as exempt.6 months
mb_regioncookieUsRecords which country your request arrived from, so we apply the correct privacy rules for where you are. It holds a two-letter country code and nothing else.Why this needs no consent: Strictly necessary to comply with a legal obligation: without it we cannot tell whether prior consent is required for your region, and would have to assume the stricter rule for everyone.6 months
__cf_bmcookieContent delivery and security networkDistinguishes people from automated traffic so the service stays available and abuse is blocked.Why this needs no consent: Strictly necessary for security and availability of the service requested. ICO treats fraud-prevention and load-management storage as exempt.30 minutes
moodbite-v2, moodbite-runtime-v2service worker cacheUsStores the pages and images that make up the app so it loads quickly and keeps working on a poor connection.Why this needs no consent: Strictly necessary to deliver the offline-capable application explicitly requested. Contains no identifiers and no behavioural data.Until you clear site data or a new version replaces it
moodbite.firstRun.v1app storageUsWhether this phone has been shown the app’s opening, so you are not asked to consent again on every launch.Why this needs no consent: It exists so the consent question is asked once. Without it the app would re-ask on every launch, which trains people to tap past it and is the opposite of a freely given choice.Until you delete your account, or ask to replay the first run.
moodbite.justSignedUp.v1app storageUsA single marker that an account was just created, so the app asks about food preferences once rather than at every launch.Why this needs no consent: Required to complete the sign-up the user asked for. It holds no information about the person and is removed the first time it is read.Read once and deleted immediately.
moodbite.consent.v1app storageUsThe two choices you made in the app, so we do not ask again and so a refusal is actually kept: whether this phone may remember things between launches, and whether what you write may be sent to be read.Why this needs no consent: A record of a refusal must survive the refusal, or the refusal cannot be honoured. Recital 42 requires us to demonstrate consent was given; this is that demonstration, and it stores nothing beyond the two decisions, their date and the version of the inventory they were given against.Until you delete your account. A sign-out keeps the storage choice, because that is a choice about the phone, and clears the choice about what may be sent, because that is a choice about you.
currentMoodsession storageUsHolds the mood you asked for so the results page can answer it, and so a refresh or the back button does not lose it.Until you close the tab
moodAnalysissession storageUsKeeps the reading of your current search so returning to it within the same visit does not repeat the request.Until you close the tab
parsedFoodQuerysession storageUsKeeps your interpreted food search so navigating back to results within the same visit does not repeat the request.Until you close the tab
searchResultssession storageUsHolds the restaurants your current search returned, so going back to them does not run the search again.Why this needs no consent: Without it, returning to your results re-runs the search you already paid for with part of your free allowance, so pressing back would cost you a search you had already made.Until you close the tab

Preferences

NameTypeSet byPurposeLasts
moodbite_assistant_historylocal storageUsKeeps your Front of House conversations on this device, so a conversation with a restaurant is still there when you come back to it. Only the last 30 messages with each of your 10 most recent restaurants are kept.Until you clear the conversation, clear site data, or turn off functional storage.
user_discoveryserver recordUsIf you turn on Find people nearby, we keep a coarse area for you, about 2km across, so we can show you other diners in your area. We keep the area, never your position: it is rounded to a grid before it is stored, and it does not change while you move around inside that area. Other people are only ever shown how far away you are in wide bands, never a distance and never a point on a map.Why this needs no consent: Consent. Off by default, never enabled as a side effect of anything else, and withdrawing it deletes the record rather than marking it inactive.30 days from your last visit, then deleted automatically. Turning the setting off deletes it immediately.
moodbite.searchContext.v1app storageUsRemembers the mood you last searched, so switching to search-by-name does not lose what you were looking for.Six hours, then ignored and overwritten.
moodbite.location.manualapp storageUsThe area you chose to search from, so you are not asked again every time you open the app.Until you change it, sign out, or turn this off.
moodbite.calledBookings.v1app storageUsTables you booked yourself by telephone. These exist only on your phone: we never spoke to the restaurant, so there is no record of them on our side.Until you sign out, delete your account, or turn this off.
moodbite.restaurantNames.v1app storageUsRestaurant names against their map ids, so your bookings list can show a name rather than a code.Until you sign out, delete your account, or turn this off.
moodbite.taste.on.v1, moodbite.taste.since.v1, moodbite.taste.forgotten.v1, moodbite.taste.uses.v1, moodbite.taste.shows.v1, moodbite.taste.declined.v1app storageUsWhether you turned taste learning on or said not now, when, which facts you asked it to forget, and how often each fact has been used and shown so the same one is not repeated at you. The facts themselves are not stored: they are counted from your own bookings each time you look.Until you turn taste learning off, sign out, or delete your account.
moodbite.restaurantAlerts.v1app storageUsFor restaurant accounts only: how loudly this device should alert on a table request, and the hours it should stay quiet.Until you change it, sign out, or turn this off.
moodbite-user-storagelocal storageUsRemembers your in-app preferences between visits so you do not set them up again each time.Until you clear site data
locationModelocal storageUsRemembers whether you chose to use your device location or to enter a place yourself.Until you clear site data
manualLocationlocal storageUsRemembers the place you typed in, so you are not re-entering it on every search.Until you clear site data

There is no analytics or marketing section because there is no analytics or marketing storage in this service. Those categories exist in the system so that adding one would require it to be declared here first.