Last updated: September 28, 2026
PlateLens is operated by VisionTech Solutions LLC, a Texas limited liability company ("we", "our", or "us"). We are committed to protecting your privacy. This Privacy Policy explains how we collect, use, disclose, and safeguard your information when you use our mobile and signed-in web applications.
This subsection describes analytics on the public platelens.app marketing and support website only. The rest of this policy covers the PlateLens mobile and signed-in web applications, except where a section expressly says otherwise.
_ga) to recognise a returning browser. Privacy Policyoppref) and we load OpenAI's measurement pixel so we can tell whether the visit led to an app download. It stores that click identifier (__oppref, 30 days) and a randomly generated browser identifier (__obref, 365 days) on your device, and reports to OpenAI the page you landed on, your approximate location, your IP address and your browser's user agent. OpenAI acts as an independent data controller for this information and also uses it to develop and improve its own products and services. Privacy PolicyIf you connect PlateLens to an AI assistant (see section 5), we create an authorization record for that connection: the connecting application's registered identifier and name, the data categories you approved, the time of approval and of the latest use, a salted hash of the connection's access credentials (never the credentials themselves), and an opaque connection identifier you can use to revoke it. These records live in a separate authorization database from your nutrition data.
When you start a 3D body scan, phone placement, posture, environment checks and live capture guidance run on your device. After capture, the app sends the selected body images, enabled compatible camera depth, camera calibration, the height, weight and body model selected for that scan, and the capture evidence needed for validation to PlateLens’s own processing service on Google Cloud in the United States. This service runs our body-analysis models and geometric calculations to return the 3D result and estimated measurements. An authenticated connection checks that the request belongs to your active account.
Temporary calculation, explicit saving: the processing service uses request-specific temporary files and removes them when the request completes, fails or is cancelled. It does not create scan history or persist the camera images and raw depth in a database or image store. Body-scan inputs are not sent to OpenAI or another third-party AI inference service, and we do not use them to train models. Google Cloud provides the hosting infrastructure. A connection retry can resend the same captured images while the scan session remains open on your device.
Prepared results and saved scans: before returning an accepted result, the service temporarily stores its finished 3D shape and private reconstruction data in your account’s protected storage area. This does not create a history entry. An unsaved result expires after 24 hours and is removed by scheduled cleanup. Choosing Save scan retains those artifacts and adds estimated measurements, scan date, entered profile values, quality and method/version information to your history. Private reconstruction data lets our server reproduce the original geometry; it is not sent to the app, diagnostic ZIP or account export. The finished shape and original measurements are available through authenticated account access and data export. Camera images and raw depth are not stored with the result. Deleting the scan or account removes its shape, reconstruction data and record. Adding the scan’s entered weight to weight history is a separate optional action.
Optional diagnostics: if you enable diagnostic export, the service returns per-view analysis and fitting evidence for that request. Your phone combines it with original capture images, optional depth, camera information and local guidance/voice traces into a diagnostic ZIP. The ZIP is generated on your phone, can contain sensitive body images and measurements, and is shared only through a destination you choose. The server does not keep a diagnostic archive. Temporary phone copies and copies you explicitly save or share follow the handling described in the diagnostic export guide. A failed diagnostic export does not remove an accepted scan result.
PlateLens sends emails about getting started, building the habit, getting back on track after a break, milestones and occasional news, from hello@updates.platelens.app to the email address of your PlateLens account. Which emails you receive, and when, is decided by PlateLens’s own backend on Google Firebase; we do not use a third-party marketing platform. To make that decision, it keeps a mailing profile with your account: details from your PlateLens profile (such as language, time zone, country, phone platform, goal and sign-up date), the days and times you log meals (not what you ate), when you last used the app or the web app, the emails already sent to you, and your email preferences and answers. An email can also include your name, your goal, your coach and your calorie and protein targets.
Delivery: emails are delivered by Amazon Simple Email Service (Amazon SES) in the United States, which receives your email address and the content of each email in order to deliver it. Links in our emails pass through click.platelens.app, the click tracking of Amazon SES, which tells us that a link was clicked; we keep only the time of your latest click, to judge whether some emails are still relevant to you. We do not track whether you open an email and do not record each delivery. Amazon SES also tells us when an email bounces permanently (the address cannot receive email) or is reported as spam, and we then stop emailing that address; a temporary delivery failure, such as a full mailbox, does not stop later emails.
Your choices: every email has an Unsubscribe link, supports one-click unsubscribe from your email app, and has a Preferences link to a page on mailing.platelens.app where, without signing in, you can stop or resume all PlateLens emails, receive them once a month or only at key moments of the year, or pause them for 3 months. Some emails ask an optional one-tap question; your answer is saved with your account and used only to adapt later emails. Unsubscribing does not affect your account or app notifications. The PlateLens emails guide explains each option.
Retention and deletion: the record of each email sent to you (which email, when, and whether it bounced permanently or was reported as spam) is kept for 90 days. Your mailing profile, preferences and answers are kept until you delete your account. Your account export includes your email preferences, your answers, the actions our team took on your email settings (which action and when) and that 90-day email history. Deleting your account deletes all of them. So that an address that unsubscribed, bounced permanently or reported spam is not emailed again, even after the account is deleted, we keep a keyed hash of that address, which is not the address itself and is not linked to any account. A keyed hash of an address that received an occasional announcement is kept for up to 14 months, so the same announcement is not sent to it twice. Amazon SES keeps addresses that bounced permanently or reported spam on its own suppression list. If a bounce, spam or click report cannot be processed right away, it is held, with the recipient address, for up to 4 days so it can be processed again. A scheduled email task can hold a copy of your mailing profile, without your email address, until the task is completed or cancelled, which is usually shortly after its scheduled time. If sending is delayed (for example by a large backlog of emails, retries or a service outage), the task is kept longer, for at most 31 days after it was created, when Google Cloud Tasks deletes it.
| Purpose | Data Used |
|---|---|
| Analyze food photos for nutrition | Food photos, user profile |
| Personalize calorie/macro targets | Height, weight, age, activity level, goals |
| Track your health metrics | Weight, hydration and blood glucose logs; HealthKit/Health Connect data |
| Provide AI coaching | Chat history, relevant nutrition and health context, coach memory |
| Send personalized notifications | Location, timezone, activity patterns |
| Send PlateLens emails and respect your email choices (section 1.9) | Email address, name, language, time zone, country, goal, meal-logging days and times, app and web activity, email history, preferences and answers |
| Process subscriptions | Account ID (via RevenueCat) |
| Answer read requests from an AI assistant you connected (section 5) | Only the categories you authorized: profile targets, meals and nutrition, hydration, activity, weight |
We use the following third-party services to operate PlateLens:
We use OpenAI (OpenAI, L.L.C., San Francisco, CA, USA) to power the following features:
For more information, review OpenAI's Privacy Policy and Enterprise Privacy documentation.
PlateLens offers an optional, read-only connection for AI assistants that support the Model Context Protocol (MCP), such as OpenAI's ChatGPT and Anthropic's Claude. Nothing in this section happens unless you explicitly connect an assistant. The PlateLens mobile app does not use this connection, and the connector is never used for advertising.
You start the connection from the assistant. It sends you to auth.platelens.app, where you sign in with the same Google or Apple account you use in PlateLens and approve, category by category, what that assistant may read. Your identity is derived solely from that sign-in: a connection cannot be pointed at another account, and no part of the connector accepts an account identifier, email address or file path as input.
profile.read): goal, activity level, unit system, calorie, macro, hydration and step targets, stored BMR/TDEE estimate, target weightnutrition.read): completed meals, ingredient names and portions, calories, macronutrients and micronutrients, hydration totals, nutrition trendsactivity.read): steps and active energy synchronized from your health platform, manual exercise entries and their estimated caloriesweight.read): weight and optional body-fat entries and trendsglucose.read): stored glucose observations in mmol/L, observation date and time, recorded timezone and offset, source platform and reported measurement method. This is a separate, optional authorization; previous connections do not gain it automatically. Glucose notes, native/provider identifiers and source-app names are excluded.offline_access): lets the assistant keep reading without asking you to sign in again, within the limits described under "Retention" belowA connected assistant can never read meal or progress photos, audio, private notes, coach conversations, your email address, your internal account identifier, payment or subscription details, GPS coordinates, street address, or device identifiers, and it cannot create, edit or delete anything in your account.
We process these categories only to answer the specific read request that the assistant makes on your behalf during your conversation. Reads never trigger AI analysis, exports, translations or background jobs, and they are logged only as described under "Retention".
The result of each read is returned to the assistant you connected. From that moment it is handled by that assistant's provider under its own terms and privacy policy — for example OpenAI for ChatGPT, or Anthropic for Claude — and may be stored in your conversation history there. Depending on your settings with that provider, it may also be used to improve its models (for example, ChatGPT's "Improve the model for everyone" setting). These providers are independent data controllers, not our processors. PlateLens does not send your data to any assistant on its own initiative.
Revoke any connection at any time in the PlateLens app under More → Preferences → Connected Apps, or at auth.platelens.app. Revocation is enforced on the assistant's very next request, including before any credential renewal, and disconnecting an assistant never affects your PlateLens sign-in. You can also remove PlateLens from the assistant's own settings. Requesting deletion of your PlateLens account immediately revokes every connection, and the final erasure deletes the authorization records.
The connector runs on Google Cloud (Cloud Run, Firestore and Secret Manager, United States), sign-in uses Firebase Authentication, and Cloudflare provides the network edge (TLS, proxying and abuse protection using hashed network identifiers). See section 3.
Your explicit, category-by-category authorization is the legal basis for every read; you withdraw it by revoking the connection. Technical details, the full list of what can and cannot be read, and connection instructions are published at platelens.app/mcp.
You have the right to:
We implement industry-standard security measures:
PlateLens is not intended for users under 13 years of age. We do not knowingly collect personal information from children. If you believe we have collected data from a child, please contact us immediately.
Your data may be processed in the United States where our servers are located. By using PlateLens, you consent to this transfer. We ensure appropriate safeguards are in place for international data transfers.
If you are a California resident, you have additional rights under the California Consumer Privacy Act (CCPA):
To exercise your California privacy rights, contact us at privacy@platelens.app or use the in-app deletion feature.
If you are located in the European Economic Area (EEA), United Kingdom, or Switzerland, we process your personal data based on the following legal grounds:
| Processing Activity | Legal Basis |
|---|---|
| Account creation and authentication | Contract performance |
| Food photo analysis and nutrition tracking | Contract performance |
| AI coaching and personalization | Contract performance + Consent |
| Push notifications | Consent (opt-in) |
| PlateLens emails: getting started, habit, return, milestone and occasional news emails, adapted to your email preferences and answers (section 1.9) | Legitimate interest (you can unsubscribe from any email) |
| Handling unsubscribes, permanent bounces and spam reports, and keeping a keyed hash of those addresses so they are not emailed again (section 1.9) | Legitimate interest + Legal obligation |
| HealthKit/Health Connect sync | Explicit consent |
| Analytics and crash reporting | Legitimate interest |
| Website advertising measurement (OpenAI pixel, section 1.6) | Not performed for visitors in the EEA or Switzerland |
| Connected Apps reads by an AI assistant you connect (section 5) | Explicit consent (category-by-category authorization) |
| Fraud prevention and security | Legitimate interest + Legal obligation |
You may withdraw your consent at any time by adjusting your app settings or contacting us.
We take special care with health and fitness data collected through Apple HealthKit and Google Health Connect:
Health data is only used to provide you with personalized nutrition tracking and wellness insights within the app.
If you connect an AI assistant through Connected Apps (section 5), health and nutrition data is shared with it only within the categories you approved, only on that assistant's request, and never with photos, notes or conversations. The prohibited uses above continue to apply to us; the assistant's own use is governed by its provider's policy.
We may update this Privacy Policy periodically. We will notify you of significant changes via in-app notification or email. Continued use after changes constitutes acceptance of the updated policy.
For privacy-related questions or data requests: