How Compteam protects athlete personal data — including bank details — when using the AI Companion and AI-assisted athlete import.
Compteam uses AI in two places: the AI Companion chat assistant, and the optional AI-assisted athlete import.
Both features are designed so that the AI provider sees as little personal data as possible — and never sees sensitive financial details such as bank account numbers.
This page explains exactly what is and isn't shared with the AI in each case.
When you chat with the AI Companion, it can answer questions about your athletes, memberships, and billing using your branch's data.
Before any athlete data is sent to the AI provider, athlete names are replaced with anonymous placeholders (e.g. ATHLETE_1, ATHLETE_2). The AI reasons about your data using these placeholders, and the response is translated back to real names before it's shown to you.
What this means:
Bank details (IBAN) are never sent to the AI Companion.
The AI-assisted athlete import lets you upload a CSV, PDF, or photo of your existing roster, and the AI extracts athlete records (name, email, date of birth, address, membership plan, etc.) ready for you to review.
Bank account details are handled differently depending on the file type:
In both cases, name and date of birth are shared with the AI, since they're required to identify and stage each athlete record. If you'd prefer not to use AI for an import at all, see the next section.
If you'd rather not send any athlete data to an AI provider, you can disable AI for an import entirely.
In the Import athletes dialog, tick "Disable AI for this import". When this is checked:
When the checkbox is left unchecked (the default), AI extraction is used as described in the previous section, with the IBAN protection always applied automatically.
Required CSV column headers, in order
Your CSV's first row must contain exactly these headers (lowercase, comma-separated). First name, last name, and date of birth are always required; email is required for adult athletes. The rest may be left empty:
| # | Header | Required? | Notes |
|---|---|---|---|
| 1 | first_name | Required | |
| 2 | last_name | Required | |
| 3 | email | Required (unless is_kid is true) | For kids, leave this blank and use guardian_email |
| 4 | date_of_birth | Required | Format YYYY-MM-DD, must be in the past |
| 5 | gender | Optional | male, female, or other; the deterministic importer does not infer it from the name |
| 6 | belt | Optional | One of: white, grey, grey-white, grey-black, yellow, yellow-white, yellow-black, orange, orange-white, orange-black, green, green-white, green-black, blue, purple, brown, black, coral, red (defaults to white) |
| 7 | stripes | Optional | Belt stripe count from 0 to 11 (defaults to 0) |
| 8 | is_kid | Optional | true/false (or 1/yes) |
| 9 | guardian_email | Optional | Kids only; an existing guardian is linked and notified on activation, otherwise an invitation is emailed |
| 10 | phone | Optional | Athlete phone number |
| 11 | member_number | Optional | Branch-specific member ID, up to 50 characters; leading zeros are preserved and it must be unique within the branch. membership_id is accepted as an alias |
| 12 | address_line1 | Optional | |
| 13 | address_line2 | Optional | |
| 14 | city | Optional | |
| 15 | postal_code | Optional | |
| 16 | country | Optional | |
| 17 | account_holder_name | Optional | Name on the bank account; required when iban is provided |
| 18 | iban | Optional | Checksum-valid SEPA IBAN; requires admin mandate verification before direct activation |
| 19 | membership_plan | Optional | Must match an existing plan name exactly |
| 20 | signup_fee_paid | Optional | true/false; retained until a membership plan is assigned |
| 21 | membership_end_date | Optional | Contract end date in YYYY-MM-DD; requires membership_plan |
| 22 | historical_membership_start_date | Optional | Display-only original membership start date in YYYY-MM-DD |
Any extra columns in your file are ignored. If one of the required headers is missing, the import is rejected with an error listing the missing column(s).
Download example CSV template · Download as Excel (.xlsx)
Adding bank details and signed forms afterwards
Whichever import method you use, you can add or update an athlete's IBAN — and upload a copy of their signed SEPA mandate or paper form — from the Pending registration section. Imported bank details remain on the restricted pending record until an admin verifies the mandate and its actual authorization date; activation then moves the IBAN into the vault. This data is never sent to the AI.