Professor PTCoach sign in

Data Processing Agreement: [PRODUCT NAME]

Version: v0.1 DRAFT (16 Oct 2026)

1. Who this is between

  • You, the coach ("the controller"), as named in your [PRODUCT NAME] account.
  • SH Studios Digital Ltd ("SH", "the processor"), company number [PLACEHOLDER: company number], [PLACEHOLDER: registered address], ICO registration ZC225207.

This agreement is part of the Coach Terms. You accept it by ticking the box at your first sign-in. If this agreement and the Coach Terms disagree on personal data, this agreement wins.

2. What this agreement covers

You decide why and how your clients' and enquirers' personal data is used. We handle it for you, to run [PRODUCT NAME]. Annex 1 lists the data, the people it is about, what we do with it and for how long.

This agreement does not cover data about you as our customer (your account and billing). We are the controller of that, and our privacy notice at https://pt.shstudios.uk/privacy explains it.

3. What we promise

3.1 Only on your instructions

We process your clients' data only to run the app for you, as these terms, your settings and your actions in the console describe. Those are your documented instructions. If we think an instruction breaks data protection law, we will tell you. If the law makes us process data in another way, we will tell you first, unless the law forbids that.

3.2 Confidentiality

Only people who need access to run or support the app can reach your clients' data. Each of them is bound to keep it confidential.

3.3 Security

We keep the data safe with the measures in Annex 2, and we keep them up to date.

3.4 Sub-processors

  • You give us general permission to use the sub-processors in Annex 3.
  • Each one is bound by a written contract with data protection terms at least as strong as this agreement.
  • We tell you at least 30 days before we add or replace a sub-processor, by email and in the console. If you object on reasonable data protection grounds, tell us within that time. We will try to find a way round it. If we cannot, you can end the Coach Terms without penalty before the change.
  • We stay responsible to you for what our sub-processors do.

3.5 Helping with your clients' rights

The app lets you and your clients:

  • export a client's data (the client's "Download my data", and your "Export everything");
  • correct data in the console;
  • delete a client's account (in the app, at https://pt.shstudios.uk/delete-account, or by request);
  • record and withdraw consents.

If a client sends a request to us instead of you, we pass it to you without delay and do not answer it ourselves unless you ask us to. If you need more help than the app gives, we help at no charge for reasonable requests.

3.6 Breaches

If we become aware of a personal data breach affecting your clients' data, we tell you without undue delay, and aim to do so within 48 hours. [DECIDE: 48 hours is a recommendation, so that you can meet your own 72-hour duty to tell the ICO.] We tell you what happened, what data and how many people may be affected, what we have done, and who to contact. We help you notify the ICO and your clients if needed.

3.7 Helping with your other duties

We give you the information you reasonably need for a data protection impact assessment, or if the ICO asks you about the app.

3.8 At the end

When your account closes:

  1. you can export everything first;
  2. we delete your clients' data within 30 days;
  3. except data you told us to keep for its retention period (for example signed health checks), which we keep, locked, and delete at the end of that period;
  4. and except where the law makes us keep something.

Backups are overwritten on their normal cycle: [DECIDE: recommended 35 days, see README "Backups"].

3.9 Audits

We make available the information you need to show we keep to this agreement. You can ask questions in writing at any time. You may audit us, or have an independent auditor do it, once a year with 30 days' notice, at your cost, without seeing other coaches' data. We may answer first with written answers and our providers' own security reports.

4. Your promises

  • You have a lawful basis for the data you put in the app. For health data, you rely on your clients' explicit consent, which the app collects with a separate, unticked box.
  • You give your clients your own privacy notice.
  • You are registered with the ICO, unless an exemption applies.
  • Your instructions to us follow the law.

5. Transfers outside the UK

Our main database and files are in London. Some sub-processors are based in, or give support from, other countries. We transfer data outside the UK only with a safeguard the UK GDPR allows: an adequacy decision (including the UK-US data bridge for certified US companies), or the IDTA or UK Addendum with a transfer risk assessment. Annex 3 names the safeguard for each.

6. How long this agreement lasts

It lasts as long as we hold your clients' data, including after your account closes until the deletion in section 3.8 is done.


Annex 1: details of the processing

ItemDetail
Subject matterRunning [PRODUCT NAME] for the coach: programmes, logging, check-ins, messages, enquiries, health checks, bookings and payments set-up
DurationWhile the coach's account is open, then until deletion under section 3.8
NatureStoring, organising, showing, syncing, sending notifications and emails, exporting, deleting
PurposeTo let the coach coach their clients and run their bookings, and nothing else
People the data is aboutThe coach's clients; people who send an enquiry; the coach's staff
Contact dataName, email, mobile number
Coaching dataGoal, training mode, programme, scheduled workouts, logged sets (reps, load, time, effort rating), session notes, skipped sessions, status and history
Health data (special category)Health check answers and signature, injuries, body weight, sleep, check-in answers and photos
MessagesText between coach and client, and attached photos
BookingsTime, type, place or phone, and the Google Calendar event ID if the coach connected a calendar
Consent recordsKind, text version, given and withdrawn times
Technical dataDevice ID, push token, app version, sync status, a salted hash of the enquirer's IP address (not the IP itself)
RecordsAn audit log of changes, with personal fields removed after deletion
Payment dataIf the coach takes payments: Stripe customer and subscription IDs, amounts and status. Card and bank details stay with Stripe

Default retention. The coach can change these in settings. [DECIDE: H-13 / 05 D13; these are the build defaults until the founders decide.]

DataDefault
Training logs, programmes, check-ins, messages, photos24 months after the client is archived, then deleted
Health check answers and the health consent record6 years after the client's last session, kept locked, then deleted
Enquiries that never became clients12 months
A client's data on account deletionDeleted straight away, except the health check and health consent (kept locked for the period above) and payment records the law requires (kept without the name)
Export filesThe download link works for 24 hours; the file is then deleted [VERIFY: M7-02 deletes the file, not only the link]
Push tokensUntil sign-out or the device stops responding
Sentry error reports[VERIFY: Sentry's retention on our plan, about 90 days] [DECIDE: M7 D4]

A nightly job deletes data that reaches its date and logs what it deleted.

Annex 2: security measures

  • Every table carries the coach's ID. Database access rules (row-level security) are forced on every table, so one coach's data cannot be read by another coach or another coach's client. Tests check this on every change.
  • Server-only secrets never reach the app or the browser. Builds are scanned for secret keys.
  • HTTPS for every connection. Encryption at rest by the hosting providers.
  • Google refresh tokens are encrypted (AES-GCM) and stored in a schema the app's API cannot reach.
  • Booking and resume links use random tokens that are stored only as hashes. No personal data in web addresses.
  • Enquirer IP addresses are stored only as a salted hash, to limit spam.
  • Health answers are append-only: they cannot be edited after they are signed.
  • Notifications and calendar events never contain health details or message text.
  • Error reports have health fields, messages and form answers removed, with IP collection and screen recording off. [DECIDE: M7 D4]
  • Sign-in by a one-time email code. No passwords to leak.
  • Admin accounts on our providers use two-factor sign-in. [VERIFY before launch]
  • Daily backups by Supabase, plus a nightly encrypted copy held by SH. [VERIFY: the nightly copy is encrypted at rest on the backup host]
  • An audit log of changes to clients, consents, bookings and programmes.

Annex 3: sub-processors

We give at least 30 days' notice of changes. Each row needs a dated link to the provider's DPA and region page before launch.

Sub-processorWhat it doesData it handlesWhereTransfer safeguard
Supabase Inc.Database, sign-in, file storage (check-in and message photos), server functions, scheduled jobsAll data in Annex 1London, UK (eu-west-2). Support staff may access from the US[VERIFY: Supabase DPA, and UK-US data bridge or IDTA / UK Addendum (05 §6.6)]
Netlify, Inc.Hosts the coach console and the public enquiry, booking and legal pages; runs page code on its serversWhatever passes through a page: coach and client data in transit, enquiry form dataGlobal network for pages. Server functions in [VERIFY: region; set an EU or UK region if offered][VERIFY: Netlify DPA and data bridge or IDTA]
[PLACEHOLDER: email provider]Sends sign-in codes, booking confirmations, reminders, invites, coach noticesEmail address, first name, booking time and type, the coach's business name[VERIFY: region. Resend offers an Ireland region (SERVICES §2)][VERIFY]
BunnyWay d.o.o. (Bunny Stream)Stores and streams the coach's exercise videosVideos, upload metadata, viewers' IP addresses when they play a video[PLACEHOLDER: Bunny storage region] (EU regions planned, SERVICES §5). Delivered through a global network[VERIFY: Bunny is an EU company; the UK recognises the EU as adequate]
Google LLC (Firebase Cloud Messaging)Delivers push notifications to Android, and relays to Apple for iPhoneDevice token, notification text (first names only, no health words, no message text)[VERIFY: global][VERIFY: Google DPA and data bridge]
Apple Inc. (Apple Push Notification service)Delivers push notifications to iPhoneDevice token, notification text as above[VERIFY: global][VERIFY]
Functional Software, Inc. (Sentry) [DECIDE: M7 D4]Error reportsError details and device type, with health fields, messages and form answers removed; no IP addressEU region [VERIFY: Frankfurt][VERIFY: Sentry DPA and data bridge]
Stripe Payments UK Ltd / Stripe, Inc.SH's billing of coaches (SH as controller). Client payments run on the coach's own Stripe account, where Stripe deals with the coach directly and is also a controller for its own dutiesClient name, email, payment status and amounts on the coach's account[VERIFY: Stripe entity and regions][VERIFY: Stripe data bridge or IDTA (05 §6.6)]
Google LLC (Google Calendar)Only for coaches who connect a calendar: reads free and busy times, writes booking events to a calendar the app createsBusy times; booking events with the client's first name, booking type and a console link[VERIFY: Google's regions][VERIFY: Google DPA and data bridge]
Google LLC (YouTube, privacy-enhanced mode)Plays YouTube videos the coach chose to linkThe viewer's IP address and device details when they press playGlobalGoogle acts as its own controller here. Listed so coaches know. [VERIFY with the solicitor whether this row belongs here or only in the notices]
[PLACEHOLDER: backup host]Holds SH's nightly database dump and file copyAll data in Annex 1[VERIFY: the SH box location, or the Mac mini in the UK if it replaces the box][VERIFY]
one.com [VERIFY]Hosts the SH support and privacy mailboxesWhatever coaches and clients write to us[VERIFY: Denmark / EU][VERIFY]

Not sub-processors: Apple's App Store and Google Play distribute the app and act under their own terms. We run no analytics, advertising or tracking tools.