1. Who we are and what this covers
This policy explains how BarCal AI handles information in its app and landing and legal website. The intended launch market is India. Operator and privacy-contact details appear in section 9.
The app supports account setup, nutrition preferences, calculated adult nutrition targets and meal tracking. Live Gemini meal analysis is disabled by default pending review. Subscriptions are planned but payment processing is not implemented. BarCal AI is intended only for adults aged 18 and above in India.
2. Information we process
- Account and sign-in information: email address, account and session identifiers, and, when supplied through authentication, name and profile-image URL. Clerk processes passwords for email registration, email verification codes and sign-in sessions. Our app database does not store your password. If you choose Google or Apple sign-in, those services and Clerk process the authentication and information made available through it.
- Your questionnaire and preferences: age, gender choice (including "Prefer not to say"), height, current and goal weight, nutrition goal, activity level, dietary preference, meal routine, training experience, measurement units, onboarding progress and time zone. These details and the resulting nutrition records may reveal health-related information.
- Calculated records: adult calorie and macronutrient targets, saved target history, meal totals, timestamps and identifiers used to associate results with your account.
- Meal photos and analysis: when you submit a photo for analysis, the app sends the selected or captured image to our server with an entry identifier. The current server rejects new live analysis while the provider gate is disabled. When enabled, the photo-processing flow described below stores the image and saves estimated food name, portion, calories, protein, carbohydrates, fat, uncertainty notes, processing status and errors. Previously saved records are not removed just because analysis is paused.
- Technical information: diagnostic events, crash/error details, performance data and device/app context, plus operational information such as scan identifiers, camera/gallery/retry source, result status and whether account operations succeeded. Network services receive ordinary connection information, which can include IP addresses and request metadata. Exact hosting-log fields and retention are [PENDING HOSTING REVIEW].
- Correspondence: your email address, message and attachments, and information you provide when contacting support or making a privacy request. Please do not send passwords, verification codes or unnecessary identity or health documents.
Camera access is requested for taking meal photos. The gallery flow uses a system picker for an image you select; it does not upload your entire photo library. Camera capture requests no EXIF object, and selected images are converted to JPEG, but we have not verified that every kind of embedded image metadata is removed. Avoid including people, documents or other private information in food photos.
The current app has no implemented collection of microphone recordings, precise device location, contacts or Apple Health records, and no payment-card collection. We have not implemented advertising or marketing-tracking integrations.
3. How we use information
We process account information to authenticate you and keep records associated with the correct account. We use questionnaire answers to save your setup, personalize the experience and calculate adult nutrition estimates. Meal information supports analysis, saved results and daily totals. Time zones organize records by your local day.
We use technical information to operate background jobs, show progress, investigate failures, protect account access and apply scan limits. Support information is used to answer your requests and address privacy complaints.
Current adult nutrition targets are calculated using a formula in a background task, rather than by sending the questionnaire to Gemini. They and photo estimates are automated wellness information, not medical advice. There is no implemented advertising audience or data-sale workflow. [CONFIRM ANY OFF-APP DISCLOSURES, MARKETING OR SECONDARY USES BEFORE PUBLICATION.]
This notice explains processing; reading it or using the app is not a substitute for any specific consent required by law. [CONFIRM APPLICABLE PROCESSING GROUNDS, HEALTH-DATA CONSENT AND NOTICE/CONSENT RECORDS FOR THE LAUNCH BUILD.]
4. Service providers and AI processing
The following providers participate in the implemented flows. Their actual account settings, retention and processing locations must be verified before launch.
| Provider | Processing and disclosures |
|---|---|
| Clerk | authentication, account/session management and account event delivery. A limited identity copy is stored in our database. Clerk-hosted sign-in icons and profile images also generate image requests. Google or Apple receives authentication requests when you choose its sign-in option. |
| Neon PostgreSQL | stores account/profile information, questionnaire answers, targets, meal records, processing references and account-deletion safeguards. [DATABASE REGION, BACKUP CONFIGURATION AND ACCESS CONTROLS: VERIFY.] |
| Trigger.dev | processes background account synchronization, nutrition generation and, when enabled, meal analysis. It receives the identity-sync details; the full nutrition questionnaire with account/request identifiers for plan generation; and account, meal and attempt identifiers for scanning. The worker accesses the database and meal images as needed. Task history and logs are separate from the main database. Browser meal-progress updates connect to Trigger.dev using a limited run-access token. |
| ImageKit | when photo analysis is enabled, stores uploaded meal photos as private files and delivers images using short-lived signed links. The photo can remain stored even when analysis fails. Account deletion requests removal of the account's image folder and invalidation of cached copies. |
| Google Gemini API | when enabled, receives image bytes and an analysis instruction and returns food and nutrition estimates. The photo request does not intentionally include your account name, email or questionnaire; the photo itself can still identify you or others. The current app does not train its own AI model. |
| Sentry | receives adult-app error/crash diagnostics, sampled performance traces and structured operational logs. Application settings disable screenshots, view-hierarchy attachments, session replay and default personal-information inclusion. They do not guarantee that every diagnostic event is anonymous. The diagnostics test screen sends real telemetry about simulated events when used. |
| Hosting and email | our app/API and website hosts process requests needed to serve the service; Gmail handles correspondence sent to our support address. [CONFIRM APP/API AND WEBSITE HOSTS, LOGGING, PROCESSING REGIONS AND EMAIL RETENTION.] |
Gemini settings remain unverified. The operator has not confirmed whether the API project uses paid or unpaid services, or whether request logging or voluntary data sharing is enabled. Google's terms distinguish those modes: unpaid services can involve product/model improvement and human review, while paid services have different data-use terms. Voluntary sharing also requires review. We do not claim that Google never retains, reviews or uses submitted data for improvement. See Gemini API terms and logging and sharing information. [VERIFY THE PROJECT'S BILLING, LOGGING, SHARING, RETENTION AND PERMITTED AUDIENCE BEFORE ENABLING LIVE ANALYSIS.]
5. Storage, cookies and security
Before sign-in, adult onboarding drafts are saved in the app's local files or browser localStorage so setup can resume. These draft files are not encrypted by application code. On sign-in, the app attempts to reset the local guest draft. Native session tokens use Clerk's Expo SecureStore cache. The web authentication flow uses Clerk's session mechanisms, including cookies; our application APIs separately require bearer tokens. See Clerk's cookie documentation.
The static landing and legal pages do not embed advertising pixels, analytics scripts or collection forms. Hosting services may still process access logs. [VERIFY PRODUCTION COOKIE NAMES, LIFETIMES AND HOSTING LOGS.]
Implemented safeguards include authenticated account requests, checks that requested meals belong to the account, signed webhook verification, validated inputs, private photo uploads, expiring image links and limited background-run access tokens. These safeguards do not make the service end-to-end encrypted or guarantee perfect security. Guest drafts, temporary images, device caches and provider backups have different protections and lifecycles.
Information may be processed outside India. The configured Sentry endpoint uses US ingestion; this does not establish all storage locations. We do not promise India-only hosting. [CONFIRM ALL PROVIDER/PROCESSING COUNTRIES, TRANSFER SAFEGUARDS, PRODUCTION TLS, ENCRYPTION AT REST, STAFF ACCESS AND PROVIDER CONTRACTS.]
6. Retention and account deletion
Current behavior: account/profile information, meal records and uploaded meal photos have no automatic age-based expiry in the application. Photos are not currently limited to temporary processing and are not automatically deleted 24 hours after analysis. Inactive accounts are not automatically deleted solely for inactivity. Actual provider log and backup retention remains unverified.
To request deletion in the app, open Profile → Delete your account, type DELETE and confirm. The authenticated deletion flow removes the ImageKit account folder, requests CDN cache invalidation, removes the app database account and related profile, nutrition and meal records, deletes the Clerk account and signs out the current device. If deletion reports a failure, retry or contact us. CDN invalidation is asynchronous.
A limited deletion-prevention record remains: the Clerk account identifier, deletion status and event/version timestamps. It prevents delayed jobs or webhooks from recreating a deleted account. No expiry is currently implemented for that record. The deletion action does not itself erase historical Trigger.dev jobs, Sentry records, Google-held data, support emails, backups, local photo caches or copies already downloaded elsewhere. Work already in progress may finish at a provider. Sign-out alone does not delete account data.
Proposed retention schedule — pending implementation and verification:
- Accounts, profiles, meal history and nutrition records: retain while active; proposed removal within 30 days of an account-deletion request, except applicable legal retention. The current in-app flow attempts deletion during the request, but the 30-day end-to-end process is not yet verified.
- Meal photos: proposed deletion within 24 hours after successful analysis. This is not implemented. [DEFINE FAILED/PENDING SCAN RETENTION AND HOW PHOTO HISTORY WILL WORK AFTER REMOVAL.]
- Support correspondence: proposed retention of 12 months after resolution, subject to applicable legal requirements.
- Application/security logs: proposed 30 days, with sensitive information minimized; provider settings and any required exceptions remain to be verified.
- Database backups: proposed maximum 30 days, subject to provider capabilities and configuration.
[FINALIZE AND ENFORCE THESE PERIODS; CONFIRM PROVIDER HISTORY/BACKUP DELETION, TOMBSTONE REVIEW PERIOD AND SPECIFIC LEGAL-RETENTION EXCEPTIONS BEFORE PUBLICATION.] These proposals are not a claim that all copies are currently erased within those periods.
7. Your choices and privacy requests
You can review and change the supported questionnaire fields through Profile, decline camera permission or change it in device settings, choose which photo to submit, sign out, or use account deletion. Declining required setup information or permissions may prevent the relevant feature from working. You can clear browser site data or local app data through platform controls; that does not delete your server account and may not remove every platform backup or cache.
For access to your information, a copy, correction, deletion, withdrawal of consent where applicable, or a privacy complaint, email barcalai.support@gmail.com. Lingala Anjan Goud handles these requests personally. Explain your request and identify your account; do not send a password or verification code. Applicable statutory rights remain available regardless of whether the app offers a button for them.
The app currently has no self-service full-data export, separate individual-meal deletion control, diagnostics opt-out or purpose-specific consent-withdrawal screen. An email request is not an automated export or a guarantee of immediate erasure. [FINALIZE PROPORTIONATE IDENTITY VERIFICATION, REQUEST/COMPLAINT RESPONSE TIMES, WITHDRAWAL HANDLING AND APPLICABLE REGULATORY ESCALATION DETAILS.]
8. Age eligibility and children
BarCal AI is intended only for adults aged 18 and above in India. Under-18 users are not eligible to use the app or its Gemini-powered features, including with parental or guardian permission. We do not offer a teen demo or accounts for minors.
Before continuing, users must confirm that they are 18 or older. The initial age-group choice stays in memory for the session. We also ask for age in years during onboarding and block progression for under-18 ages. Known minor profile submissions and personal scan access are blocked; queued meal analysis rechecks the stored account age. Missing or under-18 ages cannot authorize Gemini processing.
These checks use self-declared age, not verified identity. Application-level account and diagnostics components mount after adult selection; native startup traffic and historical records have not been fully verified. We do not claim that these checks prove no child's data can reach a provider. If you believe a child has provided personal information, contact barcalai.support@gmail.com to request review and deletion. [REVIEW AGE ASSURANCE, EXISTING MINOR RECORDS AND PROVIDER AUDIENCE REQUIREMENTS BEFORE LAUNCH.]
9. Changes and contact
BarCal AI is operated by Lingala Anjan Goud, an individual developer based in Hyderabad, Telangana, India ("we", "us"). This policy covers the BarCal AI app and its landing and legal website. The intended launch market is India.
Lingala Anjan Goud personally handles privacy requests and complaints at barcalai.support@gmail.com. Public business location: Hyderabad, Telangana, India. [FULL LEGAL/BUSINESS ADDRESS AND ANY REQUIRED GRIEVANCE-OFFICER DISCLOSURES: CONFIRM BEFORE PUBLICATION.]
Updates to this policy will be shown on this page with a revised date. [CONFIRM THE MATERIAL-CHANGE NOTICE PROCESS AND ANY REQUIRED FRESH CONSENT BEFORE PUBLICATION.] A policy change does not itself enable new processing or override applicable consent requirements.
Privacy contact: Lingala Anjan Goud
BarCal AI · Hyderabad, Telangana, India
barcalai.support@gmail.com
Full legal/business address: [TO BE CONFIRMED BEFORE PUBLICATION]