-
-
Save kirmartuk/aad7adc739b9c00c66aa678a4ac8e627 to your computer and use it in GitHub Desktop.
Calaura privacy policy
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="utf-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1"> | |
| <title>CalAura — Privacy Policy</title> | |
| <style> | |
| :root { | |
| color-scheme: light dark; | |
| --text: #1a1a1a; | |
| --muted: #555; | |
| --border: #e0e0e0; | |
| } | |
| @media (prefers-color-scheme: dark) { | |
| :root { | |
| --text: #e8e8e8; | |
| --muted: #a8a8a8; | |
| --border: #333; | |
| } | |
| } | |
| body { | |
| font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, sans-serif; | |
| line-height: 1.55; | |
| max-width: 44rem; | |
| margin: 0 auto; | |
| padding: 1.5rem 1.25rem 3rem; | |
| color: var(--text); | |
| background: Canvas; | |
| } | |
| h1 { font-size: 1.75rem; margin-bottom: 0.25rem; } | |
| h2 { font-size: 1.15rem; margin-top: 1.75rem; border-bottom: 1px solid var(--border); padding-bottom: 0.35rem; } | |
| h3 { font-size: 1rem; margin-top: 1.25rem; } | |
| .meta { color: var(--muted); font-size: 0.95rem; margin-bottom: 1.5rem; } | |
| ul { padding-left: 1.25rem; } | |
| li { margin: 0.35rem 0; } | |
| a { color: inherit; text-decoration: underline; text-underline-offset: 2px; } | |
| .placeholder { background: rgba(128, 128, 128, 0.15); padding: 0.05em 0.35em; border-radius: 2px; } | |
| </style> | |
| </head> | |
| <body> | |
| <h1>Privacy Policy</h1> | |
| <p class="meta"><strong>CalAura</strong> — Last updated: March 25, 2025</p> | |
| <h2>1. Who we are</h2> | |
| <p>The operator of the <strong>CalAura</strong> mobile application (hereinafter “we”, “us”, “operator”): <span class="placeholder">[legal name or individual entrepreneur / company name]</span>.</p> | |
| <p>For privacy-related inquiries: <span class="placeholder">[privacy contact email]</span>.</p> | |
| <p>The app is distributed via <strong>Google Play</strong> under the name <strong>CalAura</strong> (package identifier: <code>dad.dev.calaura</code> — update if your listing differs).</p> | |
| <h2>2. Summary</h2> | |
| <p>CalAura helps you track nutrition and activity. Most data is stored <strong>on your device</strong>. Our servers receive only what is needed for <strong>food recognition and related AI features</strong> (images and/or text you send). If analytics is enabled, <strong>Yandex AppMetrica</strong> may process usage statistics. Access to <strong>steps</strong> is only possible if you explicitly allow it through <strong>Health Connect</strong>.</p> | |
| <h2>3. Data we process</h2> | |
| <h3>3.1. Information you provide in the app</h3> | |
| <ul> | |
| <li>Food entries (name, calories, macros, portion weight where applicable, date and time).</li> | |
| <li>Workouts (name, duration, calories burned, date and time).</li> | |
| <li>Daily goals (calories, macros, steps).</li> | |
| <li>Profile and settings you save in the app (if applicable).</li> | |
| <li><strong>Photos of meals</strong> when you use camera-based recognition — they are sent to the server for processing (see Section 4).</li> | |
| <li><strong>Text descriptions of food</strong> or AI-assisted edits — sent to the server as part of the API request.</li> | |
| </ul> | |
| <h3>3.2. Device and integration data</h3> | |
| <ul> | |
| <li><strong>Step counts</strong> for the selected day are read via <strong>Health Connect</strong> only with your permission; they are not uploaded to our servers and are used locally in the app.</li> | |
| <li><strong>Technical data</strong>: device type, OS version, interface language (including the <code>Accept-Language</code> header when calling the API), network requests to our backend.</li> | |
| </ul> | |
| <h3>3.3. Local storage</h3> | |
| <p>Food logs, workouts, goals, and related data are stored <strong>locally</strong> by default (app database, DataStore, or equivalent). Backup and restore depend on your Android and Google account settings.</p> | |
| <h2>4. Data sent to our servers (backend)</h2> | |
| <p>When you use <strong>photo food recognition</strong>, <strong>text parsing</strong>, or <strong>AI-assisted edits</strong>, the app sends data to the backend URL you configure (or our deployed server):</p> | |
| <ul> | |
| <li>an <strong>image file</strong> (JPEG/PNG) and/or a <strong>JSON body</strong> with a food description or edit instruction;</li> | |
| <li>HTTP headers required for the API to function.</li> | |
| </ul> | |
| <p>On the server, images and text may be passed to an <strong>AI provider</strong> (e.g. a multimodal language model) to estimate dish name and nutrition values. We do not use this for public display of your photos; retention on our infrastructure and at the AI provider depends on server configuration — contact us for current practices.</p> | |
| <p>Other data (full diet history, workouts, goals) is generally <strong>not synchronized</strong> with the server unless a future version explicitly adds such a feature.</p> | |
| <h2>5. Analytics (AppMetrica)</h2> | |
| <p>If the app build includes a non-empty <strong>AppMetrica</strong> API key (Yandex), we may collect <strong>de-identified or pseudonymous</strong> analytics: in-app events, device and session parameters as defined by the AppMetrica SDK.</p> | |
| <p>Processing is governed by Yandex policies: <a href="https://yandex.com/legal/confidential/" rel="noopener noreferrer">https://yandex.com/legal/confidential/</a></p> | |
| <p>You can adjust ad personalization and related settings via your device and Google account controls.</p> | |
| <p><em>If analytics is disabled (empty API key in production), this section may be omitted or shortened in your published policy.</em></p> | |
| <h2>6. App permissions</h2> | |
| <ul> | |
| <li><strong>Internet</strong> — communication with the backend and, when configured, analytics endpoints.</li> | |
| <li><strong>Camera</strong> — capturing meals for recognition (only when you choose to).</li> | |
| <li><strong>Health Connect (read steps)</strong> — only after you grant permission in the system dialog.</li> | |
| </ul> | |
| <h2>7. Legal bases (EEA, UK, and similar regimes)</h2> | |
| <ul> | |
| <li><strong>Performance of the service</strong> and your request to process food recognition and AI features.</li> | |
| <li><strong>Consent</strong> — for camera, Health Connect, and analytics where consent is required.</li> | |
| <li><strong>Legitimate interests</strong> — minimal technical logging for security and reliability (e.g. server logs).</li> | |
| </ul> | |
| <h2>8. Third parties</h2> | |
| <ul> | |
| <li>Hosting or cloud provider for the backend (if used).</li> | |
| <li><strong>AI provider</strong> connected by the backend for image and text analysis.</li> | |
| <li><strong>Yandex (AppMetrica)</strong> — when analytics is enabled.</li> | |
| <li><strong>Google Play</strong> — distribution and related processing under Google’s terms.</li> | |
| </ul> | |
| <p>We do not sell your personal data.</p> | |
| <h2>9. Retention</h2> | |
| <ul> | |
| <li><strong>On device</strong> — until you delete data in the app or uninstall the app.</li> | |
| <li><strong>On our servers</strong> — operational logs and temporary files as needed; details available on request (see Section 1).</li> | |
| <li><strong>AppMetrica</strong> — per Yandex policy.</li> | |
| </ul> | |
| <h2>10. Security</h2> | |
| <p>We apply reasonable organizational and technical measures (e.g. HTTPS when the server is configured correctly, restricted access to API keys). No method of transmission over the Internet is 100% secure.</p> | |
| <h2>11. Your rights</h2> | |
| <p>Depending on your location, you may have the right to <strong>access, rectify, erase, restrict processing, object, data portability</strong>, and to <strong>withdraw consent</strong> where processing is consent-based. Contact <span class="placeholder">[privacy contact email]</span>. You may lodge a complaint with a supervisory authority in your country.</p> | |
| <h2>12. Children</h2> | |
| <p>The app is not directed at children under <span class="placeholder">[13 / 16 — set per your market]</span>. If you believe a child has provided us with data, contact us and we will take appropriate steps to delete it.</p> | |
| <h2>13. International transfers</h2> | |
| <p>Processing on our servers, at AppMetrica, or at AI providers may occur <strong>outside your country</strong>. Where required by law, we rely on appropriate safeguards (e.g. standard contractual clauses).</p> | |
| <h2>14. Changes</h2> | |
| <p>We may update this policy. The current version will be available at <span class="placeholder">[public URL or Google Play Data safety / app listing link]</span>. For material changes, we will notify you by reasonable means (e.g. in-app notice or Play Store update notes).</p> | |
| <h2>15. Contact</h2> | |
| <p><span class="placeholder">[Operator name]</span><br> | |
| <span class="placeholder">[Privacy email]</span><br> | |
| <span class="placeholder">[Optional: postal address, website]</span></p> | |
| </body> | |
| </html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment