Privacy Statement
TeamStride — Solidini
Version 1.0
Effective date: 7 October 2026
This Privacy Statement tells you which personal data Solidini processes when you use TeamStride or visit our websites, why we do that, on which legal basis, for how long, who receives it, and which rights you have. It is our notice under Articles 13 and 14 of the General Data Protection Regulation (GDPR).
The short privacy page in the product (teamstride.app, "Privacy") is a summary of this statement. If the two differ, this statement applies.
1. Who we are
1.1 TeamStride is a web application at teamstride.app and getteamstride.com. Solidini provides it.
1.2 Solidini is established in the Netherlands.
| Name | Solidini |
| Chamber of Commerce (KvK) number | 97133981 |
| Postal address | As stated in the Legal notice on teamstride.app |
| Privacy contact | privacy@getteamstride.com |
| Other contact | support@getteamstride.com (operations), legal@getteamstride.com (contracts and notices) |
1.3 Solidini has not appointed a data protection officer. Article 37 GDPR does not require one, because our core activities do not consist of large-scale, regular and systematic monitoring of people or large-scale processing of special categories of data. Send every privacy question to privacy@getteamstride.com.
1.4 Words used in this statement:
| Term | Meaning |
|---|---|
| Customer | The sports club, association, foundation, school or other organisation that uses TeamStride. Only organisations can be a Customer, never a consumer |
| Owner | The person who created the Customer's organisation in TeamStride and accepted the Terms for the Customer |
| Coordinator | A user who is a coach on every team in the Customer's organisation |
| Coach | A user who is a coach on one or more teams |
| Authorised User | An Owner, a Coordinator or a Coach |
| Customer Data | Everything Authorised Users put in or the product generates within the Customer's organisation: team data, plans and other Output, conversations with the assistant, weekly check-ins, team memory, own drills, drill feedback, and the user accounts in that organisation |
| Output | The plans, sessions, answers and other content that the AI assistant generates |
| DPA | The data processing agreement between Solidini and the Customer |
| Terms | The Terms of Service of TeamStride |
2. Two roles: your club and Solidini
2.1 For most of what you do in TeamStride, your club decides. For a smaller part, Solidini decides. The GDPR gives these two situations different names. This section tells you which is which.
2.2 Where your club is controller and Solidini is processor
2.2.1 Your club is the controller of Customer Data. Your club decides why the data is processed. Solidini is the processor: we process Customer Data only on the club's instructions, under the DPA.
2.2.2 Examples of Customer Data: your team's name, sport, age category, number of players and level; the season plan and the trainings; your conversations with the assistant; your weekly check-ins; what the assistant remembers about your team; drills you write yourself; drill feedback; your user account within the club.
2.2.3 For Customer Data, your club's own privacy statement applies. This statement tells you how Solidini handles that data as processor, so you know what happens to it.
2.2.4 To reach your club: ask the Owner or a Coordinator of your club in TeamStride, or use the contact details of your club's board.
2.2.5 If you send us a request about Customer Data, we forward it to your club without delay and we help your club to answer it. Some things you can do yourself in the product (see section 11).
2.3 Where Solidini is controller
2.3.1 For the processing below, Solidini decides why and how. Solidini is the controller. Section 4 gives the details per activity. For some of these activities, Solidini uses parts of the Customer Data, such as your account details or post-session drill feedback. The Customer has agreed to this in the Terms.
| Processing | Solidini's role |
|---|---|
| Account administration for sign-in, security, fraud and abuse prevention, and the internal access log | Controller |
| Billing, invoicing and tax records | Controller |
| Website analytics and the contact form | Controller |
| Sales outreach to clubs | Controller |
| News and tips by email, for users who asked for them | Controller |
| Post-session drill feedback, read by Solidini to improve the drill library | Controller |
| The consent record when a coach ticks that TeamStride may use the ideas of an own drill | Controller |
| Product improvement on aggregated, de-identified usage statistics | Controller |
3. What we never want: player data
3.1 TeamStride is a tool for coaches. Players never get an account.
3.2 We never ask for personal data of players. We do not need it to make a plan. Team data is aggregate: team name, sport, age category, number of players, skill level, training slots, fixtures and goals.
3.3 Do not enter any of the following, in any field. This includes the conversation with the assistant, the weekly check-in, team memory, own drills and feedback:
- player names, nicknames, initials or other data that identifies a player;
- birth dates, photos or contact details of players;
- performance of a named or identifiable player;
- health data, injuries or medical conditions of anyone;
- other special categories of data of anyone, such as ethnicity, religion or political opinions.
3.4 To record what players cannot do in a session, give the number and the restriction. Never give the name and never the reason. For example: "2 players: no jumping". This is not personal data as long as no player can be identified from it. A detail that points to one player, such as "the goalkeeper", is not allowed.
3.5 If someone enters such data anyway:
- this is a breach of the Terms by the Customer;
- the Customer is responsible for that data as controller;
- Solidini may delete it.
3.6 If you see such data in your team, remove it or tell us at privacy@getteamstride.com.
4. What we process as controller, and why
4.1 This section covers only the processing where Solidini is controller (section 2.3). For Customer Data, see section 2.2.
4.2 Legal bases used in this section:
| Basis | Article |
|---|---|
| Contract | Art. 6(1)(b) GDPR: necessary to perform a contract with you, or to take steps at your request before a contract |
| Legal obligation | Art. 6(1)(c) GDPR |
| Legitimate interest | Art. 6(1)(f) GDPR. We name the interest each time. We have weighed it against your interests and rights. You can ask us for that assessment |
4.3 Account administration, sign-in and security
| Purpose | Let you sign in; keep accounts and organisations separate and safe; prevent and investigate fraud, abuse and faults |
| People | Authorised Users |
| Data | Email address; optional display name; sign-in records (magic-link tokens, sessions); memberships and roles; invitations (the email address invited); usage logs; IP address in technical logs |
| Legal basis | Legitimate interest (Art. 6(1)(f)): a secure, working service for the Customer and its users, and protection against misuse |
| Source | From you. If a colleague invited you, that colleague (an Owner, Coordinator or Coach of your club) entered your email address. We use it only to send the invitation and to create your account when you accept |
| Retention | Account data: as long as the account exists (see section 8). Technical logs: 30 days |
Sign-in works by an email link only. We store no passwords. TeamStride does not offer sign-in with Google or another external account.
When you accept the Terms or the DPA, we record your email address, the organisation, the version, the language and the time. This record is evidence of the contract (legitimate interest, Art. 6(1)(f)). We keep it as long as the organisation exists, and then 7 years. We do not record your IP address.
4.4 Internal access log
| Purpose | To investigate a fault, a small number of people at Solidini can look at the versions of a training document of any team. Every look is recorded: who, which document, when. The log makes these reads accountable |
| People | Solidini staff who look; Authorised Users whose documents are looked at |
| Data | Identity of the staff member, the document, the time |
| Source | Our own systems |
| Legal basis | Legitimate interest (Art. 6(1)(f)): security, accountability and the ability to show which internal reads took place |
| Retention | 730 days |
4.5 Billing, invoicing and tax records
| Purpose | Charge the subscription, send invoices, keep the records the law requires |
| People | The Owner and the billing contact |
| Data | Name, email address, organisation name, address, VAT number, invoices. Payment method details are collected and held by Stripe, not by Solidini |
| Legal basis | Contract (Art. 6(1)(b)) where you are party to the contract; otherwise legitimate interest (Art. 6(1)(f)) in performing the contract with the Customer you represent. Keeping invoices and records: legal obligation (Art. 6(1)(c)), Article 52 of the Dutch General Tax Act (AWR) |
| Source | The Owner |
| Retention | 7 years |
4.6 Website analytics
| Purpose | Count page views and measure how fast pages load, so we can improve the website |
| People | Website visitors |
| Data | The page, the country, the browser and the type of device. No names and nothing you type |
| Legal basis | Legitimate interest (Art. 6(1)(f)): knowing which pages are used and whether they load fast enough |
| Method | Vercel Web Analytics, without cookies and without following you to other websites (see section 10) |
| Retention | Vercel keeps these page views for the retention period of Solidini's Vercel plan. They contain only the data listed above |
4.7 Contact form
| Purpose | Answer your question |
| People | People who use the contact form |
| Data | What you enter in the form |
| Legal basis | Legitimate interest (Art. 6(1)(f)): answering the people who contact us. Where your question is about a contract with us: contract (Art. 6(1)(b)) |
| Retention | As long as we need it to answer your question and to handle any follow-up |
4.8 Sales outreach to clubs
| Purpose | Approach clubs that may want to use TeamStride |
| People | Board members and other contact persons of clubs |
| Data | Name, role, club, email address or contact form, the history of our contact with you, your opt-out |
| Legal basis | Legitimate interest (Art. 6(1)(f)): offering TeamStride to the clubs it is made for |
| Source | We did not get these data from you. We found them in publicly available sources, such as your club's own website (Art. 14 GDPR). We tell you this in our first message to you, and at the latest within one month after we found your data |
| Your right | You can object at any time, without giving a reason. We then stop contacting you (see section 11.3) |
| Retention | As long as the outreach is relevant. After you opt out, we keep only the data we need to make sure we do not contact you again |
4.9 Post-session drill feedback
| Purpose | Learn which drills work, and improve the drill library |
| People | Coaches who give feedback on a training |
| Source | From you |
| Data | What you write about the drills after a training, linked to the drills and the session |
| Legal basis | Legitimate interest (Art. 6(1)(f)): improving the drill library for all users. The privacy page in the product tells the coach about this |
| Who sees it | Solidini reads it. Nobody else in your club sees it |
| Retention | 180 days |
4.10 Own drills: the consent to use the ideas
| Purpose | When you tick that TeamStride may use the ideas of a drill you wrote, Solidini may use the idea for its own drills. We take only the idea, without your name or your club |
| People | The coach who ticked the box |
| Data | Who ticked it, when, which sentence you saw, and the text of the drill as it was then |
| Legal basis | The tick is a permission to use the idea (Article 8.7 of the Terms). Solidini uses the idea without your name or club, so using it is not processing of your personal data. Keeping the record of who gave the permission: legitimate interest (Art. 6(1)(f)): being able to show that the permission covered our use |
| Withdrawal | Untick the box. From then on we do not use the drill. A drill we already wrote from that idea stays. Withdrawal does not affect use before it |
| Retention | The consent record stays when the drill is later deleted, for as long as we need it to show the consent that covered our use |
4.11 Product improvement
| Purpose | Improve TeamStride |
| Data | Aggregated, de-identified usage statistics |
| Legal basis | Legitimate interest (Art. 6(1)(f)): improving the product |
| Retention | The statistics do not identify anyone. We keep them without a fixed term |
| Limit | We never use Customer Data to train an AI model |
4.12 News and tips by email
| Purpose | Send you news and tips about TeamStride by email |
| People | Authorised Users who asked for them |
| Data | Your email address, and the record of your choice: whether you asked for the emails or stopped them, when, where in the product, the version of the sentence you saw, and its language |
| Legal basis | Consent (Art. 6(1)(a)), and art. 11.7 of the Dutch Telecommunications Act (Telecommunicatiewet). You give it with a separate box that is never ticked in advance and that is not needed to use TeamStride |
| Withdrawal | On your account page, or with the link in every email. From then on we send none. Withdrawal does not affect the emails sent before it |
| Retention | The record of each choice, including a withdrawal, as long as your account exists. It shows that every email we sent was covered by your consent. It is deleted with your account |
Service emails are not marketing and need no consent: sign-in links, invitations, billing notices, and notices of changes to the Terms, the DPA or the sub-processors.
4.13 No law requires you to give us personal data. Your email address is necessary to have an account: without it, you cannot use TeamStride. Billing data is a contractual requirement for a paid subscription: without it, the Customer cannot buy one. Everything else, such as a display name, is optional.
5. AI processing
5.1 The assistant uses a large language model to write plans and sessions and to answer you. The model runs at an external provider. The provider is OpenAI (OpenAI, L.L.C. and OpenAI Ireland Ltd). A new provider is a sub-processor change (section 6.1).
5.2 What goes to the provider: what you type in the conversation, and what is known about your team (for example the plan, the team data and team memory). We send it only to produce an answer.
5.3 We do not ask for player names and we do not add them. If a user types personal data into the conversation anyway, it goes to the provider with the rest of the message. That is why section 3 applies.
5.4 OpenAI acts as our sub-processor. It does not use the data to train its models. It keeps the data for up to 30 days for abuse monitoring, and then deletes it.
5.5 We do not use your conversations or other Customer Data to train a model.
5.6 TeamStride makes no decisions based solely on automated processing that have legal effects on you or affect you in a similarly significant way. Article 22 GDPR does not apply. The assistant proposes; the coach decides.
5.7 Output is generated by AI. It can be wrong, incomplete or unsuitable for your group, the weather, the field or an individual player. TeamStride is not a medical device and gives no medical advice. A competent coach must run every training and judge on the spot whether an exercise is safe for these players today. Your club arranges the supervision of its trainings, including supervision by an adult when the coach is younger than 18.
6. Who receives personal data
6.1 Sub-processors
Solidini uses the sub-processors below. They process personal data only on our instructions and under a data processing agreement. The full and current list is on the sub-processor page. We announce a new sub-processor there, and by email to the Owner, at least 30 days in advance.
| Sub-processor | Purpose |
|---|---|
| Vercel Inc. | Hosting, serverless functions, CDN, cookieless web analytics |
| Supabase Inc. | Database hosting and backups |
| OpenAI, L.L.C. / OpenAI Ireland Ltd | Language model |
| Resend (Plus Five Five Inc.) | Email: sign-in links, invitations, billing notices |
| Axiom Inc. | Application logs and error diagnostics, redacted: no email addresses, no free text |
6.2 Stripe
Stripe Payments Europe Ltd (Ireland) handles payments, subscriptions and invoices. Stripe collects and holds card and SEPA data. For payment data, Stripe is an independent controller under its own terms and privacy statement.
6.3 Authorities
We give personal data to authorities, such as the tax authority, the police or a court, only when the law requires us to.
6.4 A successor
If Solidini or TeamStride is sold, merged or transferred, personal data can pass to the successor. The successor must keep to this statement or inform you of changes.
6.5 Within your club
| Who | What they see |
|---|---|
| Coaches on the same team | The plan, the trainings, the team's settings, and what the assistant remembers about the team. A memory note a colleague added stays in that colleague's name |
| Coordinator | A Coordinator is a coach on every team in the club, so a Coordinator sees what a coach of that team sees: the plan, the trainings, the team's settings and the team memory |
| Nobody but you | Your conversations with the assistant. A conversation is only visible to the coach who wrote it, also not to a Coordinator |
| Nobody else in your club | Your post-session drill feedback. Solidini reads it (section 4.9) |
| Your team, or the club's other teams in the same sport if you choose | Drills you write yourself. Solidini does not review or publish them |
6.6 Solidini staff
A small number of people at Solidini can look at a team's training documents to investigate a fault. Every look is recorded (section 4.4). We do not sell personal data.
7. International transfers
7.1 Some recipients process personal data outside the European Economic Area (EEA). We transfer data only with a safeguard that the GDPR accepts.
| Recipient | Where | Safeguard |
|---|---|---|
| Vercel | Global edge network; functions in Frankfurt, Germany (fra1) | EU-US Data Privacy Framework (Vercel is certified), and Standard Contractual Clauses (SCCs) in the Vercel DPA |
| Supabase | London, United Kingdom (AWS eu-west-2) | Adequacy decision of the European Commission for the United Kingdom (2021, renewed 19 December 2025); SCCs for any access from the United States |
| OpenAI | United States | SCCs in the OpenAI DPA |
| Resend | United States | EU-US Data Privacy Framework (Resend is certified) and SCCs in the Resend DPA |
| Axiom | EU (Frankfurt, eu-central-1) | Processing in the EU; SCCs for any support access from the United States |
| Stripe | EU and United States | Stripe's own terms as independent controller; SCCs or EU-US Data Privacy Framework |
7.2 "SCCs" means the standard contractual clauses adopted by the European Commission in Implementing Decision (EU) 2021/914. To get a copy of the SCCs that apply, write to privacy@getteamstride.com. We may black out commercial terms that do not concern data protection.
8. How long we keep data
8.1 For each store with a term in days, the database sets a deletion date on every record when it is created. A scheduled job deletes the record automatically when that date has passed.
| Data | Retention |
|---|---|
| Assistant conversation | 90 days |
| Weekly check-in incl. free text | 90 days |
| Post-session drill feedback | 180 days |
| Half-finished onboarding | 30 days |
| Internal access log (who at Solidini looked at which training document) | 730 days |
| Acceptance records (who accepted the Terms and the DPA, and when) | as long as the organisation exists, then 7 years |
| Marketing consent records (who asked for news by email, or stopped it, and when) | as long as the account exists |
| Team memory | as long as the team exists |
| Account, organisation, teams, plans | until the Owner closes the organisation (deleted at once); otherwise deleted 12 months after the organisation becomes read-only, with 30 days' warning by email |
| Invoices and billing records | 7 years (Dutch tax law, art. 52 AWR) |
| Technical logs (Axiom) | 30 days |
| Backups (Supabase) | up to 7 days rolling; deletion propagates when backups roll over |
8.2 Team memory has no fixed end date. This is a deliberate choice: the assistant needs to remember the team to make a plan that does not start from nothing each week. Coaches can read team memory and remove it sentence by sentence on the team's memory page. Team memory is deleted when the team is deleted.
8.3 When a coach's account is deleted, their conversations are deleted with it. The plans they made stay with the team, because they belong to the club.
8.4 Retention for the contact form, outreach data, the consent record, website analytics, product statistics and the marketing consent record is in sections 4.6, 4.7, 4.8, 4.10, 4.11 and 4.12.
8.5 Deleted data disappears from the backups when they roll over, within 7 days.
9. Security
9.1 We protect personal data with technical and organisational measures that fit the risk. These include:
- sign-in by email link, with no passwords stored;
- every read of club data is checked against the user's organisation and role;
- staff access to training documents is limited to a small number of people, and every such read is logged;
- application logs are redacted: no email addresses and no free text;
- retention terms are enforced by the database itself;
- data minimisation: we do not ask for player data;
- sub-processors bound by data processing agreements.
9.2 If a personal data breach happens, we act under Articles 33 and 34 GDPR. Where Solidini is processor, we inform the Customer without undue delay and within 48 hours, as the DPA requires. To report a suspected breach, write to privacy@getteamstride.com.
10. Cookies and analytics
10.1 TeamStride sets two cookies. Both are functional.
| Cookie | Purpose |
|---|---|
| Language | Remembers the language you picked |
| Session | Keeps you signed in |
10.2 Website analytics use Vercel Web Analytics. It works without cookies and does not follow you to other websites. It counts page views and measures loading speed (section 4.6).
10.3 We use no tracking cookies and no ad networks. We load no fonts from another domain.
10.4 There is no cookie banner, because none is required. Article 11.7a of the Dutch Telecommunications Act (Telecommunicatiewet) permits functional cookies, and analytics with little or no effect on your privacy, without consent.
11. Your rights
11.1 Overview
You have these rights under the GDPR:
| Right | What it means |
|---|---|
| Access (Art. 15) | Get a copy of your personal data and information about how we process it |
| Rectification (Art. 16) | Have incorrect data corrected and incomplete data completed |
| Erasure (Art. 17) | Have your data deleted, unless we must keep it, for example invoices for tax law |
| Restriction (Art. 18) | Have us stop using your data for a period, for example while we check whether it is correct |
| Data portability (Art. 20) | Get data you gave us in a structured, machine-readable format, where we process it on the basis of consent or contract |
| Objection (Art. 21) | Object to processing based on legitimate interest. We then stop, unless we have compelling legitimate grounds that override your interests, or we need the data for a legal claim |
| Withdraw a permission | Untick the permission for an own drill at any time (section 4.10). This does not affect use before the withdrawal |
11.2 How to exercise them
11.2.1 Write to privacy@getteamstride.com.
11.2.2 Some things you can do yourself. On your team's memory page you can read what the assistant remembers about your team and remove it sentence by sentence. You can untick the consent for an own drill in the drill itself. The Owner can ask support@getteamstride.com for a copy of the organisation's data in JSON or CSV (Terms, Article 13.9).
11.2.3 We may ask you to show that the request is yours. Usually we do this by answering from or to the email address of your account.
11.2.4 We answer within one month. If a request is complex, or if there are many requests, we can extend this by two more months. We tell you so within the first month, with the reason.
11.2.5 Exercising your rights is free. If a request is clearly unfounded or excessive, we may charge a reasonable fee or refuse it, and we tell you why.
11.2.6 For Customer Data, your club is controller. We forward your request to your club and help it to answer (section 2.2.5).
11.3 Direct marketing and outreach
You can object to sales outreach at any time, without a reason. This right is absolute: when you object, we stop. Reply to our message or write to privacy@getteamstride.com.
You can stop news and tips by email at any time, on your account page or with the link in every email (section 4.12).
11.4 Shared team memory
Team memory is shared with the other coaches of that team. A memory note can contain the words of a colleague. Your request cannot erase or disclose a colleague's words without regard for that colleague's rights (Art. 15(4) GDPR). We decide those requests case by case and tell you the outcome.
11.5 Complaint
If you are not satisfied with how we handle your data, you can complain to the Autoriteit Persoonsgegevens (Dutch Data Protection Authority, The Hague, autoriteitpersoonsgegevens.nl). You can also complain to the data protection authority of the EU or EEA country where you live, work, or where the infringement took place. We ask you to contact us first, so we can try to solve it.
12. Minimum age
12.1 Accounts are only for people of 16 or older. The Owner of an organisation must be 18 or older. Players never get an account.
12.2 We do not knowingly process personal data of children younger than 16. A coach of 16 or 17 has the same account data as any other coach (section 4.3). Their club arranges their supervision (Terms, Article 5.1).
12.3 If a child's data was entered in TeamStride, remove it, or tell us at privacy@getteamstride.com. We then delete it.
13. Changes to this statement
13.1 We can change this statement, for example when the product, a sub-processor or the law changes.
13.2 We publish each change on this page with a new version number and effective date. If a change materially affects you, we tell you by email or in the product before it takes effect.
13.3 This statement is written in English. Translations into Dutch, French and German are for convenience. If they conflict, the English text applies.
13.4 Version 1.0, effective 7 October 2026.