Last updated: July 2026
UrCartBuddy is operated by Lee Alexander, United Kingdom (privacy@urcartbuddy.com), who is the data controller for personal data processed through this service.
When you sign in with Google or Facebook we receive your name, email address, and profile picture. If you register with an email address and password instead, we store your email address and a securely hashed password — your password is never stored in plain text. We store these to identify your account and personalise your experience. Your account creation date, current subscription tier, and interface preferences such as whether help tips are shown, which help tips you have dismissed, and whether you wish to receive WhatsApp or Telegram notifications when collaborators check off items you added, are also stored. We also record the date and time you last used the app on the web or messaged our WhatsApp or Telegram bot, so we can maintain the service and understand overall usage.
We store the lists, items, tags, and categories you create. Each item records who added it, who checked it off, and when — so collaborators can see activity on shared lists. Items may also store an optional description — free-text notes, substitution preferences, or sizes — that you enter manually. Items created from image imports may also store package weight and QR/barcode metadata when detected, so richer item viewing and editing can be supported later. Lists may also store an optional source URL and title, such as the original recipe page used to create a recipe shopping list, and per-list field display preferences (which optional item fields such as Brand and Weight are visible on that list).
You can attach files (photos, PDFs, receipts, or any other format) to items from the web app, or by sending a document or photo to our WhatsApp or Telegram bot. Attached files are stored on Cloudflare R2 object storage and are viewable by every member of the list the item belongs to. Files are subject to a per-user storage quota and a per-file size limit. When an item is archived, its attachments are scheduled for permanent deletion after a short grace period; deleting an attachment from an item removes it immediately.
When the "AI attachment titles" feature is enabled for a list (enabled by default), the contents of newly uploaded attachments up to 15 MB are sent to Google Vertex AI (Gemini) solely to generate a short descriptive title. File contents are not retained by us beyond the AI request. You can disable this at any time per list under List Settings → AI → AI attachment titles.
When you share a list, we store the membership relationship (your user ID, the list, your role, and when you joined) so that collaborators can access the shared list.
To understand whether the service is useful, we record the UTC days on which an authenticated account meaningfully uses the web app, WhatsApp bot, or Telegram bot, and a small fixed set of home-screen install prompt outcomes. These records contain an internal user ID, date/time, channel, and fixed event name only. They do not contain shopping-list or item content, messages, contact details, IP addresses, location, referrers, or browser user-agent strings. We use no third-party analytics or advertising identifiers. Administrators see aggregate adoption and retention results, not individual behavioural timelines.
When you invite someone, we store the invited email address or phone number, the inviting account and list, delivery method and status, attempt timestamps, expiry, and a masked form for display to the list owner. Invitation links are single-use and expire after seven days. We store a cryptographic hash for lookup and a protected copy solely so the background delivery service can include the link in the invitation message; raw invitation tokens are not logged. Email invitations may be sent to people who do not yet have an account.
When you share a list to a phone number that doesn't yet belong to a UrCartBuddy account, we create a placeholder record for that number so the list can be accessed via WhatsApp. If the owner of that number later signs in with Google and adds the same phone in their Profile, the number is treated as unverified — and stored with a verification timestamp of "none" — until they send an inbound message to our WhatsApp bot from that number. That inbound message proves ownership, at which point we link the placeholder's list memberships and history to their signed-in account and remove the placeholder. We record the date and time of phone verification on the account.
If you choose to link your WhatsApp number, we store it to route incoming messages to your account. If you connect Telegram, we store your Telegram user ID, chat ID, optional username, and display name so private bot messages can be routed to your account. List invite and Telegram connection QR links use short-lived tokens, and Telegram list invite links may create a minimal account for the invited Telegram user. Message content is processed to manage your lists and is not stored beyond what is needed to fulfil your request. For larger WhatsApp or Telegram imports, we may temporarily store a draft import session containing the proposed item names, quantities, detected package weight or code metadata, target list, and tags so you can review them through a secure magic link before saving. Treat this review link as sensitive: anyone who opens it can edit and save the draft into your own lists. Do not forward it. We also temporarily store the latest pending chat confirmation for your phone number or Telegram user ID so replies such as "yes", "no", or "tag with freezer" apply to the correct recent import. After a WhatsApp or Telegram item action or import is confirmed, we keep a short list of the item names just added for around two hours so follow-up replies such as "tag with freezer" or "delete it" apply to the correct items. If you have a phone number or Telegram account linked, you may also receive an automated WhatsApp or Telegram message when a collaborator on a shared list checks off and archives items you originally added. This is controlled by a per-account preference in your Profile and is on by default.
If you ask UrCartBuddy to find a recipe and import its ingredients, your recipe request is used to search the web, fetch a recipe page, and extract ingredients. We store the resulting shopping items, any recipe tag applied to them, and the source recipe URL/title when attached to an import or list, but we do not store a separate copy of the full recipe page.
If you enable browser push notifications, we store your browser's push subscription endpoint and associated encryption keys in order to send you real-time list updates.
When items are archived, some may be flagged internally as candidates for improving our automatic item-sorting feature. No personal identifiers are used in this process — only the item name text.
When an AI feature is used, we store usage metadata linked to your account so we can measure service cost, monitor reliability, and prevent abuse. This includes the source feature, AI provider and model, specific AI interaction type, token counts, timing, success or error status, and related channel or list IDs where relevant. We do not store the prompt text, AI response text, recipe page text, images, or shopping item content in these usage records.
We also store a per-account monthly AI spend cap (an optional override and timestamps for when 90% and 98% warnings were shown each month) so we can enforce a per-user monthly limit and pause AI features when exceeded. See AI usage limits for details.
UrCartBuddy offers a free trial followed by a paid subscription. Current pricing is shown before you subscribe on the Billing page. When you subscribe, payment is processed by Stripe. We store your Stripe customer ID and subscription status so we can determine whether your subscription is active. We do not store your card number or full payment details; those are held exclusively by Stripe. If you were referred by a partner, we store the referral attribution so the partner can be credited appropriately. Subscription status and period dates are retained until you delete your account.
If you use the contact form, your name, email address, and message are sent to us by email. This information is not stored in our database.
Our servers produce standard application logs (errors, warnings, key events such as sign-ins and account deletions). Logs are retained for up to 30 days and are used solely for diagnosing technical issues.
We do not sell your data or share it for advertising purposes. Data is shared only with:
Under UK GDPR you have the right to:
To exercise any of these rights, email privacy@urcartbuddy.com. We will respond within 30 days.
If you are unhappy with how we handle your data, you have the right to lodge a complaint with the UK Information Commissioner's Office (ICO) at ico.org.uk. We would appreciate the chance to address your concern first — please contact us at privacy@urcartbuddy.com.
UrCartBuddy does not use tracking or advertising cookies. We use browser
localStorage solely to keep you signed in between sessions.
No third-party cookies are set.
UrCartBuddy is not intended for use by children under the age of 13. We do not knowingly collect personal data from children. If you believe we have inadvertently collected such data, please contact us at privacy@urcartbuddy.com and we will delete it promptly.
We may update this policy from time to time. Material changes will be notified via the app or by email. The date at the top of this page shows when it was last revised.
Data controller: Lee Alexander, United Kingdom.
Email: privacy@urcartbuddy.com