Swiss-hosted model (Infomaniak), built for international use. This is Pivot's own planning reference — not the public Privacy & Terms of Service players and coaches see (that's here).
The most coherent structure for Pivot separates data that belongs to a club's sporting context from data Pivot needs to run its own platform.
For player data entered by a club, the club is normally the controller. Pivot normally acts as processor: it processes that data on the club's behalf and instructions. Infomaniak acts as infrastructure provider and, for that same data, as Pivot's sub-processor.
For certain platform-specific data — user accounts, security, administration, billing, or necessary technical logs — Pivot can itself act as controller.
The .ch domain reinforces the project's Swiss identity, but doesn't by itself determine which data protection law applies. If Pivot serves people or organizations in the EU under circumstances covered by GDPR, GDPR applies alongside the Swiss FADP.
Guiding principle: Pivot shouldn't promise it "only stores" data. It's more accurate to state that it processes data exclusively to provide the requested service and per the client's instructions, without selling it or using it for advertising or other incompatible purposes of its own.
| Tier | Actor | Main function | Legal relationship |
|---|---|---|---|
| 1 | Club / organization | Decides why its players' sporting data is collected and used. | Controller |
| 2 | Pivot | Provides the app and processes the club's data to deliver the contracted features. | Processor (for club data) |
| 3 | Infomaniak | Hosting, infrastructure, and technical services contracted by Pivot. | Sub-processor |
Player / family → Club → Pivot → Infomaniak
The controller is whoever determines the purposes and essential means of processing. In this model, the club decides which players it registers, what sporting information it needs, what it's used for, who can see it, and how long it should be kept.
A coach registers in Pivot: a player's name, U10 category, attendance, an assessment of dribbling/shooting/passing, and follow-up notes. The reason that information exists comes from the club's own activity — Pivot doesn't decide which child gets assessed or for what sporting purpose.
Swiss authority guidance establishes that a processor must process data following the controller's instructions and, in principle, must not use it for its own purposes. The relationship should be organized contractually, covering security, confidentiality, sub-processing, and cooperation.
The classification doesn't apply uniformly across the whole company. Pivot can be a processor for a club's sporting data and, at the same time, a controller for processing it carries out for its own needs.
| Data / processing | Pivot's likely role | Why |
|---|---|---|
| Player assessments entered by the club | Processor | The club determines the purpose. |
| Attendance and team composition | Processor | Managed on the club's behalf. |
| A coach's Pivot account | Controller | Pivot needs to manage access, identity, and account security. |
| Billing / subscription | Controller | Pivot determines the processing needed to administer the service. |
| Security logs | Controller (or own necessary processing) | Pivot must protect its infrastructure and prevent abuse. |
Pivot plans to use Infomaniak as its server/infrastructure provider. Infomaniak's public documentation states its data and infrastructure are located in Switzerland and that its data centers are operated in Switzerland. From Pivot's side, this relationship needs to be covered by the terms and processing agreement applicable to the specific contracted service.
Contract chain: Club ↔ Pivot (DPA) and Pivot ↔ Infomaniak (DPA / processing terms).
Pivot should also maintain an up-to-date list of sub-processors who can actually access or process data. Infomaniak shouldn't be assumed to be the only one: transactional email, analytics, support, AI, external backups, or monitoring services could also become sub-processors if they receive personal data.
Hosting data in Switzerland simplifies the starting point and reduces certain international transfers, but doesn't automatically make the service exclusively Swiss. Each provider and each data flow needs its own analysis.
The .ch domain is an identity and digital-presence decision; it doesn't replace analysis of establishment, users, processing activities, and where data actually resides.
Pivot is designed for sporting contexts where data about children and teenagers can exist. That calls for a deliberately conservative approach: data minimization, limited access, no profile-based advertising, and clear rules for photos, comments, and assessments.
Pivot's current public Privacy & Terms of Service page combines (1) and (2) into one accessible document, with elements of (3) referenced conceptually. Items 3–6 as standalone formal documents are not yet drafted — see section 15.
For an online platform, acceptance can be organized traceably during club sign-up. The interface should distinguish between accepting the Terms of Service and acknowledging/entering into the DPA where applicable.
Pivot's current implementation covers steps 1, 2, 3 (partially — Terms of Service and Privacy Policy are combined into one document; a standalone DPA link is not yet in place), 5 (a versioned, timestamped log — see terms_acceptances), and 6 (the version constant exists to support this, though the re-prompt flow itself isn't built yet). Step 4 — an explicit "I'm authorized to act for this club" confirmation, distinct from the general terms checkbox — is not yet implemented.
"The Client determines the purposes of processing the personal data it enters into Pivot and warrants it has the legal bases necessary for that processing. Pivot processes that data on the Client's behalf and solely to provide the service's features, per the Client's documented instructions and the applicable data processing agreement."
This is a working concept, not a final contractual clause. The final version needs to be adapted to the legal entity operating Pivot, the business model, and the actual features offered.
| Situation | Main actor | Pivot's role |
|---|---|---|
| A parent asks to correct a player's assessment. | Club | Provide the technical means to correct it, where needed. |
| A club asks to export all its data. | Club / Pivot | Provide export mechanisms per contract and features. |
| A breach is detected at Pivot. | Pivot | Act immediately, contain, document, and notify the club per law and the DPA. |
| A security issue at a sub-processor. | Pivot + provider | Manage the incident and pass on necessary information to the club. |
| A club ends its subscription. | Club / Pivot | Apply the return, export, deletion, and backup-cycle procedure. |
Current state, for reference: primary database and file storage run on Supabase infrastructure; no email-sending, analytics, or external AI vendor is integrated yet; no player photos are stored (removed by design — see Privacy & Terms section 4); authentication is email/password via Supabase Auth, no 2FA yet; row-level security (not just app-layer checks) enforces access by role.