CompteamDocumentationAI & data privacy

AI & data privacy

How Compteam protects athlete personal data — including bank details — when using the AI Companion and AI-assisted athlete import.

  1. 1

    Overview

    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.

  2. 2

    AI Companion — name tokenization

    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:

    • The AI provider never sees real athlete names as part of the conversation
    • Other identifying details needed to answer your question (e.g. belt rank, membership status, training attendance) may still be included, since they're required for the assistant to be useful
    • The AI Companion only has access to your own branch's data — never other branches or organisations

    Bank details (IBAN) are never sent to the AI Companion.

  3. 3

    Athlete import — IBAN is never sent to the AI

    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:

    • CSV / spreadsheet imports: Any IBAN found in the file is automatically detected and removed (redacted) before the file content is sent to the AI. The AI never sees the real value — it only sees a placeholder. After the AI extracts the other athlete fields, the redacted IBAN is automatically re-attached to the matching athlete record (matched by email), entirely on Compteam's servers.
    • PDF / image (photo) imports: The AI is explicitly instructed to never extract IBAN, BIC, or any bank account numbers from the document at all — these fields are simply left blank in the staged record.

    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.

  4. 4

    Importing without AI

    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:

    • CSV files are still imported, but parsed directly by Compteam using a fixed set of column headers — no AI is used at all
    • PDF and image (photo) uploads are not available — only CSV files with the expected headers can be imported this way

    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:

    #HeaderRequired?Notes
    1first_nameRequired
    2last_nameRequired
    3emailRequired (unless is_kid is true)For kids, leave this blank and use guardian_email
    4date_of_birthRequiredFormat YYYY-MM-DD, must be in the past
    5genderOptionalmale, female, or other; the deterministic importer does not infer it from the name
    6beltOptionalOne 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)
    7stripesOptionalBelt stripe count from 0 to 11 (defaults to 0)
    8is_kidOptionaltrue/false (or 1/yes)
    9guardian_emailOptionalKids only; an existing guardian is linked and notified on activation, otherwise an invitation is emailed
    10phoneOptionalAthlete phone number
    11member_numberOptionalBranch-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
    12address_line1Optional
    13address_line2Optional
    14cityOptional
    15postal_codeOptional
    16countryOptional
    17account_holder_nameOptionalName on the bank account; required when iban is provided
    18ibanOptionalChecksum-valid SEPA IBAN; requires admin mandate verification before direct activation
    19membership_planOptionalMust match an existing plan name exactly
    20signup_fee_paidOptionaltrue/false; retained until a membership plan is assigned
    21membership_end_dateOptionalContract end date in YYYY-MM-DD; requires membership_plan
    22historical_membership_start_dateOptionalDisplay-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.