Ordinary - Privacy Policy Version / Wersja: 2026-10-29 ## 1. Controller and contact The controller of personal data used to provide Ordinary is **Paso Maciej Brzeziński**, Nowodwór 42, 08-503 Nowodwór, Poland, NIP **7123421010**. Contact **[maciejbrzezinskibm@gmail.com](mailto:maciejbrzezinskibm@gmail.com)** or write to that postal address about your data, consent or rights. This policy covers the Ordinary website and web application, including its questionnaire and optional community. ## 2. Information we process - **Account:** email, name or nickname, permanent Firebase account identifier, authentication status, acceptance/consent records and preferences. Firebase Authentication manages passwords and account recovery; we do not keep a separate application password database. - **Questionnaire:** answers about goals, routine, difficulties, food and activity, age, height, weight and any optional context you provide. We use these to explain how the application can fit your situation. - **Journal and progress:** meals and descriptions you approve, optional ingredient estimates, activity, dated weight measurements, optional photos, AI suggestions, the step you select and your check-ins and reviews. - **Payments:** plan, order and payment identifiers, subscription and entitlement status, and information needed to resolve a purchase. You enter card details in Stripe; the Ordinary application does not store complete card details. - **Technical and support:** requests, IP-derived rate-limit identifiers, security events, necessary service logs and information you provide when contacting us. We do not intentionally log raw meals, photos, recordings, passwords or tokens in application diagnostics. Provide only information relevant to the service. Do not put other people's health or identifying information in a journal, photo or recording. A nickname is enough for your profile. Photos and recordings are optional. ## 3. Purposes and legal bases We process ordinary account, service and purchase data to take steps you request before a contract and to perform the service contract (**Article 6(1)(b) GDPR**). We process information needed for tax/accounting obligations under **Article 6(1)(c)**. Necessary security, fraud prevention, service troubleshooting, support and the establishment or defence of claims use our legitimate interests under **Article 6(1)(f)**; those interests are protecting accounts, operating a reliable service and resolving disputes. Questionnaire and journal content can reveal information about health. We rely on your consent under **Article 6(1)(a)** and, where special-category health information is involved, your **explicit consent under Article 9(2)(a)**. Optional public sharing also requires your choice and, where relevant, explicit consent. We do not treat acceptance of service terms as permission to publish photos or use health information for advertising. You can withdraw consent at any time without affecting earlier lawful processing. Unpublish a profile/photo in Settings or its sharing controls; contact us to withdraw other consent or request deletion. We cannot continue a feature that requires information we no longer have permission to process, but this does not remove your contractual or statutory rights. ## 4. What is sent to AI OpenAI provides analysis and transcription through the backend. The following depend on the feature you use: - After the questionnaire, its answers and optional personal context are sent to prepare an explanation. This request excludes age, height, weight, email and account identifier. Free text you choose to include is sent, so do not put unnecessary identifiers in it. - Optional food recognition sends the meal description and attached meal photo. Activity analysis sends its description. Saving a normal meal entry alone does not trigger AI analysis. - Using voice recording sends that recording for transcription. Ordinary does not retain the recording as an audio journal item; the resulting text can be used in your draft or saved entry. - A progress review uses relevant questionnaire information, journal entries and measurements, check-ins and previous-step feedback. We do not send your account email or password for this purpose. We use `store: false` for supported analysis requests. This limits storage of the response object; it is **not a promise of zero retention by the provider**. Provider security/abuse-monitoring retention and legal exceptions can still apply. API content is not used to train OpenAI models by default under its API data controls. We do not claim a special zero-retention agreement or EU-only AI processing. See [OpenAI API data controls](https://developers.openai.com/api/docs/guides/your-data). AI produces suggestions, not decisions with legal or similarly significant effects. You review estimates and choose actions. We do not use automated eligibility decisions about employment, insurance, credit or similar matters. ## 5. Private and public information Journal entries, meal photos and weight records are private. Progress photos are private by default. A public community response requires both an enabled public profile and separately shared progress photos. A public profile can display its identifier/slug, nickname, bio, shared photos and their dates, and voting totals; it does not publish your email, meal diary or private measurements. Other people may copy material you publish. Unpublishing prevents further display by Ordinary but cannot remove copies independently made by others. ## 6. Providers and recipients We use **Google/Firebase** for authentication, EU-region Firestore data and photo storage, hosting, backend processing and technical logging; **OpenAI** for the AI functions described above; **Stripe** for payment processing and billing; and **RevenueCat** to link purchases and paid access to your Firebase identifier across supported clients. Our contact mailbox is hosted by **Google/Gmail** and receives the information you include in support messages. Authorised people helping to operate or secure the service may access information where necessary and subject to confidentiality. Public recipients see only information you choose to share. Authorities may receive information where legally required. Providers may act as processors for service functions and as separate controllers for their own statutory, payment-security or fraud-prevention responsibilities. Relevant notices: [Google](https://policies.google.com/privacy), [Firebase privacy information](https://firebase.google.com/support/privacy), [Stripe](https://stripe.com/privacy), [RevenueCat](https://www.revenuecat.com/privacy/). We do not sell your journal or use it for advertising targeting. ## 7. Location and international transfers Ordinary's Firestore application database and photo bucket are in **europe-west1 in the EU**. This does not mean every provider operation takes place only in the EU. Authentication, technical support, payments, entitlement processing and AI may involve access or processing outside the EEA, including the United States. Depending on the provider and transfer, applicable safeguards can include an adequacy decision for a covered recipient or standard contractual clauses and related safeguards. Contact us for information about the applicable recipient and safeguards or to request an available copy. We do not represent your consent to use the app as a blanket waiver of international-transfer requirements. ## 8. Retention and deletion We retain account and journal information while your account exists and the information is needed for the features you use. You can remove individual entries/photos or request account deletion. Expiry of paid access does not itself delete your records; you can still request an export or deletion. A pre-account questionnaire and its saved explanation expire after **14 days**; an unfinished browser draft lasts until you clear it or close the tab/session. A technical anonymous Firebase identity can remain after the questionnaire expires until it is separately removed; it does not make an expired questionnaire available again. Account deletion disables access promptly and queues removal of application data, photos and authentication. Cleanup runs hourly, retries failures and is asynchronous. Recovery copies can remain for up to **seven days** in the configured Firestore and Storage recovery mechanisms. A delay or legally necessary preservation may apply to a specific incident. Necessary security logs are retained for the relevant operational/security period, rather than as a permanent diary copy. Support and claim records are retained as needed to resolve the request and applicable limitation periods. Tax/payment records may have longer statutory retention, generally five years from the end of the calendar year in which the relevant tax payment became due in Poland, and payment providers have their own applicable retention duties. We do not keep deleted health diary content merely to retain a tax record. ## 9. Cookies and storage on your device The essential HttpOnly Firebase session cookie, `__session`, maintains sign-in or an anonymous questionnaire session for up to **five days**. `sessionStorage` keeps unfinished questionnaire answers in the current tab. `IndexedDB` keeps an unfinished meal draft, including an optional photo, until it is saved, cleared or you sign out; you may also clear it in your browser. These mechanisms support the service you request. This version does not use advertising trackers or optional marketing analytics. Stripe's own checkout may use its separate necessary security and payment storage under its notice. Blocking essential storage can prevent sign-in, drafts or payment from working. ## 10. Your rights Subject to the GDPR conditions, you may request access and a copy, correction, deletion, restriction or portability of your data; object to processing based on legitimate interests; and withdraw consent. Account controls provide some of these actions, and you can always contact the controller, including if an active subscription prevents an automated deletion. We may reasonably verify your identity without requesting unnecessary information. We normally respond within **one month**; where the law permits an extension, we explain it within that month. You may complain to the **President of the Polish Personal Data Protection Office (UODO)** at [uodo.gov.pl](https://uodo.gov.pl), or another competent supervisory authority. ## 11. Voluntary information, security and changes Account information and the required questionnaire are needed to provide the corresponding account and personalized features; optional context, photos, voice recording and public sharing are voluntary. Payment information is required to process a purchase. Without the relevant information or required health-data consent, some features cannot be provided. Ordinary is intended for adults, not children. We use authenticated access, ownership checks, private photo storage and encrypted transport. No online system is risk-free; protect your password and device. We update this policy when our processing changes, state the version/date, and provide any additional notice or consent required for a material change. The [GDPR](https://eur-lex.europa.eu/eli/reg/2016/679/oj) sets out the rights described here.