Skip to content

Privacy Policy

Effective Date: August 20, 2026

Short version: we keep as much as we can on your device, we back up your health log to your account so a new phone does not mean losing your history, we don't sell your data, and we don't run ads. Below is the full picture in plain English so you know exactly what leaves your phone and why.

This policy covers the CarbLens AI iPhone app and this website (carblensapp.com). "We," "us," and "our" mean Viral Builders. "You" means you.

1. What we collect

Stuff that stays on your device

CarbLens keeps your working data locally on your iPhone using Apple's built-in storage (SwiftData + the iOS Keychain):

  • Meal log entries — food photos, notes, carbs / insulin / glucose at time of log, and timestamps
  • Your settings and preferences
  • If you connect a CGM: your service login (Dexcom Share username + password, Abbott LibreLinkUp email + password) — kept in the iOS Keychain, which is hardware-encrypted on modern iPhones

Your CGM credentials never touch our servers — the app talks to Dexcom or Abbott directly on your behalf.

Cloud backup of your health log

So that "I got a new phone" stops meaning "I lost a year of logs," the app backs up your health log to your account on our servers (Supabase):

  • Your glucose readings (timestamp + mg/dL value) pulled from your connected CGM
  • Your meal records — food name, carbs and macros, insulin units you logged, glucose at log time, notes, and the post-meal glucose readings attached to each meal
  • Meal photos are NOT uploaded — they stay on your device

This backup is protected by row-level security so only your account can read it — it is not visible to friends, groups, leaderboards, or anyone else. It exists to restore your history when you sign in on a new device, and it is deleted when you delete your account.

Stuff that goes to our servers when you use social features

If you make an account and use the community side of the app (friends, group chats, leaderboards, sharing logs), we store the minimum needed to make that work:

  • Your CarbLens account: a display name, an @handle, a friend code, an optional avatar and short bio, and — if you sign in with Apple or Google — the anonymized user ID your provider gives us. We don't get your Apple/Google password.
  • Anything you post inside the app: chat messages, log summaries you choose to share into groups or DMs, reactions, group membership.
  • The wellbeing stats that make the game work: your time-in-range percentage (today + last 30 days) and your logging streak.
  • Basic session metadata: whether you're premium, notification tokens (so we can send push notifications you asked for), and error logs that help us fix crashes.
  • Product-analytics events to help us see where onboarding stalls, where a scan errors out, whether people find the paywall: signup, app-foregrounded, per-onboarding-step view, meal-scan success / error, paywall view / purchase-click / purchase-complete. Each event is tagged with a session UUID that rotates on every cold-launch (so we can group actions into a single open — no cross-session tracking) plus the app version. No content of your meals, messages, or numbers is inside these events — just the fact that the action happened.

We only ever pull the specific fields we need to render a feature.

Location (only if you turn on "near you")

Off until you turn it on. When you do, we save your rough location (about 1 km accuracy — never your exact spot) and your city, so we can show you diabetics within ~100 miles. It only updates when you use the feature again. No background tracking. Other users only ever see your city and rough distance.

Stuff the AI sees

When you take a photo of a meal and ask CarbLens to analyze it, the photo (and any hint you type) is sent to our AI provider (currently Anthropic's Claude API) to generate the carb / macro estimate. The image is used only for the immediate analysis. We don't build advertising profiles from it.

When you ask CarbLens a question, your question goes to the same AI provider along with a summary of your recent numbers — current BG, time-in-range, averages by time of day, recent boluses and how they went, recent meals / lows / highs. Summaries only, never your full reading history, and only for that one answer.

CGM data

If you connect a CGM service, the app sends your credentials directly to that provider to authenticate and pull your live glucose data:

The readings the app pulls live on your device and in the private cloud backup described above. Separately, we compute a daily time-in-range summary (one number per day) that powers the friends/leaderboard side of the app — that summary is essentially "you were 78% in range on July 12."

When you take part in the daily / weekly / monthly battle features with friends or groups, the app posts automated summary messages into those chats on your behalf — for example, "Ian took the day · 92% to 87%" for a daily battle result, or "Ian had the best month · 87% TIR" for a monthly champion post. Those posts include your daily or 30-day TIR percentage and are visible to the people in that chat. They're derived from the daily summaries, not raw readings.

Email

If you email us for support, we keep the thread so we can help you. If you sign up for updates anywhere on this site, we store that email only to send you those updates, and you can unsubscribe any time.

2. Why we use it

Just to make the app work. Specifically:

  • Show your history, streaks, and in-range percentage
  • Restore your log when you sign in on a new phone
  • Let you log meals and get an AI carb estimate
  • Fetch glucose readings from your CGM
  • Deliver messages between you and friends, and in groups you join
  • Send you the notifications you turned on
  • Fix bugs when the app crashes

We do NOT:

  • Sell your personal info
  • Rent it out to marketers
  • Run advertising SDKs
  • Feed your data into training our own AI models
  • Look at your data unless we're actively debugging a bug you reported (and even then, we look at as little as we need)

3. Who we share it with

Only these:

  • Your CGM provider (Dexcom / Abbott) — to fetch your readings when you use that feature
  • Our AI provider (Anthropic Claude) — for the immediate analysis / answer, one request at a time. Anthropic doesn't train on this data per its agreement with us.
  • Supabase — our backend and database host
  • Apple / Google — for sign-in (Sign in with Apple, Sign in with Google) and push notifications
  • Law enforcement, but only if legally required — and we'll push back on anything that looks overbroad

Nobody else. No brokers, no ad networks, no analytics vendors we haven't listed.

4. Friends, groups, and what other users can see

If you use the community features, other users you're connected with can see:

  • Your display name, @handle, avatar, and bio
  • Your equipped profile cosmetics (frame + title)
  • Messages you send them in DMs or groups you share
  • Log summaries you share into a chat — including the meal photo, food title, and carb estimate for meals
  • Your time-in-range percentage (today + 30-day rolling) — this is the whole point of the friends leaderboard
  • Automated battle recap messages posted in chats on your behalf: daily winner posts, weekly recaps, monthly champion announcements. These fire from the daily/weekly/monthly cycle — you don't tap Send.
  • Battle stats in a shared friend or group leaderboard — daily wins, monthly-crown count, current streak, longest streak
  • Optional BG-state chirps you can turn on ("Ian is stuck low — someone check on him"). These are OFF by default and only fire if you explicitly enable them in Settings → Notifications.

Public / world-wide surfaces

If you keep your account public (default) and diabetes-data-public (default), your 30-day TIR and rank are visible more broadly than your friends:

  • The world leaderboard — users ranked by 30-day TIR. Requires at least 3 qualifying days (~12h of CGM coverage each) to appear.
  • World champion of the week — whoever holds #1 on the world board on Monday morning gets a champion pill on other users' Home screens for the week.
  • Monthly medals — a top-100 calendar-month finish stamps a permanent medal onto your profile card.
  • Rank on your profile card — anyone who taps your profile can see your world rank alongside your name.

You can turn all of this off by flipping "Diabetes data public" off in Settings → Your Profile (that hides your TIR chart, wins, rank line, world-board eligibility, and medal shelf from everyone who isn't already a friend), or by setting your account to private, which hides you from strangers entirely.

They can NOT see:

  • Your raw glucose readings or your private backup
  • Your notes, insulin doses, or personal medical details
  • Your account settings

If you want stronger privacy, you can remove a friend at any time, leave any group, mute an individual DM, turn off any notification category, flip "Diabetes data public" off, set your account to private, or delete your account entirely (below).

5. Kids

CarbLens isn't directed at kids under 13. We don't knowingly collect data from anyone under 13. If you're a parent and think your child gave us data, email us and we'll delete it.

6. Your controls

  • See it — most of it is visible right in the app (your profile, your logs, your friends, your groups). If you want anything else, email us and we'll export it for you.
  • Export it — the Journal's share button generates a CSV of all your meals any time.
  • Fix it — you can edit profile info from Settings.
  • Delete it — you can delete individual meals, leave groups, remove friends, or nuke your entire account from Settings → Delete Account. Account deletion removes your profile, messages, stored TIR summaries, and your cloud health backup (glucose readings and meal records). Data that never left your device is wiped when you delete the app.
  • Disconnect your CGM — clears your CGM credentials from the iOS Keychain. Do this any time from Settings.
  • CCPA / GDPR — if you're in California or the EU, you have specific rights (access, deletion, portability, objection to processing, etc.). Email us and we'll walk you through it.

7. How we protect it

  • Local data: iOS sandboxing + at-rest encryption
  • Credentials: iOS Keychain (hardware-encrypted)
  • In transit: HTTPS / TLS to every backend and provider
  • Server side: row-level security so users only see their own rows (or rows friends have shared with them), with standard hardening on Supabase — encrypted at rest, audit logs, private schemas for sensitive fields. Your health backup is owner-only.

No system is perfect. If we ever have a security incident that materially affects you, we'll let you know as required by law.

8. Where we're based, where the data goes

Viral Builders is based in the United States. Our backend (Supabase) and AI provider (Anthropic) also run out of the U.S. If you use CarbLens from outside the U.S., your data will be transferred to and processed in the U.S. Using the app means you're OK with that.

9. Not medical advice

CarbLens is a logging + tracking tool. It's not a medical device, and nothing in it — carb estimates, the bolus math it prefills from a ratio you entered yourself, Ask CarbLens answers — is medical advice. The app never recommends insulin doses. Always work with a qualified healthcare professional for diabetes management decisions.

10. Changes

We may update this policy. When we change something material, we'll update the Effective Date at the top and, when it matters, we'll try to give you notice inside the app.

11. Contact

Questions, requests, complaints, "hey I want to see everything you have on me" — viralbuildersllc@gmail.com