Trust centre

Sub-processor Register

Version 1.12.0 · September 2026

1. Purpose

This register lists every sub-processor engaged by Fishing 4 Flowers Limited in the delivery of the Fishing 4 Flowers SEND platform, together with the personal data each may access, the region in which it processes that data, and the basis of any transfer outside the United Kingdom.

It is referenced by the Record of Processing Activities, the Data Protection by Design and by Default Statement and the Data Protection Risk Assessment, and supports each controller’s assessment of the processing chain under Articles 28(2) and 28(4) UK GDPR.

2. Roles

The subscribing school, academy trust or local authority is the controller. Fishing 4 Flowers Limited is the processor. The organisations listed at section 3 are sub-processors: they process personal data on behalf of Fishing 4 Flowers in order that the service can be delivered to the controller.

Sub-processors are engaged only where they provide sufficient guarantees of appropriate technical and organisational measures. Each is engaged under the provider’s data processing terms, which impose obligations no less protective than those owed to the controller. Fishing 4 Flowers is compiling the executed references for each — legal entity, contract date and data processing agreement reference — and will provide them to a controller on request; until that is complete the register states the position without citing them.

3. Sub-processor register

Sub-processor Service provided Personal data accessible Region Transfer basis
Laravel Cloud (on AWS) Application hosting and PostgreSQL database All platform data at rest, including pupil identity, SEN profiles, ISPs and evidence document references. Document content passes through in memory during plan generation but is not stored UK — AWS eu-west-2 (London) No transfer — UK
Amazon Web Services — Bedrock Large language model inference for ISP generation The grounding payload sent for ISP generation. Not retained by the model provider; not used to train models UK — eu-west-2 (London) No transfer — UK
Amazon Web Services — SES Platform notification mail Recipient email address of the member of school staff notified, and opaque references to a pupil record, a document or an actor. No pupil name, filename or record content is placed in an email UK — eu-west-2 (London) No transfer — UK
Amazon Web Services — KMS Custody of the key-encryption key protecting pupil records None. Per-pupil data keys are wrapped and unwrapped under a key held here; the encrypted records themselves are never sent to it UK — eu-west-2 (London) No transfer — UK
Wonde Inbound MIS synchronisation Pupil identity and contact data, employees, teaching groups, drawn from the school’s MIS UK No transfer — UK
Sentry Error and performance monitoring Operational telemetry. Personal data suppressed by default EU EU/EEA — adequacy
PostHog Product usage analytics Identifier-only. No pupil content EU instance EU/EEA — adequacy

The table above lists the organisations engaged to deliver the platform. Most process pupil personal data on behalf of Fishing 4 Flowers; where an entry does not, its personal data column says so. Key custody is listed for that reason: a controller assessing the processing chain should know where the key protecting its pupils’ records is held, even though no record reaches it.

The identity providers at section 4 are recorded separately, with the reasoning for that treatment.

3.1 The model provider

Support plan generation is performed by Anthropic Claude Sonnet 4.6, served via Amazon Bedrock in UK — eu-west-2. The model is named here so that a controller can assess what handles its pupils’ data rather than infer it from the service description.

The model’s developer is not a sub-processor of Fishing 4 Flowers. Amazon Bedrock serves the model within its own infrastructure: the payload is sent to Amazon Bedrock and is processed there, and the developer neither receives it nor holds it. Amazon Bedrock is the sub-processor, and appears in the table above as one. There is no additional organisation in the processing chain and no international transfer arising from the choice of model.

No model retention applies to that processing, pupil data is not used to train models, and model invocation logging is disabled.

A change of model is a change trigger. Moving to a different model, or to a different way of reaching this one, is notified to every school in writing on the same 30 days’ notice that governs a change of sub-processor, and schools may object within that period under the data processing agreement.

4. Identity providers and federation

Microsoft Entra ID and Google Workspace are recorded separately because they do not process pupil personal data on behalf of Fishing 4 Flowers. Two distinct relationships exist, and they are set out separately below because they are easily conflated.

4.1 The authentication event

Staff authenticate using their school’s existing identity. Authentication takes place in the school’s own tenant, against the school’s own credentials, under the school’s own agreement with the provider — a relationship that exists independently of the school’s use of the platform. Personal data flows from the identity provider to Fishing 4 Flowers in the form of sign-in claims. No pupil data is sent to either provider.

Fishing 4 Flowers is a relying party in this exchange. No restricted transfer is made by Fishing 4 Flowers, and no International Data Transfer Agreement is required in respect of the sign-in flow.

4.2 The application registration

Separately, Fishing 4 Flowers holds its own registration with each provider so that schools are able to grant the application access:

Identity provider Registration held by Fishing 4 Flowers Personal data held in the Fishing 4 Flowers tenant
Microsoft Entra ID Multi-tenant application registration held in the Fishing 4 Flowers tenant None. Consent records and sign-in events are held in the school’s tenant.
Google Workspace OAuth 2.0 client held in a Fishing 4 Flowers Google Cloud project None. Consent records and sign-in events are held in the school’s tenant.

The registration is configuration: a client identifier, redirect URIs, the permissions the application may request, and a client secret. It is not personal data, and it identifies the application rather than any individual.

Where the personal data sits. When a school grants access, the resulting consent record and service principal are created in the school’s own tenant, not in the Fishing 4 Flowers tenant. When a member of staff subsequently signs in, that sign-in event is likewise recorded in the school’s tenant. The publisher’s tenant is not where either lives.

The Fishing 4 Flowers Entra tenant was inspected in July 2026 and contained no sign-in records for the application.

What the provider itself records. At sign-in the platform performs a server-to-server token exchange using the registration credentials, so the provider’s own infrastructure records that the application requested a token for that user. The provider processes that record for the operation and security of its identity service, under its own terms, acting as controller of those records rather than as a processor engaged by Fishing 4 Flowers.

It is for those two reasons — the personal data resides in the controller’s own tenant, and what the provider itself holds it holds as controller — that neither provider appears in the sub-processor table at section 3.

Scopes and claims requested. Sign-in requests identity claims and, for Microsoft, the signed-in member of staff’s own profile. No permission to reach documents, mail or directory data is bundled into it.

Identity provider Scopes requested Claims used
Microsoft Entra ID openid, profile, email, User.Read Object identifier (oid), persisted as the account’s identifier; tenant identifier (tid), used to resolve the school. Email address and its verification status are read to match a pre-provisioned account on first sign-in and are not stored. Name and photograph are not requested.
Google Workspace openid, profile, email Subject identifier (sub), persisted as the account’s identifier; hosted domain (hd), used to resolve the school and rejected if it does not match a known domain. Email address and its verification status are read to match a pre-provisioned account on first sign-in and are not stored. Name and photograph are not requested.

4.3 Document storage in the school’s own tenant

SEND evidence documents — EHCPs, educational psychology reports, medical letters — are held exclusively in the school’s own SharePoint Online site or Google Shared Drive. Fishing 4 Flowers reads and writes them there through the provider’s API.

The platform provides no document storage of its own. A connected document store is a prerequisite for using the service, and the most sensitive material in the system therefore never resides in Fishing 4 Flowers infrastructure.

Because the documents remain in the school’s own tenant, under the school’s own agreement with the provider, that provider is processing them for the school — as it already does for every other document in that tenant — and is not a sub-processor of Fishing 4 Flowers in respect of them.

What Fishing 4 Flowers holds. A reference to the file in the school’s store, together with its filename, the date it was added, the pupil record it is associated with, and — where the document has been read for support plan generation — the text extracted from it, held encrypted under that pupil’s own key. That metadata is personal data in its own right. A filename may disclose a diagnosis, so it is treated as special category data and carries the same retention rule as the pupil record it belongs to.

Where content is read. Where a document grounds a support plan, its text is read once and stored as an extract, encrypted under the pupil’s own key, and that stored extract is what grounds generation from then on. Document content therefore leaves the school’s store and is held by the platform in extracted form, though the file itself is not. The extract may contain content from an EHCP, an educational psychology report or a medical letter, and is treated as special category data concerning a child accordingly.

Access is bounded by explicit grant, not by scope.

Provider Permission model How the school controls it
Microsoft SharePoint Online Sites.Selected (application permission) Administrator consent alone grants no access. The school separately grants the application access to named SharePoint sites, which it can enumerate and revoke individually in the SharePoint admin centre.
Google Drive Service account added as a member of a designated Shared Drive Access is bounded by Shared Drive membership rather than by OAuth scope. The school adds the service account to the Shared Drive it nominates and can remove it at any time. Domain-wide delegation is not used and is not requested.

Sign-in and document access are deliberately separated. Staff sign-in requests identity claims and the signed-in member of staff’s own profile (openid, profile, email, User.Read); the permission to reach documents is granted by an administrator, for named locations, and is revocable by the school without affecting sign-in.

What a school administrator is asked to approve. The Microsoft consent screen reads: “Sign in and read user profile”, together with “Access selected site collections”. That is the whole of what the application requests, and an accurate description of what it can reach.

Tokens. No provider token is stored at rest, for either provider. SharePoint Online is reached using the application’s own credentials under the administrator’s Sites.Selected grant, and Google Drive by a service account holding membership of the school’s nominated Shared Drive. Neither route holds a credential belonging to a member of staff.

Control over document reads

The platform’s own access policy is the sole control over who may read a pupil’s document. Documents are retrieved using the application’s credentials under the administrator’s grant, so a school’s file permissions within a granted site do not further restrict which documents a request can reach. A controller assessing this should read the platform’s access policy as the whole of that control rather than as a layer above its own permissions.

A document read is recorded in two places, and they attribute it differently. The platform’s access log records which user read which pupil record. The school’s own SharePoint audit log shows the application. A school reconstructing an incident from its own tenant logs alone will therefore not see individual members of staff, and will need the platform’s log to attribute a read to a person.

That access policy has now been independently assessed. An independent penetration test was carried out in August 2026. The assessment phase is complete and the report is in the tester’s quality assurance process. One Medium-severity access control finding was identified and has been remediated; the remaining findings are Low or Informational and are addressed on receipt of the report. This entry is updated when the report is issued, and a summary will be made available to schools.

4.4 Authentication credentials

Single sign-on only in production, via the school’s own identity provider (Microsoft Entra ID or Google Workspace). Multi-factor authentication is enforced by the school’s identity provider, under the school’s own conditional access policies; Fishing 4 Flowers neither operates nor configures it.

Fishing 4 Flowers holds no passwords, MFA secrets or passkeys for production users, and does not authenticate users against a credential store of its own.

No provider token is stored at rest, for either provider. SharePoint Online is reached using the application’s own credentials under the administrator’s Sites.Selected grant, and Google Drive by a service account holding membership of the school’s nominated Shared Drive. Neither route holds a credential belonging to a member of staff. Fishing 4 Flowers holds its own application credentials — a client secret for each provider — but these identify the application rather than any individual, and cannot be used to impersonate a user. Section 4.3 describes the access model those credentials operate under, and what it gives up as well as what it removes.

Password and MFA credential fields exist in the application schema to support local development against test data. They are not populated in production, where single sign-on is the only authentication route. That position rests on architecture rather than on configuration: since 28 August 2026 the application refuses credential authentication in production, and the route fails closed, so it is off unless something explicitly enables it rather than on unless something disables it.

4.5 Corporate processing by Microsoft

Distinct again from both the sign-in flow and the application registration, Fishing 4 Flowers operates its own Microsoft 365 tenant for corporate purposes. Microsoft processes Fishing 4 Flowers corporate data in that tenant: staff mailboxes and files, and internal records. This is Fishing 4 Flowers company data. It is not pupil data, and it does not arise from the school’s use of the platform.

Pupil personal data is not to be sent to, or held in, Fishing 4 Flowers email or OneDrive. Documents relating to pupils belong in the school’s own document store, where the platform reads them; they are never sent to Fishing 4 Flowers directly. Where pupil data is received by email it is deleted and the school is asked to place it in its own document store instead.

Where Microsoft processes Fishing 4 Flowers corporate data outside the United Kingdom, it does so under the Microsoft Products and Services Data Protection Addendum, which incorporates the EU Standard Contractual Clauses and the UK Addendum. The EU Data Boundary does not include the United Kingdom, and UK residency is not claimed for Microsoft-processed corporate data.

5. Planned and possible changes

Change under consideration Effect on this register Status
Deployment on Microsoft Azure alongside the current hosting provider Microsoft would become a sub-processor for pupil data and would be added to section 3 Under consideration. Not in place. Would trigger the notification process at section 6.

6. Changes to sub-processors

Controllers are given at least 30 days’ written notice before a sub-processor processing pupil personal data is added or replaced.

A controller may object on reasonable data protection grounds within that period. Where an objection cannot be resolved, the controller may terminate the service without penalty and receive a pro-rata refund of prepaid fees. This corresponds with clause 7.3 of the Data Processing Agreement.

7. Review

This register is reviewed at least annually, on any change of sub-processor, and before each new school is onboarded. The current version is the version published at the trust centre; superseded versions are retained.

Version Date Change
1.12.0 September 2026 Section 4.4 recorded the single sign-on position as resting on configuration rather than architecture, with gating scheduled before the pilot; the route was gated on 28 August 2026 and now fails closed. Section 4.3 recorded the access policy governing document reads as not independently assessed; an independent penetration test was carried out in August 2026, with one Medium-severity access control finding identified and remediated and the report pending.
1.11.0 August 2026 The model performing plan generation is named. A new section 3.1 records that its developer is not a sub-processor, because the payload reaches Amazon Bedrock and not them, and that a change of model is notified on the same period as a change of sub-processor.
1.10.0 August 2026 Section 4.3 states the current position rather than describing the change that produced it. The document access model is not live and no school has consented under any earlier one, so a before-and-after account described this company’s history rather than the position a controller is being asked to assess. The consent screen is quoted as it reads; the wording produced by the earlier model, which no school was shown, is not recorded. The subsection on control over document reads is rewritten in the present tense and now says plainly where control sits, how a read is attributed in each of the two logs, and that the access policy has not been independently assessed.
1.9.0 August 2026 Amazon SES and AWS KMS added to the register. SES carries platform notification mail, which reaches a member of school staff and identifies a pupil, a document or an actor by opaque reference only; no name, filename or record content is placed in an email. KMS holds the key-encryption key protecting pupil records and receives no personal data, and is listed so that a controller can see where that key is held. Section 3 now states that not every entry processes personal data.
1.8.0 August 2026 The move to an application permission for SharePoint is complete and is now recorded as the position rather than as a migration. Sign-in no longer requests Files.ReadWrite.All or offline_access, the per-user OAuth tokens held for document access have been deleted, and no provider token is stored at rest for either provider. Section 4.2 now lists User.Read among the sign-in scopes; it was requested by the application but omitted here. The independent penetration test of the access policy, which this change makes the sole control over document reads, had been scheduled to precede the change and now follows it; section 4.3 states that.
1.7.0 August 2026 Section 4.3 records what the move to an application permission for SharePoint gives up as well as what it removes: the school’s own file permissions cease to act as a second gate behind the platform’s access policy, and access in the school’s own SharePoint audit log is attributed to the application rather than to the member of staff. The consent a school administrator is asked to approve is stated before and after. Records that a school which has already consented retains the earlier grant until it is revoked for that tenant, and that the migration is not complete until it has been.
1.6.0 July 2026 Corrections following a cross-document review. Section 4.4 previously stated that no OAuth token was persisted; a per-user token is currently held, and this is now stated together with its removal before the pilot. Section 4.5 previously said documents are uploaded to the platform, contradicting section 4.3. The section 4.3 permission table is marked as the target model rather than the current one. Section 2 no longer asserts executed contracts that have not yet been evidenced. The Laravel Cloud entry no longer lists uploaded evidence as data held at rest.
1.5.0 July 2026 Section 4.2 records the scopes and claims requested from each identity provider, established by a review of the application source in July 2026. Section 4.3 expanded to record the permission model governing document access.
1.4.1 July 2026 Verification note on re-inspecting the tenant moved to the internal tracker. The dated statement of the July 2026 inspection is retained.
1.4.0 July 2026 Section 4.3 added, recording document storage in the school’s own tenant and the permission model governing it. Section 4.4 corrected: the previous wording implied that no credential of any kind was held, which did not account for OAuth tokens used to reach document storage.
1.3.0 July 2026 Section 4 expanded to record the application registration and OAuth client held by Fishing 4 Flowers, and the token exchange performed at sign-in. The previous text described only the authentication event and characterised the remainder as corporate data, which understated the position. Reasoning for excluding the identity providers from the sub-processor table stated explicitly.
1.2.0 July 2026 Revised to house style.
1.1.0 July 2026 Google Workspace added as a second identity provider. Section 4.1 added.
1.0.0 July 2026 First issue.

Fishing 4 Flowers Limited · Company number 17024439 · ICO registration ZC147128 Data Protection Officer: Patrick Shone — pat@fishing4flowers.com