Privacy Policy
Last updated: July 3, 2026
Privacy at a glance
We respect your privacy and keep data collection minimal. We don't sell your information or track your activity across other websites. To run the app, we only collect what's necessary: your email for sign-in, your subscription status for billing, and (for Pro users) your scan history. You can find more details below.
ShowMacros is a Chrome extension that estimates calories and macronutrients for recipes you view in your browser. This document describes what data the extension handles and why.
What we collect
| Data | When | Why | Storage |
|---|---|---|---|
| Recipe text from the current page (ingredients, title, serving count) | Only when you click Analyze Recipe | To parse the ingredients and look up nutrition data | Processed in memory; not retained on our servers |
| Ingredient name queries | For each ingredient not already cached on your device | Sent to our proxy so we can query the USDA FoodData Central API | Logged transiently by Supabase Edge Functions (~7 days) |
| Anonymous device identifier (random UUID) | On first use | To enforce the 3-scan free trial before sign-in | chrome.storage.local on your device + a row keyed by this UUID on our server |
| Email and Google account ID | Only if you sign in with Google | To authenticate you, associate your subscription, and send receipts | Supabase Auth (us-east-1); Stripe customer record |
| Subscription state | If you subscribe | To unlock Pro features | Supabase public.subscriptions table |
| Usage counter (scans per month) | On each analysis | To enforce the 3-scans-per-month free cap | Supabase public.usage table |
| Saved recipes (Pro users only) | After each successful analysis | To provide synced recipe history across your devices | Supabase public.saved_recipes table |
| Daily streak + theme preference | When you scan a recipe / toggle the theme | UX | chrome.storage.local on your device |
Accuracy diagnostics (the cleaned name of an ingredient we couldn't confidently match, a coarse outcome label such as “missing” or “category estimate”, the estimated grams, the website host (for example allrecipes.com, never the page path), your anonymous device UUID, and the extension version) |
When an analysis produces a low-confidence or missing nutrition match, or when you manually correct a value | To find which ingredients our data handles poorly and improve the built-in nutrition tables | Supabase public.low_confidence_parses table |
| Product-usage events (event type, meaning a scan, a paywall view, or an upgrade click; whether the scan was allowed or blocked; your tier; the plan clicked; and either your signed-in user ID or a one-way hash of your anonymous device UUID) | On each scan and on free-cap / upgrade interactions | To understand how often the tool is used and set the free-tier limit fairly. First-party only, no third-party analytics | Supabase public.analytics_events table |
We do not collect browsing history, the content of pages you do not analyze, identifiers beyond the above, or any personally identifying data beyond what Google and Stripe provide when you authenticate or pay.
Who we share data with
- USDA FoodData Central (
api.nal.usda.gov) receives only the ingredient text you're looking up. Public, non-personal data service. - Supabase (our backend host) stores auth sessions, subscription rows, usage counters, and saved recipes.
- Stripe (payments) handles checkout and recurring billing. Subject to Stripe's privacy policy.
- LibreTranslate (
libretranslate.com) and MyMemory (api.mymemory.translated.net): if a recipe is in a non-English language, ingredient names are sent to these public translation services so we can match them against USDA's English-language database. Only ingredient text is sent, no account identifiers, URLs, or other recipe metadata. Note that MyMemory uses an HTTP GET request, which means the ingredient text appears in the request URL and may be retained in their standard web-server access logs. Neither service receives anything that identifies you. We do not control their data retention; please consult their respective privacy policies for details.
We do not sell data, run advertising, or share data with anyone outside the services listed above.
Your rights
- Delete your account: email support@showmacros.com and we'll erase your auth row, subscription record, usage counter, and saved recipes. Stripe records are retained as required by payment regulations.
- Export your data: same email. You'll receive the above as JSON.
- Cancel subscription: manage via the Stripe customer portal link in the extension popup.
- Accuracy diagnostics: we do not run advertising or cross-site analytics. The only diagnostic data we collect is the anonymized accuracy-diagnostics described in “What we collect”: the name of an ingredient we matched poorly (or that you corrected), an outcome label, the recipe site's host, your anonymous device UUID, and the extension version. It carries no page URLs, account identifiers, or personal data, and is used solely to improve nutrition accuracy. To stop sending it entirely, email support@showmacros.com and we'll exclude your device UUID.
Children
ShowMacros is not directed at children under 13 and we do not knowingly collect data from children.
Changes
We'll post changes here and bump the "Last updated" date. Material changes will be surfaced in the extension popup.