Privacy Policy
Effective Date: August 8, 2026
1. Information We Collect
We collect the following categories of information:
- Account information: Email address and full name when you create an account. Optionally, your age and sex if you choose to provide them for personalized reports.
- Label photographs: If you scan a supplement label, the photograph is sent to Google Gemini to be read and is held in server memory only for the length of that request. We do not write the image to disk, store it in our database, or keep it after the response is returned.
- Text read from a label: The ingredient names, printed amounts, the name and total of any proprietary blend, and the product name transcribed from the photograph are stored on your account so your shelf and your scanned combinations persist. The text is what we keep; the image it came from is not.
- Usage data: Which supplements you search, health goals you select, report types you generate, and monthly generation counts.
- Technical data: IP address (used for rate limiting), browser-stored authentication tokens, and a single signed cookie for anonymous usage tracking.
- Product analytics events: A signed, http-only "anon_id" cookie identifies anonymous visitors so we can measure how the product is used. Recorded events include page views, search submissions, goal selections, signup attempts, report generations, PDF downloads, glossary term clicks, and tier-gate denials. Each event captures the event name, the page path, an optional event payload (e.g., the supplement queried), the anonymous identifier, and your user identifier once you sign in. Events do not capture form values, free text, or any other content you type. All event data is stored in our own PostgreSQL database; we do not transmit it to any third-party analytics service.
- Diagnostic error reports: If the Service encounters a runtime error, we record the error message, a stack trace, the page path, your user identifier (if signed in), and the anonymous identifier so we can fix the bug. These reports are stored in our own database alongside other operational logs.
If your browser sends a "Do Not Track" signal, we suppress product analytics events on the client. Diagnostic error reports continue to be sent because they describe operational failures rather than user behaviour.
2. How We Use Your Information
Your information is used to:
- Provide the Service and personalize reports based on your demographic profile
- Read supplement labels you photograph and retrieve research on the ingredients
- Enforce usage quotas and rate limits
- Process payments via Stripe
- Generate aggregate search trends (e.g., popular supplements) for product improvement
- Improve the Service and diagnose technical issues
We do not sell, rent, or share your personal information with third parties for their marketing purposes.
3. Third-Party Services
Veraflux relies on the following third-party services to operate. Each processes only the minimum data necessary for its function:
- Supabase - Authentication and user management. Stores your email, hashed password, and auth tokens.
- Stripe - Payment processing. We do not store your credit card details; Stripe handles all payment data directly.
- PubMed / NCBI - Literature retrieval. Only supplement names and search terms are sent; no personal data.
- Google Gemini & Anthropic Claude - AI processing of retrieved literature, and, for Gemini, label reading. Supplement names and, for personalized reports, your age and sex values are included in prompts. When you scan a supplement label, the photograph is transmitted to Google Gemini, whose vision model transcribes the Supplement Facts panel, including the ingredients a proprietary blend lists without doses. The whole image is sent, so anything else visible in the frame goes with it. No names, email addresses, or other identifying information is sent to these services.
- Railway - Cloud hosting provider. All application data transits through and is served from Railway's infrastructure.
- Cloudflare Turnstile - Bot protection on public forms, such as the supplement update sign-up. Receives your IP address and browser environment signals to distinguish people from automated traffic. No account data is shared with it.
- Resend - Transactional email delivery. When we send you an email, such as a research update you opted into, Resend receives your email address and the message content in order to deliver it.
4. Data Storage & Security
Your data is stored in a PostgreSQL database hosted on a secure cloud provider. All data in transit is encrypted via HTTPS/TLS. Passwords are managed by Supabase Auth using industry-standard hashing and are never stored in plaintext.
5. Data Retention & Caching
Cached reports: Generated reports are cached for up to 30 days to improve performance. Safety reports are not user-specific - the same cached report may be served to any user searching for the same supplement. Supplement reports are cached by supplement, age, sex, and goal combination.
Saved reports: Reports saved to your account are retained until you delete them or close your account.
Label photographs: A scanned photograph is held in server memory for the length of the request that reads it and is never written to disk or to our database. The ingredient list transcribed from it is held in a temporary scan session for up to 30 minutes so you can review and confirm it, then discarded. Only the ingredients you confirm are stored, as shelf items and as a saved combination, and those are retained until you delete them or close your account.
Synonym cache: Supplement name synonyms are cached indefinitely for search optimization.
Account data: Retained for the duration of your account. Upon account deletion, your profile, saved reports, usage history, collections, recorded analytics events, diagnostic error reports, and per-report cost records that reference your user identifier are removed or anonymized.
Operational logs: Per-request HTTP logs are retained for 30 days. Product analytics events are retained for 365 days. Per-report cost records and diagnostic error reports are retained indefinitely so we can investigate issues and reconcile billing.
6. Cookies & Local Storage
Authentication state is managed by Supabase and stored in your browser's local storage. We use two functional cookies, neither of which is used for advertising or third-party tracking:
- "anon_id" - signed, http-only. Threads anonymous visitor activity into our own product analytics. Set on first visit, persists until you clear browser data.
- "vf_session_marker" - unsigned, not http-only. A one-bit hint set after a successful login so the server can serve the dashboard shell directly on your next visit instead of a flash of the marketing page. Carries no auth value (the real session token still lives in local storage) and is cleared on sign-out. Expires after 30 days of inactivity.
We do not use advertising or third-party tracking cookies, and our analytics data never leaves our database.
7. Your Rights
You may request deletion of your account and all associated data by contacting us at support@veraflux.org. Deletion removes your profile, saved reports, collections, your shelf and any scanned combinations, your per-supplement email mute settings, monthly usage history, and any analytics events or diagnostic error reports linked to your user identifier. If you have subscribed to new-evidence alerts for a supplement, those subscriptions are removed too. You can delete individual saved reports at any time. You may update or remove your demographic information (age and sex) from your Account page at any time. You can also disable product analytics in your browser by enabling the "Do Not Track" setting; the Service will continue to function normally.
8. Changes to This Policy
We may update this Privacy Policy from time to time. Material changes will be communicated via the Service or email. Continued use of the Service after changes are posted constitutes acceptance of the updated policy.
9. Contact
Privacy inquiries may be directed to support@veraflux.org.