Draft. This page still has open items and isn't final yet.

Privacy Policy

The Perfect Bite
Effective: TODO date
Contact: support@perfectbite.app

The Perfect Bite is a grocery list, recipe and meal plan app you share with your household. This policy explains what we collect, why, who else sees it, how long we keep it and how to delete it. “We” means John Gerard Paschal.

The short version

What we collect

Your account

When you sign in with Google, we receive and keep your email address, your name and your profile picture. When you sign in with Apple, we receive your email address and your name once, the first time you sign in; Apple shares no picture. If you choose Apple’s Hide My Email, the relay address Apple makes is your email everywhere in the app, including in invitations. Your name and picture are shown to the other members of your households. We also record when you created your account and when you last signed in.

A few accounts sign in with an email address and password instead (used for Apple’s app review). They’re treated like any other account.

What you put in the app

We store, on our servers:

All of this belongs to the household, not to the person who added it, and every member of that household can see it. When someone deletes something, it’s gone from the app, but it can stay in the household’s data on our servers until the household is deleted. Photos and scanned pages are stored privately: in the app, only members of the household can open them. Our admins can view AI photos and, to fix problems, can reach any stored file (see Who can see your data), and photos you import from are sent to an AI provider if you use AI to import them (see AI features).

We also store your own settings, which only you can see: your default list, your aisle order, your notification settings (including quiet hours and your time zone), and your answer about AI features (and when you gave it).

Ingredient names

When you add an ingredient, its normalized name (for example “cucumber”) joins a shared ingredient catalog used by everyone, so the app can sort it into an aisle. The catalog never records who added a name. Anyone signed in to Perfect Bite can read the names in it, but not who added them or how many households use them. We count how many households have used each name, and only we can see that count. The app never suggests a name another household typed: your suggestions come only from the app’s built-in list, your household’s own items and names your device has already seen.

Notifications

If you turn on notifications, we store your device’s push token and platform (iOS or Android). A notification contains the list name, the first name of the person who added items, and up to two item names, or the name of a recipe they added from. When a recipe import finishes, it contains the recipe’s name and the list or household it was saved to.

Activity log

We record the changes you make that reach our servers: for example, adding or checking off an item, creating or editing a recipe, planning a meal, or joining a household. Each entry records what was done, when, in which household, and the names of the things involved (such as the item, list or recipe name), even if they were later deleted. It never records the text of notes, recipe steps or descriptions, or the email address of someone you invite. We don’t record what you look at, search for or tap on.

Error reports

When the app or our servers hit an error, we send an error report to Sentry. It identifies you only by an internal account id, never your email, and includes technical details about the error and your device. We remove the values we know errors can quote from your lists and recipes, but we can’t guarantee an error message never contains a fragment of them.

Technical details

When your device connects to our servers, our service providers record its IP address and basic details such as the device model, operating system and app version. We use these only to keep the service secure and working: to spot and stop abuse, and to find and fix errors. We don’t use them for ads or to track you.

If you email us

If you email us, we keep your address and message for as long as we need them to help you. Our email provider handles them too.

On your device

The app keeps a copy of your household’s data on your phone so it works offline, along with your sign-in session and device-only settings. If you use the share sheet to save a recipe from a web page, the app’s share extension reads that page’s address, title, text, recipe data and main image address so the recipe can be imported. If you share photos of a recipe, they’re uploaded to our storage while the import runs and deleted about a week after it finishes. So it can upload in the background, the share extension uses a credential of its own, kept in your phone’s keychain for up to 90 days and revoked when you sign out. If you use Siri to add items, what you said is kept on your phone until the app adds it to your list.

AI features

AI features are optional. After you sign in, the app asks you once whether to use them, with two choices, Allow and Don’t allow. Your answer is yours alone: it doesn’t depend on your household or plan, and other members choose for themselves. You can change it at any time in Settings > AI features.

If you allow them, these features send your content to an AI provider to do their job:

Feature What’s sent
Sort items into aisles New item names
Import recipes from links, in the app or the share sheet The page’s text and recipe data
Import recipes from photos, in the app or the share sheet The recipe photos
Suggest tags The recipe’s name, notes and ingredients
Match ingredients to steps The recipe’s steps and ingredients
Generate recipe photos The recipe’s name, ingredients and cuisine. Claude turns them into a short description, and only that goes to OpenAI.

Recipe imports, tag suggestions and step matching go to OpenAI, or to Anthropic (Claude) when OpenAI can’t answer. Sorting and the photo descriptions go to Anthropic. AI photos are drawn by OpenAI, which also checks the description against its content rules before drawing. These providers process the content to answer the request under their terms for API customers, which don’t let them use it to train their models. If we ever send your content to another provider, or send something new, we’ll ask you again first.

If you don’t allow them (or haven’t answered yet), your app sends nothing to an AI provider. Everything else in the app works: new items you add go to Other, where you can move them to any aisle, and recipe import, tag suggestions, step matching and AI photos are off. Turning AI features off later stops new requests right away, including imports still waiting to run, but doesn’t delete logs already kept; they expire on the usual schedule below.

Your answer controls only what your own app sends. In a shared household, a member who allows AI can use it on any of the household’s recipes, including ones you added or edited, so a recipe’s name, notes, ingredients and steps may be sent at their request. The names of items you add to a list are the exception: they’re only ever sent for sorting from your own device, so another member’s app never sends them.

We keep a log of each AI request, including what was sent and what came back, with your account and household, so we can fix problems and prevent misuse. Images you photograph are never stored in that log, only a fingerprint of them. Logs are deleted after 30 days. A request flagged by a safety check (for example, a photo request that isn’t food, or one the provider refused) is kept for 180 days, along with the requests linked to it.

The 30 and 180 days are how long we keep these logs. Each AI provider also keeps the requests it receives for a while under its own terms, separately from us, for example to detect abuse, and its staff may review flagged requests. As of this writing, Anthropic and OpenAI keep them for up to 30 days, longer for requests they flag. We can’t delete the providers’ copies.

When you import from a link, our server fetches that web page. We keep a cache of what was extracted from a page for 30 days, with no record of who asked.

Who can see your data

We don’t share your data with anyone else, except if the law requires it.

What we don’t do

Because we don’t track you across other companies’ apps or websites, we don’t do anything differently when a browser sends a “Do Not Track” signal.

How long we keep it

Data Kept
Your account (email, name, picture) and your own settings Until you delete your account
Household content: lists, recipes, plan, photos and the household’s settings, including what you added As long as the household exists. It belongs to the household, so it stays when a member leaves or deletes their account. Something a member deletes is gone from the app, but can stay on our servers until the household is deleted
AI request logs 30 days (180 days if flagged)
Activity log 90 days
Recipe link cache 30 days
Photos shared from the share sheet, while importing About a week after the import finishes
Record of each recipe you share into the app (your account, household, the link and page title) 1 year
AI usage counters 40 days
Notification delivery records Up to 7 days
Photos you remove Deleted from storage within about 2 hours
Database backups TODO days, then overwritten
Operational logs kept by our service providers (server request logs, error reports) For the provider’s usual period, typically up to 90 days

AI providers keep their own copies of AI requests for their own periods; see AI features.

Deleting your data

You can delete your account in the app (Settings). When you do:

Deleting an item, recipe, list or plan entry removes it from the app for everyone in the household, but it can stay in the household’s data on our servers until the household is deleted.

A household owner can also delete a whole household, which deletes its lists, recipes, plan, photos and settings at once. Activity log entries and AI request logs that mention it aren’t deleted then: they expire on their usual schedule, and the AI logs lose their link to the household.

Your rights

The Perfect Bite is offered only in the United States. Depending on your state, you may have the right to see, correct, export or delete your personal data, or object to how we use it. You can delete your data in the app as described above. For anything else, email support@perfectbite.app and we’ll answer within 30 days.

Children

You must be 13 or older to use The Perfect Bite. We don’t knowingly collect data from anyone under 13. If you think someone under 13 has given us data, contact us and we’ll delete it.

Changes

If we change this policy, we’ll update the date at the top and, for significant changes, tell you in the app or by email.