SunCoach

Data Processing Agreement

Last updated: 2026-10-26

This Data Processing Agreement applies to coaches who use SunCoach with their clients. It sets out how SunCoach processes the client data a coach manages in the app, as required by Article 28 of the EU General Data Protection Regulation (GDPR) and Article 9 of the Swiss Federal Act on Data Protection (revFADP). It is part of our Terms of Service for every coach account and sits beside our Privacy Policy; for coach-managed data, this agreement governs.

1. Parties and definitions

This agreement is between the Coach — the person or business using SunCoach's coach features — and the operator of SunCoach (SunCoach):

Gökhan Kaya
Untere Vogelsangstrasse 205
8400 Winterthur
Switzerland
Email: privacy@suncoach.app

2. Roles

SunCoach acts as the Coach's processor for coach-managed data, and as an independent controller for what clients put into their own accounts. A client with an app account signs up with SunCoach directly, accepts its Privacy Policy and gives recorded consent before any coach sees their data; the Coach then receives that data as a controller in their own right, for their coaching.

Data Who decides why and how SunCoach's role
Offline records the Coach creates, and everything in them Coach Processor
Coach notes, notebook pages, session briefs, meal plans, guides and check-in forms written by the Coach Coach Processor
Sessions, fees, packages, payments and invoices the Coach records Coach Processor
Measurements the Coach enters for a client Coach Processor
The Coach's view of client data (meals, weight, habits, check-ins, progress photos) Coach, for their coaching Processor for the access it provides
What a client logs in their own account (meals, weigh-ins, photos, chat) Client and SunCoach Independent controller (Privacy Policy)
The Coach's own account, subscription and app usage SunCoach Controller (Privacy Policy)

The Coach is responsible for having a lawful basis for their own processing, including explicit consent for health data (Art. 9(2)(a) GDPR, Art. 6(7) revFADP) for offline records they create.

3. Subject matter, purpose and data

SunCoach hosts, stores, displays and analyses coach-managed data so the Coach can run a nutrition coaching practice, for as long as the Coach's account exists.

4. SunCoach's obligations

SunCoach processes coach-managed data only on the Coach's documented instructions, which are this agreement and the Coach's use of the app.

  1. Instructions. No processing for any other purpose. If an instruction appears to break data protection law, SunCoach tells the Coach without delay.
  2. Confidentiality. Everyone with access is bound to confidentiality.
  3. Security. The measures in Annex 1, kept at least at that level for the term.
  4. Sub-processors. Only as in section 5, each bound by obligations no weaker than these.
  5. Assistance. Help with data subject requests (section 8), breach notices (section 7), and data protection impact assessments or prior consultations where the Coach needs them.
  6. Deletion or return at the end, as in section 9.
  7. Information. Everything needed to show compliance with Art. 28 GDPR, as in section 10.
  8. Records. A record of processing activities carried out for coaches (Art. 30(2) GDPR, Art. 12 revFADP).

5. Sub-processors

The Coach authorises the sub-processors below. SunCoach gives at least 30 days' notice of a new one, by email or in the app; the Coach may object in that time and, if no solution is found, end this agreement.

Sub-processor Where data is processed What it does with coach-managed data
Supabase, Inc. EU (Ireland); server functions in the data centre nearest the caller Database, sign-in, file storage, server functions
Google LLC (Gemini API) USA / EU AI analysis the Coach asks for: session briefs, meal plans, guides, translation
Google LLC (Firebase Cloud Messaging) USA Delivering push notifications
Apple Inc. (Push Notification service) USA Delivering push notifications on iOS
Vercel, Inc. USA Hosting the web app
Cloudflare, Inc. USA DNS and email routing for suncoach.app

RevenueCat, and Apple and Google as app stores, process the Coach's own subscription, not client data, and are covered by the Privacy Policy. Open Food Facts is not a sub-processor: it receives only a scanned barcode number, never personal data.

6. International transfers

The database and file storage are hosted in the EU (Ireland). Server functions run in Supabase's data centre nearest to whoever calls them. Some sub-processors are in the United States. Each transfer there rests on the EU-US Data Privacy Framework or its Swiss-US extension where the provider is certified, and otherwise on the European Commission's Standard Contractual Clauses (as recognised by the Swiss FDPIC), with the provider's supplementary measures.

The Coach may ask for a copy of the safeguards for any sub-processor.

7. Personal data breaches

SunCoach tells the Coach without undue delay, and within 48 hours of becoming aware, of any breach affecting coach-managed data. That leaves the Coach time for their own 72-hour notice to a supervisory authority (Art. 33 GDPR) or a notice "as soon as possible" to the FDPIC (Art. 24 revFADP).

The notice says, as far as then known: what happened, which data and roughly how many people are affected, the likely consequences, what SunCoach has done and recommends, and a contact. SunCoach adds to it as it learns more.

8. Requests from clients

The Coach answers requests from their clients about coach-managed data; SunCoach helps. A request that reaches SunCoach but concerns the Coach's processing is passed to the Coach within 5 working days, unanswered.

Most requests the Coach can handle in the app:

Where the app has no button for it (for example a full export of one client's coach-managed data), SunCoach provides it on request within 30 days, free of charge.

9. Deletion and return

When the Coach deletes their account, SunCoach deletes coach-managed data at once: offline records and everything on them, notes and notebook pages with their files, sessions, packages, invoices, check-in forms, templates, saved replies and the practice logo. Clients with their own accounts keep their accounts and what they logged.

Before deleting, the Coach can export their revenue (CSV or PDF) and save any PDF the app makes. On request made before deletion, SunCoach returns coach-managed data in a machine-readable format within 30 days.

Copies in the providers' backups expire with those backups' retention period. SunCoach keeps nothing it is not required to keep by law.

10. Audits, liability, term and law

Annex 1: Technical and organisational measures

The measures in place as of 2026-10-26:

Area Measure
Access control Row-level security on every table: a coach reaches a client's data only while that client is theirs, and a client only their own. Logged-out visitors are refused on every table.
Server-owned data Subscription status, coach links and seat limits cannot be written from the app; a database trigger refuses it.
Linking a client Single-use invite links expire after 14 days; join links connect nobody until the coach accepts; wrong codes are throttled per account.
Encryption TLS for all traffic; data encrypted at rest by the hosting provider.
Authentication Supabase Auth with salted password hashes, or Sign in with Apple / Google.
Files Private storage buckets, each folder readable only by its owner and, for progress photos, their current coach.
Progress photos Adults only (checked in the database); re-encoded from pixels so no location or camera data is stored; never sent to AI.
AI processing Through SunCoach's own server function, no keys in the app; paid Gemini API terms (inputs not used for training); chat messages excluded from AI.
Server functions Callers identified from verified sessions; machine callers (push trigger, payments webhook) use dedicated secrets, never the service key.
Notifications Message previews in push notifications can be switched off by each user.
People Administrative access limited to the operator, bound to confidentiality.
Deletion Account deletion removes database rows in one transaction and the person's files through the storage API.