Privacy Policy
Last updated October 31, 2026
Bunlo is a weekly dinner planner for iPhone, iPad and Android. This policy explains what the app collects, why, and who receives it.
Your anonymous identifier
Bunlo has no sign-up. When you first open the app it creates an anonymous identifier that has no name, email address or password. The same identifier is used by our backend, RevenueCat, Mixpanel, Sentry and PostHog, so the data each of them receives is linked to it.
Data on your device
Your household size, budget, meal styles, dietary needs, allergies, loved and avoided foods, kitchen tools, pantry, meal plans and grocery lists are stored on your device. Reset app data in Profile deletes them from the device.
AI dinners and fridge scans
When you ask for AI dinners (a weekly plan, a swapped dinner or recipes from what is in your fridge), the app sends your household size, budget, meal styles, dietary needs, allergies, loved and avoided foods, kitchen tools and, depending on the request, pantry or fridge items and recipes to skip to our backend, which is hosted by Supabase.
The backend sends them to Anthropic (Claude) to write recipes for you, or to OpenAI if Claude is unavailable, and uses your dietary needs and allergies to filter out recipes that do not fit. When you scan your fridge or pantry, the app sends the photo to our backend, which sends it to Anthropic, or to OpenAI if Claude is unavailable, to name the food in it.
We do not store the photo. Anthropic and OpenAI receive these requests from our servers, not from your device. Each may keep API data for a limited time under its API data policies. Our backend does not store your preferences. It keeps the returned recipes or scanned item names with your identifier for up to 8 days, to apply usage limits and recover interrupted requests, and then deletes them automatically.
To check the quality, speed and cost of AI results, our backend also sends each AI request and its text result to PostHog, with your identifier and technical details such as the model used, timing and errors. Photos are not sent to PostHog.
Analytics
Analytics is on by default. The app sends product interactions, such as onboarding steps, plans viewed, recipes opened, paywall views and purchase results, to Mixpanel with your identifier, a device identifier, the app version and build, the platform and your locale. The app also gives Mixpanel a few profile values as broad groups: household size, weekly budget range, the store you picked, how many dinner nights you plan and whether you add breakfast or lunch.
It does not send your dietary needs, allergies or foods this way. Our backend tells Mixpanel when it sends you a trial reminder. The app turns off Mixpanel's automatic events and its IP-based location. We use analytics only to understand and improve Bunlo. Mixpanel also records screen recordings of app sessions (session replays) so we can see where the app is hard to use.
Replays show what is on your screen, including the answers you choose in the app (household, budget, store, dietary needs, allergies and avoided foods) and your pantry, meal plans and grocery lists. Text fields you type into are hidden, but what you add, such as foods to avoid, shows on screen like your other answers.
Replays also include a text outline of each screen, which leaves out your answers and anything you type. We use replays only to improve Bunlo. Mixpanel keeps them under its retention settings, and we never sell them.
Crash reports
Crash reports are on by default. Sentry receives crash data, performance data and technical diagnostics such as device model, operating system and app version, with your identifier, so we can fix problems. We do not add your preferences, pantry or meal plans to crash reports.
Purchases
On iPhone and iPad, Apple processes payments through the App Store. On Android, Google processes payments through Google Play. We never see your payment details. RevenueCat receives your identifier, product identifiers, purchase history and subscription status to manage your subscription. Our backend checks your subscription status with RevenueCat and keeps it with your identifier to apply AI usage limits. Purchase events are also sent to Mixpanel for analytics.
Apple Ads attribution
On iPhone and iPad, the app gets an attribution token from Apple and sends it to RevenueCat with your identifier. RevenueCat asks Apple whether you installed Bunlo from one of our Apple Ads ads and, if you did, which campaign, ad group and keyword led to the install, and keeps that with your subscription record.
We use it only to see which of our own ads bring people to Bunlo. It is not used to track you, not combined with data from other companies, and never sold. The Android app does not send it.
Trial reminder
If you start a free trial and then cancel it, Bunlo can remind you about 2 days before the trial ends. While your trial runs and notifications are on, the app sends your device's push token and time zone to our backend.
The backend uses them only to send this one reminder, through Apple Push Notification service on iPhone and iPad or Firebase Cloud Messaging on Android. You can turn it off in Profile with "Remind me if I cancel my trial", and the app then deletes the token from our backend.
Feedback
When you send feedback from Profile, the app sends your message, the app version, your operating system version and device model, with your identifier, to our backend. The backend passes them to PostHog so we can read them. We do not store the message in our database. Our backend keeps only a record that a message was sent, with your identifier, for up to 8 days to limit how many messages can be sent, and then deletes it automatically.
Data types we collect
All of the following is linked to your anonymous identifier. None of it is used to track you.
- Health (dietary needs and allergies): app functionality and personalized recipes, and analytics through session replays and AI quality checks
- Other user content (household, preferences, pantry and fridge items): app functionality and personalized recipes, and analytics through session replays and AI quality checks
- Photos (fridge and pantry scans): app functionality
- User ID and device ID (including the push token for the trial reminder): app functionality and analytics
- Purchase history: app functionality and analytics
- Product interaction: analytics
- Advertising data (the Apple Ads campaign, ad group and keyword that led to your install, iPhone and iPad only): analytics
- Crash data, performance data and other diagnostic data: app functionality
- Customer support (feedback messages you send from Profile): app functionality
Advertising and tracking
Bunlo shows no third-party advertising. We do not sell personal data, share it with data brokers or track you across other companies' apps and websites.
Service providers
Supabase (backend hosting), Anthropic (writing recipes and recognizing food in photos), OpenAI (the same when Anthropic is unavailable, and drawing recipe photos), RevenueCat (subscriptions), Mixpanel (analytics), Sentry (crash reports), PostHog (reading feedback you send and checking the quality of AI results), Apple (App Store payments and Apple Ads attribution), Google (Google Play payments), and Apple Push Notification service and Google Firebase Cloud Messaging (delivering the trial reminder). Each processes data only to provide its service to us.
Retention and deletion
Data on your device stays until you use Reset app data or delete the app. Our backend deletes AI results after 8 days. Our backend deletes your push token a day after your free trial ends, or when you turn off the trial reminder. Subscription records are kept by Apple or Google, and by RevenueCat, as needed to provide purchases and meet legal obligations.
Analytics and crash data are kept by Mixpanel and Sentry under their retention settings. Feedback messages and AI request records are kept by PostHog under its retention settings. To ask us to delete the data linked to your identifier, email us and we will help you find it.
Children
Bunlo is not directed to children under 13, and we do not knowingly collect personal information from them.
Changes
If this policy changes, we will update it here and change the date above.
Contact
Questions or deletion requests: topnotch.stdio@gmail.com.