Brogress · Legal

Privacy Policy

Effective: 31 August 2026 Version: 1.18 Controller: Netsh UG (haftungsbeschränkt)

This Policy explains how we collect, use, share, and protect your personal data when you use the Brogress mobile application and the brogress.app website. It is provided in accordance with Articles 12, 13, and 14 of the EU General Data Protection Regulation (GDPR) and the German Federal Data Protection Act (BDSG).

§ 01Who we are

The data controller responsible for processing your personal data is:

Netsh UG (haftungsbeschränkt) Hermann-Löns-Strasse 13A
78234 Engen, Germany
Registered: Amtsgericht Freiburg HRB 728075
Managing Director (Geschäftsführer): Ferdinand Netsch

Email: hello@brogress.app

We have appointed an external Data Protection Officer (Art. 37 GDPR) to oversee our handling of personal data:

Data Protection Officer · Datenschutzbeauftragter Dr. Sebastian Kraska
IITR Datenschutz GmbH
Marienplatz 2
80331 München, Germany

Email: email@iitr.de
Phone: +49 89 189 173 60

For any privacy question — including requests to access, correct, port, or delete your data, or to withdraw consent — please email hello@brogress.app or contact our DPO directly. We will respond within 30 days as required by Art. 12(3) GDPR.

§ 02Scope of this Policy

This Policy applies to personal data we process when you use the Brogress mobile application on iOS or macOS (the “App”) and when you visit brogress.app (together, the “Service”). Brogress is a self-development app that uses an AI-powered “coach” to help you set goals, reflect on yourself, and build daily habits.

Honest disclosure

We protect your data with TLS in transit and AES-256 at rest, but we do not yet apply application-layer (end-to-end) encryption — authorised personnel can technically access your data when operating the Service. See § 11 (Security) for details.

§ 03Personal data we collect

We only collect what we need to operate the Service. Below is a complete list, grouped by category.

3.1 Account data

When you sign in with your Apple ID via Sign in with Apple, we receive and store:

In the App you may additionally provide:

3.2 Self-reflection responses (sensitive)

Brogress includes self-reflection assessments — sets of multiple-choice and free-text questions that draw on established psychological frameworks (for example, the Schwartz Personal Values questionnaire and Big-Five-style personality items). Your responses are stored, mapped to internal “six pillar” scores (Heart, Iron, Edge, Flow, Vault, Brain), and used by the coach to personalize its conversations with you.

Because these responses can reveal information about your personality, values, and emotional patterns, we treat this data as sensitive and process it only on the basis of your explicit consent, which you give before completing each assessment.

3.3 Coach conversations and the “private notes” section (sensitive)

When you talk to the coach inside the App, we store:

We also maintain a coach profile file about you with six sections: persona, hard rules, your stated preferences, coaching style, durable life-context notes (e.g. your job, where you live), and an internal “private notes” section.

Honest disclosure: the “private notes”

The private-notes section is generated and updated by the coach itself as it talks with you. It contains the coach’s working psychological model of you — patterns it observes, what motivates you, what tends to backfire.

This section is not visible to you in the App today. It is sent to our AI provider on every coach turn so that the coach can speak to you consistently. It is not shared with anyone else other than that provider (Microsoft Azure AI Foundry — see § 6). You can request a copy of this section by emailing hello@brogress.app, and you can delete it (along with everything else) at any time by deleting your account. We are working on a feature to let you read and edit this section directly inside the App.

3.4 Goals (WOOP)

For each goal you set, we store the four WOOP components — your Wish, the imagined Outcome, the Obstacle (often something internal, e.g. “I procrastinate when I’m anxious”), and your Plan — together with the goal’s status, history, and the conversational elicitation that produced it.

3.5 Missions, achievements, points, breathing sessions

We store the missions you take on (daily and one-off), the achievements you unlock, every point allocation event with the coach’s reasoning attached, and basic metadata for each breathing exercise you complete (technique, length, score, time of day).

3.6 Knowledge graph (sensitive)

As you talk with the coach, it builds a structured knowledge graph of the people, places, employers, hobbies and goals you mention, so that it can refer back to them in later conversations. This graph is stored in Microsoft Azure (Sweden) and partitioned by user — it is not shared between users.

3.7 Social data

If you use friend, challenge, or leaderboard features, we store:

What becomes visible to a friend. When you add a friend, your handle, level, total points, current streak, your six pillar scores, and your profile picture (if you have uploaded one — see § 3.13) become visible to that friend in the in-app leaderboard and friend list. If you don’t want a friend to see this information, remove them or block them.

The photo feed is not friends-only. Unlike the activity-feed entries above, photo posts in the feed can come from any Brogress user — what you see is governed by the visibility the poster chose for each photo (see § 3.15). Your own photo posts are likewise shown to other users according to your per-photo visibility choice, and the Respects and comments you leave on a post are visible to everyone who can see that post.

3.8 Voice

If you record a voice debrief, the audio is transcribed on your device using Apple’s on-device speech recognition. Only the resulting text leaves your phone; the audio itself is never sent to our servers or to any third party.

3.9 Technical / log data

When you use the Service, our servers record:

These logs live in Microsoft Azure Application Insights (Sweden Central) and are retained for approximately 90 days, after which they are deleted automatically.

When an error occurs while processing your request, the resulting log line may include your account ID so we can reproduce and fix the problem. We do not enrich logs with your account ID for routine (non-error) requests, and we do not attach it as a structured telemetry dimension — it appears only as text in the body of error messages emitted by our backend code.

3.10 Crash and error reports

If the App crashes or hits an unexpected error, we send a description of the error to Sentry GmbH (de.sentry.io, hosted in Germany). We have configured Sentry not to send your user ID; however, an error message can occasionally include short fragments of text from a server response if our backend ever returns user content inside an error.

3.11 Subscription data

Brogress uses Adapty (Adapty Tech Inc.) as its subscription-management platform. The Adapty SDK is initialized at app launch and, once you sign in, is linked to your Brogress account ID so entitlement checks can route correctly. Through Adapty we and Adapty process:

Free-plan usage counter. Independently of Adapty, we count how many AI-coach debriefs you have started (the debriefs_used_lifetime counter on your account) so the app can enforce the lifetime free-plan limit before a paid subscription unlocks unlimited usage. This counter is processed on the contractual basis (Art. 6(1)(b) GDPR) and is purged with everything else when you delete your account.

3.12 What we do NOT collect

For the avoidance of doubt, the App does not access:

3.13 Profile picture (optional)

In Profile › Settings › Edit Profile › Profile picture you may upload an image that will be displayed next to your handle on the profile screen, the leaderboard, the friends list, and friend-request cards inside the App. Uploading a picture is entirely optional — without one, we render a coloured circle containing the first letter of your display name.

What happens when you upload:

3.14 Feedback you send us

If you choose to send us suggestions, ideas, feature requests, bug reports, or other feedback about the Service — for example by emailing hello@brogress.app — we store the message you sent and the email address it was sent from. We use feedback to improve the Service and may quote anonymised excerpts internally or in product communications. We do not publish your name, email address, or any other identifier alongside feedback without your separate consent. The same retention and security commitments described in § 8 and § 11 apply. The Terms of Service grant us a perpetual, royalty-free licence to use Feedback for any purpose (see § 17 of the Terms); this Policy governs how any personal data contained in Feedback is processed.

3.15 Mission proof photos and the photo feed

Daily missions can be completed with a proof photo taken with the camera inside the App. If you use this feature, we store for each photo:

Proof photos are stored in a private Azure Blob Storage container in Sweden Central, with anonymous public access disabled at the storage-account level. They are served via read-only Shared Access Signature (SAS) URLs — the same pattern described in § 3.13 — while the underlying blob storage stays closed to the public internet.

Who can see a proof photo. You choose each photo’s audience at the moment you take it — Everyone, Friends, or Only me. The default is Everyone: unless you choose otherwise, the photo appears in the App’s photo feed, where it can be seen by any Brogress user together with your display name, handle, profile picture, and the mission’s title. Photos set to Friends are visible only to your accepted friends; photos set to Only me never appear in the feed. You can additionally exclude an entire mission from the feed (per-mission feed opt-out); this setting overrides the per-photo choice and removes that mission’s photos from the feed for everyone.

Automated safety scanning. Before a proof photo is stored, it is scanned automatically by Azure AI Content Safety (Microsoft — see § 5) for sexual, violent, and self-harm imagery. Photos the scan classifies above our severity threshold are rejected and never stored — you can simply retake the photo. No human reviews your photos unless another user reports the related post; see § 10 for the automated-decision disclosure.

Interactions and controls. Other users can react to a feed post with a “Respect” (like) and write comments — in each case only within the visibility you chose (see § 3.7). You can block any user — blocking hides your posts from them and their posts from you — and you can report any post or comment. When a post or comment is reported, we preserve a server-side snapshot of the reported content (the photo, the mission title and day, the upload timestamps, and the reported comment, if any) as evidence, so that we can review the report even if the content is later removed.

Deletion. A proof photo is deleted when you remove the day’s completion for that mission, when you delete the mission, or when you delete your account (see § 8).

3.16 Apple Health data (optional)

You can link a daily mission to Apple Health so the App ticks it off automatically when your Health data shows you’ve hit it — for example a “Steps” mission completing once you reach 10,000 steps. This is entirely optional: it only happens for missions you explicitly link, after you grant permission in the iOS Health permission sheet, and you can turn it off at any time per mission or in iOS Settings › Health › Data Access & Devices.

What we read. The specific Health data types tied to the missions and training sessions you link, drawn from four groups:

If you allow it in the iOS Health permission sheet, the App can also write to Apple Health: the workouts you finish in the App, the meals you log and — if you enter them — your height and weight, so your data stays in one place. You control each direction per data type in iOS Settings › Health.

Where your Health data goes depends on the type.

We process Health data (special-category data) solely on your explicit consent (Art. 9(2)(a) GDPR): you give it in the iOS Health permission sheet and, for the workout-to-coach sharing and the sleep & recovery sharing, in the App’s own consent screens. You can withdraw at any time in the App’s privacy settings or by turning off Brogress’s access in iOS Settings › Health › Data Access & Devices — which stops all further capture — or by deleting your account. Withdrawing sleep & recovery sharing additionally deletes the daily values already stored on our servers. Otherwise withdrawal is forward-looking: it does not retroactively remove context already shared in past coach conversations.

3.17 Community poll ballots

From time to time we put a product decision to the Brogress community and ask you to vote in the App. Voting is entirely voluntary and nothing in the App is withheld from you if you do not.

What we store. While a poll is open we store which option you chose, linked to your account, so that you can change your mind or withdraw your vote. When the poll closes we save only the totals — how much weight and how many people each option received — and delete every record of who voted for what. The totals that remain cannot be traced back to any individual.

How your vote is weighted. Votes are weighted by the points you have earned in the past year. We use the square root of that figure, so a much larger point total does not translate into a proportionally larger say, and everyone who votes counts for at least one. We do not read any other data about you to work this out.

Please note that while a poll is open your ballot is linked to your account in our database and is therefore visible to us. It stops being so when the poll closes. We do not describe this as a secret ballot, because until the poll closes it is not one.

3.18 Training numbers you enter yourself

Some numbers only make sense if they are yours. Alongside your height and weight (§ 3.1), the App lets you enter your maximum heart rate and your resting heart rate if you have measured them, and it stores the current 5 km run time you tell it or measure with it.

What we do with them. They are used to show you personal targets — heart-rate zones and pace ranges on your own screen, derived from your number each time a screen is drawn rather than stored again. Each zone is worked out from the range between the two heart-rate numbers, so both matter: if you have not entered a maximum, we estimate one from your birthday (§ 3.1) using a standard age-based formula, and if you have not entered a resting rate we assume a typical one. You can replace either estimate with your own figure, or clear yours to go back to the estimate, at any time in the App’s profile settings.

What we do not do with them. Neither heart-rate number is ever shared with our AI provider — the coach does not see them, your zones, or any heart-rate reading at all (§ 6). Your 5 km time is different, and we say so plainly: if you have a running goal and no time on file, the coach may ask you for it once in conversation, so that question and your answer pass through our AI provider like the rest of the chat (§ 6). None of these numbers is ever derived from a sensor on its own — we only store a figure you entered, or one measured by a workout you started in the App. A reading from a chest strap or a watch never becomes your stored maximum or resting rate by itself.

Filling the resting rate from Apple Health. If you have turned on sleep & recovery sharing (§ 3.16), which is off by default, the App offers a button beside the resting-heart-rate field that copies the most recent resting heart rate Apple Health already holds for you. This reads nothing new: it is the same value, from the same permission, that the sleep & recovery feature already reads each day. Nothing is copied unless you tap the button; the number then sits in the field where you can see it, change it, or clear it; and if a figure is already stored there, we ask you before replacing it. Without that sharing turned on the button is not offered at all, and the field is filled in by hand as before. What we store is still only ever a number you put there.

3.19 How you use the App (usage analytics)

To understand how the App is actually used — where people get stuck in the initial setup, which screens are never found, and which features go unused — we record how you move through the App using PostHog, hosted in Frankfurt, Germany (see § 5). This covers which screens you open, which buttons you tap, how far you get through a multi-step flow, and which version of a screen you were shown when we are testing two designs against each other.

Each record carries your Brogress account identifier, so that we can tell one person’s path through the App from another’s. It does not carry your name, your handle or your e-mail address.

The following are never sent to PostHog, by design and not merely by policy:

You can object to this processing at any time, in Settings → Privacy & Data in the App. Your objection is stored on your account, so it survives signing out, reinstalling the App and switching to a new iPhone — and it is applied again automatically every time you sign in. See § 4 and § 9.

An objection also deletes what is already there. We do not merely stop collecting: when you object, we ask PostHog to erase your analytics profile and every event recorded under it, and we keep asking until it is done. Nothing else about your account changes — your plan, your coach and your own data are untouched. This is Art. 17(1)(c) GDPR: once you object to processing based on our legitimate interest and we have no overriding grounds — and for usage analytics we have none — the data has to go, not just the future collection.

3.20 Meals you log (FUEL)

If you use the App’s nutrition features, we store for each meal you log: the name of the food, the amount, the time and day you ate it, the calories and macronutrients (protein, carbohydrate, fat) and, where the source provides them, further nutrient values. We also store how the entry was created — typed by hand, repeated from a previous entry, recognised from a photo, scanned from a barcode, taken from a recipe, or captured during a conversation with the coach.

If you photograph a meal. The photo is sent to our AI provider (Microsoft Azure AI Foundry, EU Data Zone — see § 5) so that the food in it can be identified and the entry pre-filled, and it passes the same automated safety scan described in § 3.15. We ask for your explicit consent before this happens, and we record that consent.

If you scan a barcode. Your iPhone looks the product up directly with Open Food Facts, an open food database run by a non-profit association in France. The request is made by your device, not by our servers, which means Open Food Facts receives your IP address along with the barcode and an identification of the App. We send them nothing else — no account identifier, no name, nothing about your other meals — and the lookup only happens when you scan something. Their data stays in the EU. If you would rather not use it, enter the food by hand instead.

We also look foods up in the USDA FoodData Central database. That lookup is made by our servers, not by your phone, so no information about you reaches it — it never sees your IP address and never learns who asked.

If you share a meal to the community feed. With your explicit consent, the photo, the food’s name and — unless you hide them — its calories and macronutrients are published to the feed together with your display name, handle and profile picture, exactly as described for proof photos in § 3.15. The recipient is other Brogress users, not our AI provider. Deleting the post is how you take it back; a shared post has already left your device.

Meals you log can also be written into Apple Health if you allow it — see § 3.16. Nothing about a meal is ever sent to PostHog (§ 3.19).

3.21 E-mails we send you

If you switch on the weekly progress summary, we send it to the e-mail address associated with your Apple ID (or to your Apple Private Relay alias, if that is what you chose at sign-in). It is delivered through Microsoft Azure Communication Services — the same sub-processor that hosts the rest of our backend (§ 5) — and it contains a summary of your own activity for the week.

Every one of these e-mails carries an unsubscribe link, and you can also switch the summary off in the App’s settings. We do not send marketing e-mails, newsletters or product announcements; if that ever changes, this Policy will say so before the first one is sent.

§ 04How we use your data & legal bases

We process your personal data only on the legal bases set out in Art. 6 (and where applicable Art. 9) of the GDPR.

Purpose Legal basis
Operating the App and providing the coaching service to you Performance of a contract — Art. 6(1)(b) GDPR
Sending coach messages to our AI provider so that the coach can reply Performance of a contract — Art. 6(1)(b) GDPR
Storing your self-reflection responses and using them to personalize the coach Explicit consent — Art. 6(1)(a) and Art. 9(2)(a) GDPR
Reading Apple Health data to auto-complete the missions and confirm the training sessions you link, and to record measurement readings (see § 3.16) Explicit consent — Art. 9(2)(a) GDPR
Sharing the type and completion status of HealthKit-matched workouts with our AI provider to tailor the coach’s guidance (see § 3.16 and § 6) Explicit consent — Art. 9(2)(a) GDPR
Storing your nightly sleep and daily resting heart-rate/HRV totals and using them to propose plan adjustments that you confirm or decline (see § 3.16) Explicit consent — Art. 9(2)(a) GDPR
Storing the training numbers you enter yourself — your height, weight and, if you know them, your maximum and resting heart rate — and using them to show you personal calorie, pace and heart-rate targets (see § 3.18) Explicit consent — Art. 9(2)(a) GDPR. You give it by entering the number, whether you type it or tap the button that copies your resting heart rate from Apple Health (see § 3.18). Each field is optional, nothing in the App is withheld if you leave it empty, and clearing it removes the value and the targets derived from it
Sending push reminders Consent — Art. 6(1)(a) GDPR; granted in iOS settings; revocable any time
Recording and counting your ballot when we put a product decision to the community (see § 3.17) Legitimate interests — Art. 6(1)(f) GDPR: developing the product in line with what our users want, and honouring the public commitment we made to ask them. You submit the ballot yourself, it is used only in aggregate, and you can object at any time by withdrawing it in the App
Showing your stats to friends you have added Performance of a contract — Art. 6(1)(b) GDPR; friend features are opt-in
Storing and serving your uploaded profile picture so that it can be displayed in the App (see § 3.13) Performance of a contract — Art. 6(1)(b) GDPR
Sharing your proof photos in the photo feed according to your chosen visibility, and processing the Respects and comments you and other users exchange there (see § 3.15) Performance of a contract — Art. 6(1)(b) GDPR; you choose each photo’s visibility at capture
Automated scanning of proof photos for sexual, violent, or self-harm imagery before storage (Azure AI Content Safety — see § 3.15 and § 10) Legitimate interest — Art. 6(1)(f) GDPR (keeping the platform safe and free of abusive imagery)
Operating, debugging, and improving the Service through logs and crash reports Legitimate interest — Art. 6(1)(f) GDPR (keeping the Service reliable)
Processing in-app subscriptions and entitlements through Adapty (see § 5) Performance of a contract — Art. 6(1)(b) GDPR
Subscription analytics through Adapty (paywall interactions, conversion, retention) Legitimate interest — Art. 6(1)(f) GDPR (operating, measuring, and improving the subscription product)
Counting completed debriefs to enforce the free-plan lifetime limit Performance of a contract — Art. 6(1)(b) GDPR
Recording how you move through the App — screens opened, buttons tapped, how far you get through a setup flow, and which version of a screen you were shown in a design test — so we can find where the App confuses people and fix it (see § 3.19) Legitimate interest — Art. 6(1)(f) GDPR (understanding and improving how the App works). We have assessed this against your interests: the data contains no health values, no free text and no assessment results, it is stored in the EU, and you can object at any time in Settings → Privacy & Data
Storing the meals you log — food, amount, time, calories and macronutrients (see § 3.20) Performance of a contract — Art. 6(1)(b) GDPR
Sending a photographed meal to our AI provider so the food in it can be identified Explicit consent — Art. 6(1)(a) GDPR, asked for before the first photo and recorded
Looking a scanned barcode up with Open Food Facts, from your device Performance of a contract — Art. 6(1)(b) GDPR (the lookup you asked for). It happens only when you scan
Publishing a meal you chose to share — photo, food name and, unless hidden, calories and macronutrients — to the community feed Explicit consent — Art. 6(1)(a) GDPR, given per post
Sending the weekly progress summary by e-mail to users who switch it on (see § 3.21) Performance of a contract — Art. 6(1)(b) GDPR; switched on by you and revocable by the unsubscribe link or in Settings
Complying with legal, accounting, and tax obligations Legal obligation — Art. 6(1)(c) GDPR

Where we rely on legitimate interests (Art. 6(1)(f)), you have the right to object to that processing — see § 9.

§ 05Sub-processors and recipients

We use the following carefully selected sub-processors. We do not sell your personal data, and we do not share it with anyone for marketing purposes.

Sub-processor Purpose Categories of personal data Location Safeguards
Microsoft Ireland Operations Ltd. (Microsoft Azure) Backend hosting (PostgreSQL, Blob Storage, Cosmos DB Gremlin, Application Insights), the AI coach (Azure AI Foundry), and automated image moderation of mission proof photos (Azure AI Content Safety — see § 3.15) Account identifiers, coach conversations, coach profile (incl. private notes), self-reflection responses, knowledge graph, missions, achievements, points, breathing-session metadata, social-graph rows, profile pictures, mission proof photos, server logs (incl. IP), and the AI prompts and completions described in § 6 Backend storage in Sweden Central; AI Foundry deployed with the EU Data Zone (inference may route to any Microsoft region within the EU) DPA + Microsoft Online Services Terms; data stays within the EU
Apple Distribution International Ltd. Sign in with Apple authentication; Apple Push Notification service (APNs) Apple user identifier, email address (or Private Relay alias), given/family name on first sign-in, device push-notification token Apple global infrastructure (incl. United States) EU–U.S. Data Privacy Framework
Sentry GmbH / Functional Software, Inc. dba Sentry Crash and error reporting Crash diagnostics (stack traces, app version, OS, device model); may incidentally include short text fragments from a server response. We have configured Sentry not to send your user ID Frankfurt, Germany (de.sentry.io) DPA; data stays in the EU
Adapty Tech Inc. Subscription management, entitlement sync, paywall analytics Apple identifierForVendor (IDFV), Brogress account ID, App Store purchase events (product, price, country, transaction state, renewal status), paywall interactions United States DPA signed; certified under the EU–U.S. Data Privacy Framework (Art. 45 GDPR adequacy decision)
Google LLC / Google Ireland Limited Website analytics on brogress.app (Google Analytics 4) — loaded only after you click Accept on the cookie banner. Not used inside the mobile App. See § 16 Anonymised IP address (truncated by Google before storage), _ga* first-party cookie ID, page URL, referring URL, utm_* campaign parameters, browser, OS, device class EU front-end servers; aggregated reporting data may be stored on Google infrastructure in the United States DPA via Google’s Data Processing Terms; EU Standard Contractual Clauses; certified under the EU–U.S. Data Privacy Framework (Art. 45 GDPR adequacy decision); IP anonymisation enforced; Google Signals + ad personalisation disabled; data retention set to 2 months
PostHog, Inc.
2261 Market St. #4008, San Francisco, CA 94114, USA
Product analytics inside the mobile App — which screens are opened, which buttons are tapped, how far you get through a setup flow, and which variant of a screen you were shown in a design test (see § 3.19) Brogress account ID, device and App version, operating-system version, screen and interaction names, and the setup step you reached — plus, only if you choose to answer the optional box described in § 3.19, what you wrote in it. No other free text, and no health values, self-reflection or workshop answers, photos, voice, location, or crisis-support usage Stored in Frankfurt, Germany (PostHog Cloud EU). IP addresses are not recorded. PostHog, Inc. is established in the United States, so support and maintenance access may take place from there DPA signed; certified under the EU–U.S. Data Privacy Framework (Art. 45 GDPR adequacy decision); EU Standard Contractual Clauses
Open Food Facts
Association Open Food Facts, France
Looking up a product when you scan a barcode in the App’s nutrition features (see § 3.20). 🔴 The request is made by your device, not by our servers The barcode you scanned, your IP address, and an identification of the App and its version. No account identifier, no name, and nothing about your other meals France (European Union) An open, non-profit database; the data stays in the EU. The lookup occurs only when you scan a barcode, and you can avoid it entirely by entering foods by hand
Intuit Inc. (Mailchimp) The pre-launch waitlist on brogress.app — storing your e-mail address and sending you launch announcements. Not used by the mobile App E-mail address, and the signup timestamp and IP address Mailchimp records as proof of consent United States DPA via Intuit’s Data Processing Addendum; EU Standard Contractual Clauses; certified under the EU–U.S. Data Privacy Framework (Art. 45 GDPR adequacy decision). The waitlist audience is deleted when Brogress launches on the App Store
Supabase Inc. Storing the answers to the optional waitlist quiz on brogress.app. Skipping the quiz stores nothing. Not used by the mobile App E-mail address, the priority, age range and referral source you selected, and the utm_source parameter on your inbound link Frankfurt, Germany (AWS eu-central-1) DPA; EU Standard Contractual Clauses for any support access from outside the EU. These rows are deleted when Brogress launches on the App Store

We will update this list before adding any new sub-processor that processes personal data on our behalf. If you would like a copy of any of the data-processing agreements above, please email hello@brogress.app.

In addition to the sub-processors above, we may share your personal data with public authorities (e.g., the German tax office, courts, or police) where we are required to do so by law (Art. 6(1)(c) GDPR).

§ 06What we send to our AI provider

Because this is the data flow most likely to surprise you, we describe it explicitly. Every time the coach replies to you, we send the following to Microsoft’s Azure AI Foundry service (deployed with the EU Data Zone, meaning inference is restricted to Microsoft regions within the European Union):

We do not send: your email address, your IP address, your device token, your account UUID, or any other user’s data.

Microsoft retention for abuse monitoring

Under the default Azure OpenAI / AI Foundry policy, Microsoft retains prompts and completions for up to 30 days for abuse- monitoring purposes, accessible only to authorized Microsoft personnel for that purpose. If we have obtained “Modified Abuse Monitoring” status from Microsoft, this retention does not apply. Email hello@brogress.app if you would like to know our current status.

Microsoft does not train AI models on your data

Under Microsoft’s Azure OpenAI / AI Foundry enterprise terms, the prompts and completions we send for inference are not used to train, retrain, or improve Microsoft’s foundation models, OpenAI’s foundation models, or any other model offered through the service. Inference is performed against pre-trained models; your conversations do not become training data, and they are not shared with OpenAI or any other third party outside the contractual processing relationship with Microsoft.

§ 07International transfers

The vast majority of your personal data is processed and stored within the European Union. Backend storage (PostgreSQL, Blob Storage, Cosmos DB Gremlin, Application Insights) is deployed to Microsoft Azure’s Sweden Central region; the AI coach is deployed with Microsoft’s EU Data Zone, restricting inference to Microsoft regions within the EU; crash reports are processed by Sentry GmbH in Frankfurt. Microsoft may replicate operational backups to other Microsoft data centres within the EU for redundancy.

Three of our sub-processors are based in the United States:

Where any other transfer outside the EEA may incidentally occur (for example, if Microsoft replicates standard backups to a paired region), we rely on the European Commission’s Standard Contractual Clauses (SCCs) (Art. 46(2)(c) GDPR) together with our sub-processors’ supplementary technical and organisational measures.

§ 08How long we keep your data

Category Retention
Account data, coach conversations, coach profile (incl. private notes), goals, missions, achievements, point events, assessment responses, knowledge graph, breathing sessions, social graph Until you delete your account (no automatic rotation)
Meals you log, and meals you shared to the community feed (see § 3.20) Until you delete your account, or until you delete the individual entry or post
App usage analytics (PostHog — see § 3.19) Until you object (§ 3.19), or until you delete your account — whichever comes first. Either one erases your analytics profile and every event recorded under it from PostHog: on deletion as part of the same purge that clears our own database, and on an objection within the hour, retried until it is done. In both cases we confirm with PostHog that it has been carried out. PostHog also applies its own platform retention limit, whichever comes first
Application server logs (Azure Application Insights) ~90 days
Crash and error reports (Sentry) ~90 days
AI provider prompt/completion records held by Microsoft for abuse monitoring Up to 30 days (Microsoft default)
Internal AI-call rate-limit log 2 days (auto-purged)
Community poll ballots (see § 3.17) Only while the poll is open. When it closes we keep the totals and delete who voted for what
Sleep & recovery daily values (see § 3.16) Until you turn sleep & recovery sharing off — which deletes them — or delete your account
Profile picture (if uploaded) Until you remove it via Settings or delete your account; an upload replaces any earlier picture immediately
Mission proof photos (if you take them — see § 3.15) Until you remove the day’s completion, delete the mission, or delete your account
Adapty subscription profile (IDFV, purchase events, paywall interactions) Until you delete your account; on deletion we call Adapty’s GDPR profile-and-data delete endpoint to remove the profile on their side. Tax-relevant purchase records may be retained independently — see the row below
Irreversible identifier attached to a block or report filed against you (see “What survives a deletion” below) Created only when your account is deleted; kept up to 12 months after that, and no longer than the block or report itself
Account data we are legally required to retain (e.g., tax records relating to a paid subscription) As long as required under German law — typically up to 10 years under § 257 HGB and § 147 AO

Account deletion. When you delete your account in Profile › Settings › Delete Account, we purge all of the categories above from our active systems: the relevant rows in our PostgreSQL database, every blob under your user prefix in Azure Blob Storage, your profile picture in the brogress-avatars container, your partition in our Cosmos DB knowledge graph, your Adapty profile (via Adapty’s GDPR delete-profile-and-data API), and we revoke your Apple refresh token. Anything we are legally required to retain is segregated and deleted as soon as the legal retention period expires.

When deletion takes effect. Your account is deactivated immediately — you are signed out and no longer appear to other users — and the purge described above runs automatically about 72 hours later. During that window, signing back in with Apple restores your account intact; after it, the purge is irreversible. The delay exists so that an accidental or regretted deletion can be undone, and it is well within the “without undue delay” standard of Art. 17 GDPR. If you would like your data purged sooner, email hello@brogress.app from the address on your account and we will action it manually.

What survives a deletion, and why. There is one narrow exception to the above. If another user has blocked or reported you, deleting your account does not remove their block or that report — those records exist to protect somebody else, and letting a deletion erase them would mean anyone could clear a block simply by deleting their account and signing up again. So that such a block keeps working if you do return, we attach to it — at the moment your account is purged, and only then — a keyed, irreversible cryptographic hash of your Apple sign-in identifier. Nothing of the kind is stored while your account exists. This hash cannot be reversed into your Apple ID, cannot be used to contact or identify you, is meaningless outside Brogress, and is read only once — at the moment an account is created — to re-apply a block that already existed.

A report someone filed about you is kept the same way, and at the same moment any evidence attached to it is stripped of your data: the account identifier, photo links, mission and food names, and the text of anything of yours that was reported are all removed, leaving only the date and the fact that the report concerned a photo or a comment. Everything else about your account is deleted exactly as described above.

The legal basis is our legitimate interest in protecting our users from harassment and in meeting our platform-safety obligations (Art. 6(1)(f) GDPR), which we consider to override the limited interest in erasing a value that identifies nobody. We keep it for no more than 12 months, and it is deleted sooner in any of three cases: the moment you register again (the block re-applies and the hash is no longer needed, so it is removed), if the person who blocked you deletes their own account, or if they remove the block once you have returned. You can object to this processing under Art. 21 GDPR by writing to hello@brogress.app.

§ 09Your rights under the GDPR

Under the GDPR you have the rights set out below. To exercise any of them, email hello@brogress.app from the address associated with your account; we will respond within 30 days (Art. 12(3) GDPR). Exercising your rights is free of charge.

Right to lodge a complaint (Art. 77). If you believe we have mishandled your personal data, you can complain to a supervisory authority. The competent authority for our company is:

Der Landesbeauftragte für den Datenschutz und die Informationsfreiheit Baden-Württemberg Königstraße 10a
70173 Stuttgart, Germany
poststelle@lfdi.bwl.de
+49 711 615541-0

You may also lodge a complaint with the supervisory authority in the EU Member State of your habitual residence or place of work.

§ 10Automated decisions and profiling

The App computes derived metrics about you — your six pillar scores, your overall level, your point total, suggested challenges, and which achievements to surface — based on your activity. These are automated, but they have no legal effects or similarly significant effects on you, and so Art. 22 GDPR does not apply: they only determine what you see inside the App.

The coach also generates and updates the “private notes” described in § 3.3, which is a form of profiling within the meaning of Art. 4(4) GDPR. The notes are used solely to make the coach’s replies more consistent and personal to you; they are not shared with any third party other than our AI provider, and they have no effects outside the App. You can request a copy of the notes by emailing us.

Automated image rejection. When you take a mission proof photo (see § 3.15), an automated system (Azure AI Content Safety) scans it for sexual, violent, and self-harm imagery before it is stored. If the scan classifies the image above our severity threshold, the upload is rejected automatically, without human involvement. The only consequence is that the photo is not stored and not posted — you can immediately retake the photo. The scan result is not attached to your account and is not used to build any profile of you, and the rejection has no legal or similarly significant effect on you, so Art. 22 GDPR does not apply. No human reviews your photos unless another user reports the related post.

§ 11Security

We protect your personal data with appropriate technical and organisational measures (Art. 32 GDPR), including:

Honest disclosure: who can read your data

We do not currently apply application-layer (end-to-end) encryption to your coach conversations or coach profile. This means that, in addition to Microsoft (which holds the at-rest keys), authorized members of our team can technically read your data, although we do so only when necessary to debug issues, investigate reports, or improve the Service.

Client-side, user-key encryption is something we may explore in future versions. We will update this Policy if and when that ships.

We will notify you and the competent supervisory authority of a personal data breach in line with Articles 33 and 34 GDPR.

§ 12Minors

Brogress is intended exclusively for adults. You must be at least 18 years of age to create an account or otherwise use the Service. By creating an account, you confirm that you are at least 18. If we become aware that we have collected personal data from a person under 18, we will delete that data as soon as possible. If you believe a person under 18 is using the Service, please email hello@brogress.app.

§ 13Aggregated and de-identified data

We may aggregate and irreversibly de-identify usage data from across our user base — for example, the distribution of pillar scores, achievement unlock frequencies, completed-debrief counts per cohort, paywall conversion rates, and retention curves — in order to understand how the Service is used, to evaluate features, and to make product decisions. Aggregated and de-identified data is not personal data within the meaning of Recital 26 of the GDPR (or § 1798.140(m) of the California Consumer Privacy Act). We do not attempt to re-identify aggregated data, we do not combine it with personal data after de-identification, and we may retain it indefinitely for the purposes above. We do not sell or share aggregated data for advertising purposes.

§ 14Business transfers

In the event of a merger, acquisition, reorganisation, financing, asset sale, insolvency, or similar transaction, your personal data may be transferred to a successor or affiliated entity. Any such transfer will remain subject to this Privacy Policy, or to a privacy policy that is at least as protective. Where the transfer would materially change how your personal data is processed, we will notify you in the App or by email at least 30 days in advance, and you may delete your account before the transfer takes effect — see § 8 on what happens when you delete.

§ 15US Residents and US state consumer rights

15.1 Who this section applies to

This section provides additional disclosures and rights for residents of the United States, in particular under the California Consumer Privacy Act (CCPA) as amended by the California Privacy Rights Act (CPRA) and its 2026 implementing regulations. Parallel rights apply to residents of Virginia (VCDPA), Colorado (CPA), Connecticut (CTDPA), Utah (UCPA), and Texas (TDPSA); where those laws grant rights that go beyond the CCPA, we honour them. For residents of the European Union, the United Kingdom, and Switzerland, the rights described in § 9 apply instead and are usually broader than those listed below.

15.2 Categories of personal information we collect

Below is the same data described in § 3, mapped onto the categories defined in CCPA § 1798.140(v). For each category we identify the source, the purpose, and the recipients — named sub-processors are listed in § 5.

CCPA category Examples we collect Source Disclosed for a business purpose to
Identifiers Apple user identifier, Brogress account UUID, IP address, device push-notification token You; your device; Apple at sign-in Microsoft Azure; Apple; Sentry
Customer-records information Name (given/family on first sign-in), display name, handle, email address (or Private Relay alias) You; Apple Microsoft Azure; Apple
Internet or other electronic activity Server logs (request metadata, truncated coach-message fragments for debugging), in-App interactions, paywall events, community poll ballots while a poll is open (see § 3.17) Your device; our backend Microsoft Azure; Sentry; Adapty
Geolocation What we collect is an IP-derived approximate region. Precise location is read on your device during an outdoor workout you start yourself — to draw your route, measure distance and pace, and speak your splits — and it is not collected by us: the route stays on your iPhone and in Apple Health, and only the summary (distance, duration, average pace, splits) reaches our servers. See § 3.12. (This row read “no GPS or precise geolocation” until 2026-08-24, which was true of what we receive and false of what the App reads.) Your network connection; your device’s GPS (on-device only) Microsoft Azure (region only)
Audio, electronic, or visual information Profile picture, if you upload one, and mission proof photos, if you take them (each re-encoded with all EXIF metadata stripped, see § 3.13 and § 3.15). We do not receive your voice — voice is transcribed on-device and only the resulting text leaves your phone (see § 3.8) You Microsoft Azure
Commercial information Subscription status, App Store purchase events, paywall interactions Apple App Store via Adapty Adapty; Microsoft Azure
Inferences Six-pillar scores, level, point totals, suggested challenges, the coach’s “private notes” (see § 3.3) — all derived from your activity in the App Generated by Brogress from your activity Microsoft Azure
Sensitive personal information (CCPA § 1798.140(ae)) Self-reflection responses (psychometric items), contents of coach conversations including text from voice transcription, the knowledge-graph inferences about you, mental-wellbeing indicators derived from your messages. Health and exercise data: the body measurements and training numbers you enter into your profile (height, weight, maximum and resting heart rate, current 5 km time), the daily sleep, resting heart rate and HRV totals you may choose to share, and the Apple Health types you may choose to connect (§ 3.16). Added 2026-08-24: this row named none of it while three separate features were collecting it, which was an omission and not a decision. You; Apple Health (only with your permission) Microsoft Azure (Sweden + EU Data Zone)

We retain each category for the periods described in § 8. You have the right to access this data including data older than 12 months, by emailing hello@brogress.app.

15.3 We do not sell or share personal information

We do not sell personal information for monetary or other valuable consideration, and we do not share personal information for cross-context behavioural advertising, as those terms are defined in CCPA §§ 1798.140(ad) and (ah). Brogress runs no advertising, embeds no advertising or analytics SDKs, and does not have advertising or data-broker partners. No “Do Not Sell or Share My Personal Information” opt-out mechanism is therefore required, but if you would like written confirmation of this for your records, email hello@brogress.app with the subject line Do Not Sell or Share.

15.4 We do not use automated decision-making technology for significant decisions

The automated processing described in § 10 (computing your six-pillar scores, awarding points, surfacing achievements, generating coach replies and the “private notes”) determines only what you see inside the App. It does not make decisions that affect your employment, housing, credit, education, healthcare, insurance, or access to essential goods and services, and it does not have any legal or similarly significant effect on you. The CCPA right to opt out of ADMT for significant decisions therefore does not apply; you may nonetheless stop all automated processing at any time by deleting your account.

15.5 We do not run a financial-incentive programme

Brogress charges a flat subscription price (see § 3.11). We do not offer rewards, discounts, free service, or other financial incentives in exchange for the collection, retention, sale, or sharing of personal information. There is therefore no financial-incentive notice to make under CCPA § 1798.125(b).

15.6 Use of sensitive personal information

We use the sensitive personal information listed in § 15.2 only to provide and personalise the contracted Service as described in § 3, § 4, and § 6. We do not use sensitive personal information to infer characteristics about you that fall outside the Service, to target advertising, or for any of the secondary purposes that would trigger the CCPA right to limit (CCPA § 1798.121). The 2026 CCPA regulations classify the contents of messages as sensitive personal information unless the recipient is the intended recipient; the AI coach you converse with is the intended recipient of your messages within the meaning of the regulation, and the contents of those messages are not disclosed to any human at Microsoft except under the limited 30-day abuse-monitoring process described in § 6.

15.7 Your rights as a US resident

15.8 Authorised agents

You may designate an authorised agent to submit a request on your behalf. The agent must provide written authorisation signed by you, and we may verify the authorisation directly with you before fulfilling the request. We may deny a request from an unverified agent.

15.9 Verification

We verify your identity by matching the email address you contact us from against the email address associated with your Brogress account. For requests involving sensitive personal information or deletion, we may ask additional questions tied to your account activity (for example, the approximate date of your first debrief, the topic of a recent conversation, or your subscription start date) before fulfilling the request. We will not request more information than necessary to verify identity.

15.10 Response timeline

We respond to verifiable consumer requests within 45 days of receipt, extendable by up to 45 additional days where reasonably necessary, with notice to you, in line with CCPA § 1798.130(a)(2). For requests under the GDPR (EU/UK residents), our response window is one month per Art. 12(3) GDPR (see § 9).

15.11 Annual disclosure metrics

For the preceding 12 months: number of personal-information sales: zero (we do not sell). Number of personal- information sharing transactions for cross-context behavioural advertising: zero (we do not share). We will publish access-, deletion-, and correction-request volumes annually in this section starting with our first full operating year after launch.

15.12 Notice at collection

This Privacy Policy serves as our notice at collection under CCPA § 1798.100(b). We provide the same notice in-App on the Welcome screen before you sign in, and a link to this Policy is available from the App’s settings menu.

15.13 Children’s information

Per § 12, Brogress is for adults aged 18 and over only. We do not knowingly collect personal information from anyone under 18, which exceeds the CCPA threshold of 16 (consent required for sale or sharing) and the COPPA threshold of 13. We do not sell or share personal information regardless of age.

§ 16Cookies and analytics on the website

The brogress.app website uses two categories of storage:

  1. Strictly necessary — a single localStorage key (brogress.consent.v1) that remembers your cookie-banner choice, and short-lived cookies the page sets for its own operation (session keep-alive, CSRF). These are exempt from § 25 (1) TDDDG and rest on Art. 6 (1)(f) GDPR (legitimate interest in a functional website).
  2. Google Analytics 4 (only after you click “Accept” on the cookie banner) — we use Google Analytics 4 to count visits to brogress.app and identify which marketing channel referred them (the utm_source parameter on your inbound URL). Lawful basis: your consent (Art. 6 (1)(a) GDPR + § 25 (1) TDDDG). You can withdraw your consent at any time via the Manage cookies link in the page footer.

When you have given consent, Google Analytics 4 collects: the page URL, the referring URL, an anonymised IP address (Google truncates the IP before storage and we have IP-anonymisation enabled), browser, OS, and device class, a pseudonymous client identifier stored in a first-party _ga* cookie, and the standard utm_* parameters on your inbound link. We have switched off Google Signals data collection, granular location/device data collection, and ad personalisation signals; data redaction is enabled to strip query parameters that look like personal data. Data retention inside the GA4 property is set to 2 months, the shortest retention period Google permits.

Google LLC (United States) is our processor for the analytics service; the processor relationship and EU–U.S. transfer safeguards (Standard Contractual Clauses + EU–U.S. Data Privacy Framework) are summarised in § 5. The mobile App does not use web cookies and is not covered by this section.

§ 17Changes to this Policy

We will post a new version of this Policy here whenever we make a material change. The “Effective” date at the top reflects the version currently in force. For changes that affect how we use your personal data in a substantial way, we will additionally notify you in the App or by email. For US residents, we will provide notice of material changes to § 15 at least 30 days before they take effect.

§ 18Contact

For any privacy question, request, or complaint:

Netsh UG (haftungsbeschränkt) Hermann-Löns-Strasse 13A
78234 Engen, Germany

Email: hello@brogress.app