Politique de confidentialité

Mis à jour le 30 juillet 2026 · v1.0

1. Responsable du traitement

Le responsable du traitement des données collectées via l'application TITU et le site titu.app est :

KAWLET, entreprise unipersonnelle à responsabilité limitée, dont le siège social est situé 15 Square Rameau, 59000 Lille (France), immatriculée au Registre du Commerce et des Sociétés de Lille Métropole sous le numéro 993 159 250 (ci-après « TITU » ou « nous »).

Contact pour toute question relative à la protection des données ou pour exercer vos droits : yo@titu.app

Vous pouvez également nous écrire par courrier à l'adresse du siège social.

KAWLET n'est pas tenue de désigner un délégué à la protection des données au sens de l'article 37 du RGPD. Les demandes sont traitées directement par la direction de l'entreprise.

Autorité de contrôle compétente : Commission Nationale de l'Informatique et des Libertés (CNIL), 3 Place de Fontenoy, TSA 80715, 75334 Paris Cedex 07 — cnil.fr. Si vous résidez dans un autre État de l'Union européenne, vous pouvez saisir l'autorité de contrôle de votre pays de résidence.

2. Champ d'application et âge minimum

La présente politique s'applique :

  • à l'application mobile TITU (iOS et Android), qui est le produit réservé aux membres ;
  • au site titu.app, qui comprend les pages publiques, le parcours d'invitation /j/{code} et l'annuaire des terrains et des clubs.

Elle est rédigée conformément au Règlement (UE) 2016/679 (RGPD) et à la loi n° 78-17 du 6 janvier 1978 modifiée, dite « Informatique et Libertés ».

Âge minimum : 16 ans. TITU n'est pas destiné aux personnes de moins de 16 ans et nous ne collectons pas sciemment leurs données. La création d'un compte suppose que vous avez au moins 16 ans. Si vous êtes titulaire de l'autorité parentale et que vous constatez qu'un mineur de moins de 16 ans a créé un compte, écrivez-nous à l'adresse de contact : le compte sera supprimé.

Deux catégories de personnes concernées sont visées par cette politique :

  1. les membres, qui ont créé un compte TITU ;
  2. les tiers dont les données sont saisies par un membre — un « +1 » invité à une session, ou une place gardée attribuée par numéro de téléphone. La section 6 leur est spécifiquement consacrée.

3. Nos principes de conception

Les engagements qui suivent ne sont pas des intentions : ils sont vérifiables dans la façon dont le service est construit.

  • Nous ne vendons aucune donnée, à personne, sous aucune forme.
  • Aucune publicité comportementale, aucun profilage publicitaire, aucun courtier en données, aucun réseau publicitaire.
  • Aucune décision automatisée au sens de l'article 22 du RGPD.
  • Aucun traceur tiers de mesure d'audience déposé sur votre appareil : pas de Google Analytics, pas de pixel, pas de SDK publicitaire, pas d'enregistrement de session.
  • L'application ne demande l'accès ni à votre carnet d'adresses, ni à votre galerie photo, ni à votre caméra, ni à votre micro. Aucune bibliothèque permettant ces accès n'est intégrée à l'application. La seule permission facultative demandée, en dehors des notifications, est la localisation, et uniquement pour centrer la carte des terrains sur votre position — cette position n'est alors ni transmise ni enregistrée.
  • Le minimum d'identifiants. Nous ne collectons aucune adresse e-mail : l'authentification se fait par numéro de téléphone, et il n'existe ni mot de passe, ni connexion par réseau social. Aucune table applicative de TITU ne contient d'adresse IP ni d'agent utilisateur.
  • La logique sensible vit sur le serveur. Les règles qui protègent les données (qui voit quoi, qui peut écrire quoi) sont appliquées par la base de données elle-même, et non par l'application : elles ne peuvent pas être contournées depuis un téléphone.

4. Les traitements, un par un : finalité, données, base légale, durée, destinataires

Cette section est la colonne vertébrale de la présente politique. Chaque traitement y est décrit isolément, avec la base légale qui l'autorise au sens de l'article 6 du RGPD.

Les destinataires techniques communs à tous les traitements (hébergeurs, sous-traitants) sont détaillés à la section 12. Les mentions « Supabase » ci-dessous renvoient à notre hébergeur de base de données, situé dans l'Union européenne.


4.1 — Création du compte et authentification

  • Données : numéro de téléphone ; prénom ou pseudonyme affiché ; photo de profil (facultative) ; langue du compte ; date de création.
  • Précision technique : votre numéro de téléphone est stocké dans le service d'authentification (auth.users), et non dans la table applicative de votre profil. Aucune table métier de TITU ne contient votre numéro.
  • Finalité : vous permettre de créer un compte, de vous connecter par code à usage unique (OTP) reçu par SMS, et d'être identifié par vos coéquipiers.
  • Base légale : exécution du contrat (art. 6.1.b) — sans compte, il n'y a pas de service.
  • Durée : pendant toute la vie du compte. Effacé ou anonymisé à la suppression (section 16).
  • Destinataires : Supabase (hébergement et service d'authentification) ; le prestataire d'envoi de SMS configuré au niveau du service d'authentification (Twilio) pour l'acheminement du code à usage unique. Votre prénom et votre photo sont visibles des membres de vos groupes, selon le réglage de visibilité de votre fiche.

4.2 — Sessions, file d'attente et présences

  • Données : prise de place, confirmation, désistement, position dans la file, promotions, équipe attribuée au verrou, absences non signalées (« no-shows »), historique des événements d'une session.
  • Finalité : faire fonctionner la mécanique du groupe — le slot réservé, la confirmation active, la file au premier arrivé, le verrou avant le coup d'envoi.
  • Base légale : exécution du contrat (art. 6.1.b).
  • Durée : pendant toute la vie du compte. À la suppression, les lignes des matchs à venir sont effacées et la place est rendue au groupe ; les lignes des matchs déjà joués sont conservées sous forme anonymisée (section 16).
  • Destinataires : les membres actifs de votre groupe ; Supabase.

4.3 — Score, classement et homme du match

  • Données : score du match, buts, passes décisives, buts contre son camp, votes (homme du match, plus beau geste, boulet), classement calculé du groupe.
  • Finalité : tenir le score, le classement et les distinctions du groupe.
  • Base légale : exécution du contrat (art. 6.1.b).
  • Durée : pendant toute la vie du compte, puis conservées de façon anonymisée — un résultat de match appartient aussi aux autres joueurs qui étaient sur le terrain.
  • Destinataires : les membres actifs de votre groupe ; Supabase.
  • Garantie particulière — le verrou de réciprocité : vous ne voyez les votes des autres que si vous avez vous-même voté. Cette règle n'est pas appliquée par l'application : elle est inscrite dans la politique de sécurité au niveau des lignes de la base de données (policy votes_select_reciprocal, fonction has_voted). Une requête émise depuis un client modifié ne peut donc pas la contourner.

4.4 — Profil football, panoplie et clubs suivis

  • Données : poste, pied fort, niveau déclaré, club actuel, nom d'équipe, pointure, marque préférée, historique et palmarès saisis librement ; matériel déclaré (catégorie, taille, statut, note, photo facultative) ; clubs suivis ; commentaires et réactions publiés dans le groupe.
  • Finalité : enrichir votre fiche joueur et animer la vie du groupe. Toutes ces informations sont facultatives.
  • Base légale : exécution du contrat (art. 6.1.b) — ces fonctionnalités font partie du service que vous nous demandez de fournir.
  • Durée : jusqu'à ce que vous les modifiiez ou les supprimiez ; effacées à la suppression du compte.
  • Destinataires : les personnes autorisées par votre réglage de visibilité ; Supabase.

4.5 — Visibilité de votre fiche joueur

  • Données : deux réglages — la portée de votre fiche (vestiaire : vous et les membres actifs de vos groupes ; members : tout compte TITU connecté) et l'affichage ou non de vos statistiques de compétition.
  • Finalité : vous laisser décider qui voit quoi.
  • Base légale : exécution du contrat (art. 6.1.b), et consentement (art. 6.1.a) pour l'affichage des statistiques de compétition, désactivé par défaut.
  • Réglages par défaut : portée vestiaire, statistiques de compétition masquées. Le cran « visible de tous, y compris hors de TITU » n'existe pas : le service refuse cette valeur à l'écriture.
  • Durée : vie du compte.

4.6 — Les « +1 » : les données d'un tiers

Ce traitement fait l'objet de la section 6, à laquelle nous vous renvoyons.

  • Données : prénom du +1 ; numéro de téléphone facultatif ; identité du membre hôte.
  • Base légale : intérêt légitime (art. 6.1.f).

4.7 — Les places gardées (titulaires d'office)

  • Données : numéro de téléphone saisi par le gérant du groupe, prénom indicatif facultatif, identité de la personne qui a lancé l'invitation.
  • Finalité : permettre au fondateur d'un groupe de réserver la place des joueurs du noyau dur avant même qu'ils aient un compte, et de la leur restituer à l'inscription.
  • Base légale : intérêt légitime (art. 6.1.f) — constituer le groupe des joueurs qui se connaissent déjà et jouent ensemble.
  • Durée : minimisation automatique. Une place gardée qui n'a pas été réclamée est supprimée par le serveur au moment du verrou de la compo (par défaut deux heures avant le coup d'envoi). Le numéro d'un tiers qui ne s'est jamais inscrit ne survit donc pas au match. Une place réclamée disparaît lorsque la personne qui l'a créée supprime son compte.
  • Destinataires : les membres du groupe (qui voient la place gardée) ; Supabase.

4.8 — Disponibilité géographique (« Dispo près de chez moi »)

  • Données : un point géographique que vous posez vous-même sur une carte (et non votre position GPS), un rayon de 1 à 30 km, un indicateur d'activation et la date de la dernière convocation reçue.
  • Finalité : être prévenu lorsqu'un groupe proche cherche un joueur pour compléter son effectif.
  • Base légale : consentement (art. 6.1.a). La fonctionnalité est désactivée par défaut et s'active par un interrupteur explicite dans votre profil. Vous pouvez la désactiver à tout moment, sans justification ; le retrait vaut pour l'avenir.
  • Encadrement : la recherche exclut systématiquement les personnes déjà liées au groupe ; un même joueur ne peut pas être convoqué plus d'une fois par tranche de 20 heures ; une convocation touche au maximum 30 personnes, les plus proches d'abord. Ces bornes sont appliquées par le serveur.
  • Durée : jusqu'à désactivation ou suppression du compte. La ligne est effacée à la suppression du compte, et l'indicateur est mis à l'arrêt lors d'une mise en pause.
  • Destinataires : aucun tiers ne reçoit votre point. Le groupe qui vous convoque ne voit qu'une distance arrondie.

4.9 — Revendication d'identité dans les résultats publics des compétitions

Ce traitement fait l'objet de la section 7, à laquelle nous vous renvoyons.

  • Base légale : consentement (art. 6.1.a), horodaté et versionné.

4.10 — Notifications push

Détaillé à la section 8.

  • Données : jeton de notification de l'appareil, plateforme (iOS/Android), langue du jeton ; file des notifications à envoyer.
  • Base légale : exécution du contrat (art. 6.1.b) pour le contenu des notifications, qui est strictement fonctionnel ; l'autorisation système reste révocable à tout moment dans les réglages de votre téléphone.

4.11 — Mesure d'audience

Détaillé à la section 9.

  • Base légale : intérêt légitime (art. 6.1.f) — comprendre si le produit fonctionne, sans traceur ni profilage.

4.12 — Météo d'un match

  • Données : les coordonnées du terrain et l'heure du coup d'envoi. Aucune donnée vous concernant n'est transmise.
  • Finalité : afficher la météo qu'il faisait au moment du match dans l'historique du groupe.
  • Base légale : exécution du contrat (art. 6.1.b).
  • Destinataire : Open-Meteo, service européen interrogé sans clé ni compte. Le service reçoit un point géographique et une date, jamais un identifiant de joueur.
  • Durée : la météo est enregistrée une fois avec le match et conservée avec l'historique du groupe.

4.13 — Annuaire des terrains et des clubs, et clics vers une offre partenaire

Détaillé à la section 10.

  • Base légale : intérêt légitime (art. 6.1.f). Ce traitement ne porte, du côté des visiteurs, sur aucune donnée personnelle.

4.14 — Sécurité, prévention des abus et journaux techniques

  • Données : compteurs de recherches et de revendications d'identité par compte, sur une fenêtre glissante de 24 heures (30 recherches, 5 revendications) ; journal des demandes de revendication ; journal d'authentification tenu par le service d'authentification, qui contient l'adresse IP et l'agent utilisateur des sessions.
  • Finalité : empêcher les abus, notamment l'usage détourné de la recherche d'identité comme moyen de dévoiler l'identité de tiers ; assurer la sécurité des comptes.
  • Base légale : intérêt légitime (art. 6.1.f) — garantir la sécurité du service et protéger les personnes dont les données pourraient être exposées.
  • Durée : les compteurs sont remis à zéro à chaque nouvelle fenêtre de 24 heures. Ces enregistrements sont effacés à la suppression du compte, y compris le journal d'authentification, qui est purgé à la fois par identifiant de compte et par numéro de téléphone.
  • Destinataires : Supabase ; nous-mêmes, à des fins de sécurité.

4.15 — Traçabilité des décisions de cycle de vie du compte

  • Données : un journal en ajout seul enregistrant les mises en pause, réactivations et suppressions, avec la date, le type d'événement et des compteurs (nombre de places rendues, de +1 retirés, d'appareils détachés). Il conserve l'identifiant technique du compte, mais plus aucun attribut identifiant après une suppression.
  • Finalité : pouvoir prouver qu'une demande de suppression a bien été exécutée, et diagnostiquer un incident.
  • Base légale : intérêt légitime (art. 6.1.f) et obligation légale (art. 6.1.c, article 5.2 du RGPD : responsabilité).
  • Durée : conservé sans limite de durée, sous forme non identifiante. Ce journal n'est accessible ni à anon ni aux comptes connectés : seul le rôle de service y accède.

4.16 — Réponse à vos demandes

  • Données : le contenu de votre message et les éléments nécessaires pour vous identifier.
  • Finalité : traiter vos demandes d'exercice de droits et vos demandes de support.
  • Base légale : obligation légale (art. 6.1.c) pour les demandes d'exercice de droits ; intérêt légitime (art. 6.1.f) pour le support.
  • Durée : 3 ans à compter du dernier échange, à des fins de preuve du traitement de la demande.

5. Les garanties structurelles

Les engagements qui suivent sont tenus par la structure de la base de données, et non par une consigne interne. Ils ne dépendent ni d'une bonne pratique de développement, ni d'une configuration qu'on pourrait oublier de remettre : les données qu'ils interdisent n'ont aucun endroit où s'écrire.

5.1 — Aucune personne dans les données de compétition. Les tables qui accueillent les données publiques des fédérations (clubs, terrains, compétitions, équipes, engagements, calendriers, résultats, classements) ne comportent aucune colonne pouvant recevoir un nom de personne, un téléphone, une adresse e-mail, une date de naissance, un arbitre ou une composition nominative. Les colonnes appelées « nom » y désignent exclusivement des clubs, des équipes, des terrains, des compétitions ou des journées. Ces 56 tables sont par ailleurs entièrement fermées : sécurité au niveau des lignes activée sans aucune règle d'accès, et aucune permission accordée aux rôles anonyme et authentifié. Aucune requête publique ne peut les lire.

5.2 — Les photos de profil ne sont pas publiques. L'espace de stockage des photos de profil est privé. Le service ne renvoie jamais une adresse d'image publique, mais un simple chemin ; l'affichage passe par un lien signé de courte durée (5 minutes), délivré uniquement si les règles d'accès l'autorisent — c'est-à-dire à vous-même ou à un membre actif d'un groupe que vous partagez. Un client modifié ne peut pas s'accorder le droit de voir un visage.

5.3 — Les « +1 » sont hors classement par construction. Les invités sont enregistrés dans une table dédiée, distincte de la table des compositions. Le classement, les résultats et les statistiques individuelles sont calculés exclusivement à partir de la table des compositions. Un +1 ne peut donc pas apparaître au classement, non pas parce qu'un filtre l'exclut, mais parce qu'il n'y figure pas.

5.4 — Une identité non revendiquée n'a nulle part où s'écrire. Dans la table qui accueille une identité de compétition, l'identifiant du compte est la clé primaire. Il est structurellement impossible d'y enregistrer la fiche d'une personne qui n'a pas de compte TITU et n'a pas confirmé être elle-même.

5.5 — Aucun contenu Google Places n'entre dans nos données. Nous ne conservons de ce service qu'un identifiant opaque, dans une table séparée dont les contraintes n'acceptent aucun autre fournisseur ni aucune autre finalité que le rattachement d'un lieu. Aucun contenu Places (nom, avis, photo, description) n'alimente nos fiches de terrain ni un quelconque traitement automatisé de rédaction.

5.6 — Aucune adresse IP dans les données applicatives. Aucune table métier de TITU ne comporte de colonne d'adresse IP ni d'agent utilisateur. Ces informations n'existent que dans le journal du service d'authentification, pour la sécurité des comptes, et sont purgées à la suppression du compte.

6. Les « +1 » : quand un membre saisit les données d'un tiers

C'est le point le plus délicat du service, et nous le documentons intégralement.

Ce qui se passe. Lorsqu'une session manque de joueurs, un membre peut inscrire un « +1 » : un ami qui n'a pas de compte TITU. Il saisit alors son prénom et, facultativement, son numéro de téléphone. Ces données sont celles d'une personne qui n'a pas contracté avec nous et qui, au moment de la saisie, ignore peut-être que son prénom est inscrit sur une feuille de match.

Base légale : l'intérêt légitime (art. 6.1.f du RGPD). L'intérêt poursuivi est l'organisation d'un match entre personnes qui se connaissent déjà : le membre hôte invite un ami avec lequel il a déjà convenu de jouer. Les données en cause sont minimales (un prénom, éventuellement un numéro), le traitement est de courte durée et il n'entraîne ni profilage, ni prospection, ni transmission à un tiers. Nous avons procédé à une mise en balance et estimons que l'atteinte à la vie privée du +1 est réduite au strict nécessaire.

Information de la personne concernée. Le membre hôte s'engage, en inscrivant un +1, à avoir informé la personne qu'il l'inscrit à une session TITU et à disposer de son accord pour communiquer son numéro. Si vous êtes inscrit comme +1 et que vous ne le souhaitez pas, deux voies vous sont ouvertes : demander au membre qui vous a inscrit de vous retirer, ou nous écrire directement à l'adresse de contact — nous procéderons à l'effacement.

Ce qui est fait, et ce qui n'est pas fait :

  • Un +1 n'est jamais dans le classement. Il est enregistré dans une table dédiée (voir section 5.3) : il ne peut pas apparaître dans les résultats individuels, les statistiques ni le classement du groupe. Ce n'est pas un choix d'affichage, c'est la structure des données.
  • Le numéro n'est utilisé que pour une chose : la reconnaissance à l'inscription. Si la personne crée plus tard un compte TITU avec ce numéro, le service reconnaît la correspondance et rattache la fiche du +1 à son compte : elle récupère la trace des matchs qu'elle a réellement joués. Le numéro n'est jamais utilisé pour envoyer un message, une invitation ou une relance.
  • Le numéro est normalisé (seuls les chiffres sont conservés) et un même numéro ne peut pas être inscrit deux fois sur la même session.
  • Encadrement par le serveur. Un +1 ne peut être ajouté que si des places sont réellement libres, si la file d'attente est vide (personne en attente ne doit être doublé) et dans la limite du plafond fixé par le groupe. Ces règles sont appliquées par la base, non par l'application.
  • Une absence non signalée d'un +1 est imputée à son hôte, pas à lui.

Durée de conservation. Le prénom d'un +1 figure sur la feuille de match du groupe et y reste, car il fait partie de l'historique commun des autres joueurs. Le numéro de téléphone, lui, est effacé dans les cas suivants : lorsque le membre hôte supprime son compte ; lorsque le +1 crée un compte et devient membre à part entière ; ou sur demande adressée à notre adresse de contact. Il faut savoir, en toute transparence, que le retrait d'un +1 d'une session par son hôte marque la ligne comme retirée mais ne supprime pas à lui seul le numéro : une demande d'effacement doit nous être adressée, et nous y donnons suite.

La convocation communautaire. Lorsqu'un joueur rejoint une session depuis l'appel communautaire (section 4.8), il est enregistré dans la même table dédiée, avec la mention de son origine. Il n'est pas membre du groupe et n'entre pas au classement du groupe.

7. Revendication d'identité — « c'est toi ? »

TITU vous permet, si vous le souhaitez, de rattacher à votre compte les statistiques d'un joueur retrouvé dans les résultats publics des compétitions.

⚠️ Précision essentielle et sans ambiguïté : aucune fédération ne nous transmet de données, et nous n'avons de partenariat de transmission avec aucune fédération. Nous lisons uniquement des résultats de compétition publiés publiquement, au moment où vous nous le demandez. Toute formulation qui laisserait entendre le contraire serait inexacte.

Base légale : votre consentement (art. 6.1.a du RGPD), recueilli avant le traitement, horodaté et versionné. Le texte de consentement porte un numéro de version (à ce jour 2026-07-30.1) qui est enregistré avec votre confirmation. C'est le serveur qui fait foi : si le texte a changé depuis l'affichage, la revendication est refusée et le consentement doit être redonné sur la version à jour. La fonctionnalité est entièrement facultative ; ne rien faire est une réponse parfaitement valable.

Comment cela fonctionne, dans l'ordre :

  1. À la demande, jamais préventivement. Rien n'est lu tant que vous n'avez pas déclaré votre club vous-même. Il n'existe aucune constitution préalable de fiches de joueurs, aucune base d'identités en attente d'être réclamées.
  2. La recherche ne conserve rien. Les compositions publiques sont lues à cet instant par une fonction dédiée qui n'écrit dans aucune base de données. Son seul état est un cache en mémoire vive de 5 minutes, borné, qui disparaît avec le processus. Aucun fichier, aucune ligne, aucune trace des personnes qui ne sont pas vous.
  3. Les candidats qui vous sont proposés sont anonymisés. Vous ne voyez jamais le nom complet d'un tiers : seulement le prénom suivi de l'initiale du nom (« Luca A. »), l'année de naissance lorsque la source la publie, et des éléments sportifs (équipe, compétition, saison, matchs, buts, numéro de maillot). L'identifiant fédéral réel ne sort jamais en clair.
  4. Le lien vers un candidat est chiffré, court et personnel. Chaque candidat proposé est accompagné d'un jeton chiffré qui contient l'identifiant réel, votre identifiant de compte et une date d'expiration à 10 minutes. Un jeton proposé à quelqu'un d'autre est refusé ; un jeton expiré est refusé. On ne peut revendiquer que ce qui nous a été proposé, à nous, et dans les dix minutes.
  5. On ne garde que vous. Après votre confirmation, seule votre fiche est enregistrée. Les autres candidats n'ont, structurellement, aucun endroit où s'écrire : dans la table qui accueille une identité, l'identifiant du compte est la clé primaire (section 5.4).
  6. Une identité, un compte. Une même identité de compétition ne peut être rattachée qu'à un seul compte TITU.

Données conservées après votre confirmation : nom et prénom tels que publiés par la source, identifiant de la compétition, club et équipe, adresse de la source, version du consentement, date de la revendication ; ainsi que vos statistiques par saison (compétition, niveau, équipe, numéro, matchs, buts, cartons, dates de premier et dernier match).

Date de naissance : elle n'est conservée que pour la personne qui a confirmé être elle-même. Pour les autres candidats, l'année n'existe que le temps de l'affichage, et n'est jamais enregistrée. Si la source ne publie que l'année, nous n'enregistrons que l'année — nous n'inventons pas un 1er janvier. Sur votre fiche, seule l'année est affichée, jamais une date complète. À la date de la présente politique, aucune des sources actuellement raccordées ne publie de date ou d'année de naissance : aucune donnée de naissance n'est donc effectivement collectée.

Affichage : vos statistiques de compétition sont masquées par défaut. Leur affichage sur votre fiche suppose un second réglage, que vous activez explicitement (section 4.5).

Couverture : la fonctionnalité n'est disponible que pour les pays dont une source publique est prise en charge. Si votre pays n'en a pas, le service vous le dit et rien n'est lu.

Retrait à tout moment. Un bouton dans votre profil délie l'identité. Le retrait efface immédiatement votre fiche d'identité et l'intégralité de vos statistiques de compétition, sans archivage, sans copie, sans corbeille. Dans le journal interne des revendications, l'identifiant qui désigne une personne est remis à zéro ; il ne subsiste que la trace d'un événement (une revendication a eu lieu à telle date, sur telle fédération, pour tel club), sans nom.

Contestation. Si vous estimez qu'un compte s'est rattaché à votre identité, écrivez-nous à l'adresse de contact : nous pouvons marquer l'identité comme contestée — ce qui la retire immédiatement de l'affichage — puis la délier.

Protection contre le détournement. Un compte est limité à 30 recherches et 5 revendications par tranche de 24 heures. Cette limite ferme délibérément une possibilité d'abus : revendiquer et annuler en boucle pour faire apparaître un nom complet à chaque tour.

8. Notifications push

Ce que nous conservons : pour chaque appareil, un jeton de notification, la plateforme (iOS ou Android) et la langue du jeton. Aucun identifiant publicitaire, aucun identifiant matériel.

Quand la permission est demandée. Elle n'est jamais demandée au premier lancement de l'application. Elle l'est après que vous avez créé ou rejoint un groupe, c'est-à-dire au moment où une notification a enfin un sens pour vous. Le refus est sans conséquence sur le reste du service.

Le contenu des notifications est composé sur notre serveur, dans la langue de l'appareil destinataire, à partir d'une file d'attente interne. Une notification peut contenir le nom du groupe, le nom du terrain, la date du match et, selon le cas, le prénom d'un joueur (par exemple lorsqu'une place vous a été réservée ou qu'un joueur a rejoint la session).

Destinataires : le message composé et le jeton de l'appareil sont transmis à Google (Firebase Cloud Messaging) pour l'acheminement, et, sur iOS, à Apple (APNs). C'est le mécanisme d'acheminement standard des notifications mobiles ; il n'existe pas de moyen de délivrer une notification push sans passer par ces services.

Durée : un jeton est conservé tant que l'application est installée et le compte actif. Il est effacé immédiatement si vous mettez votre compte en pause ou si vous le supprimez, et il est retiré automatiquement lorsque le service d'acheminement nous signale qu'il n'est plus valide.

Retrait : vous pouvez révoquer l'autorisation à tout moment dans les réglages de votre système d'exploitation. L'écran Réglages de TITU indique l'état courant de l'autorisation et propose le chemin de retour.

9. Mesure d'audience

Nous utilisons PostHog, en région Union européenne, pour comprendre si le produit fonctionne.

Ce que nous faisons :

  • Uniquement des événements nommés, déclenchés explicitement par notre code. Il n'y a aucune capture automatique de vos gestes, aucun enregistrement de session (« session replay »), aucune carte de chaleur, aucun suivi de vos saisies.
  • La liste des événements est courte et fermée. Dans l'application : group_created, group_joined, place_taken, slot_confirmed, absence_declared, score_submitted, motm_voted, guest_added, community_opened, community_joined, card_shared, push_permission. Sur le site : web_join_viewed, web_otp_sent, web_otp_verified, web_group_joined, web_lang_switch, web_confirm, web_declare_absence, web_undo_absence, web_pass_offer, web_take_place, web_submit_score.
  • Chaque événement est accompagné de propriétés techniques minimales : l'identifiant de l'objet concerné (une session, un groupe), la plateforme et l'environnement. Aucun contenu que vous saisissez n'est transmis.
  • Une fois connecté, les événements sont rattachés à l'identifiant technique de votre compte (un UUID). Avant connexion, ils sont envoyés sous l'identifiant anon.
  • Aucun cookie de mesure d'audience, aucun stockage sur votre appareil, aucun identifiant publicitaire. L'envoi est une simple requête HTTP directe ; nous n'intégrons pas le kit de développement de PostHog. En conséquence, ce traitement n'implique aucun accès ni inscription d'information dans votre terminal au sens de l'article 82 de la loi Informatique et Libertés, et n'est donc pas soumis au recueil préalable d'un consentement à ce titre.
  • Comme pour toute requête réseau, le serveur de PostHog voit l'adresse IP à l'origine de l'appel. Nous ne l'enregistrons pas de notre côté et ne la rapprochons d'aucun autre traitement.

Base légale : intérêt légitime (art. 6.1.f). Vous pouvez vous opposer à ce traitement à tout moment en nous écrivant à l'adresse de contact.

Durée : nous nous engageons à ne pas conserver ces événements au-delà de 25 mois.

Sans clé de configuration, la mesure est totalement inactive : le code ne transmet rien.

10. Annuaire des terrains et des clubs, et offres partenaires

Le site titu.app publie un annuaire des terrains de football et des clubs, construit à partir de données publiques (données ouvertes publiques, registres publics, informations publiées par les fédérations). Ces pages ne portent aucune donnée personnelle : elles décrivent des lieux, des équipements, des clubs et des compétitions. Les dirigeants, contacts nominatifs et compositions nominatives en sont exclus par construction (section 5.1).

Consultation. Naviguer dans l'annuaire ne suppose ni compte, ni cookie de suivi. Aucune de nos tables ne conserve l'adresse IP d'un visiteur.

Clics vers une offre de réservation partenaire. Lorsque vous cliquez sur une offre de réservation, vous passez par une redirection technique qui incrémente un compteur. Ce compteur contient exactement : l'identifiant de l'offre, la date du jour, la surface d'où venait le clic (fiche, page ville ou carte), le nombre de clics et les horodatages du premier et du dernier clic de la journée. Ni adresse IP, ni cookie, ni compte, ni identifiant de joueur, ni empreinte de navigateur. Il est donc impossible, à partir de ce compteur, de savoir qui a cliqué.

La redirection est en outre configurée pour ne transmettre aucun référent au site partenaire, et le lien sortant porte les attributs nofollow sponsored noopener noreferrer. Le partenaire ne sait donc pas de quelle page de TITU vous veniez.

Position sur la carte. Le bouton « près de moi » de la carte des terrains utilise la localisation de votre appareil uniquement pour centrer l'affichage. Cette position n'est ni transmise à un serveur, ni enregistrée. Elle est distincte du point de disponibilité géographique décrit à la section 4.8, que vous posez vous-même et qui, lui, est enregistré avec votre consentement.

11. Cookies et stockage local

TITU ne dépose aucun cookie publicitaire ni aucun cookie de mesure d'audience. Il n'y a donc pas de bandeau de consentement, parce qu'il n'y a rien à consentir.

Les seuls éléments déposés sur votre navigateur sont strictement nécessaires au fonctionnement du site et exemptés de consentement au titre de l'article 82 de la loi Informatique et Libertés :

NomNatureFinalitéDurée
sb-…-auth-tokenCookie et stockage localMaintenir votre session connectée et renouveler le jeton d'accèsDurée de la session, renouvelée tant que vous restez connecté
titu.localeCookie et stockage localMémoriser la langue d'affichage que vous avez choisie, y compris pour l'aiguillage à l'arrivée sur le site1 an
titu.locale.pendingStockage localIndiquer qu'un choix de langue n'a pas encore été enregistré sur le compteJusqu'à confirmation

Dans l'application mobile, les préférences équivalentes sont conservées localement sur l'appareil et disparaissent avec la désinstallation.

12. Destinataires, sous-traitants et transferts hors UE

Vos données ne sont jamais vendues, louées ni cédées. Elles sont accessibles aux personnes habilitées chez KAWLET, dans la stricte mesure du nécessaire, et aux sous-traitants techniques listés ci-dessous. Chacun agit sur nos instructions et est lié par un accord de sous-traitance conforme à l'article 28 du RGPD.

Sous-traitantRôleLocalisation des traitementsEncadrement
SupabaseBase de données, authentification, stockage de fichiers, fonctions serveurUnion européenne — région West EU (Paris). Le stockage de fichiers s'appuie sur l'infrastructure AWS.Accord de sous-traitance ; clauses contractuelles types pour toute assistance depuis un pays tiers
Vercel Inc.Hébergement du site titu.app (front-end) et de son réseau de diffusionÉtats-Unis, avec diffusion mondialeClauses contractuelles types de la Commission européenne. Certains de ces prestataires sont par ailleurs certifiés au cadre EU-US Data Privacy Framework ; une copie des garanties applicables à un prestataire donné peut être demandée à yo@titu.app
TwilioAcheminement du SMS contenant le code à usage uniqueÉtats-Unis, avec points de présence en EuropeClauses contractuelles types et règles d'entreprise contraignantes
Google LLC (Firebase Cloud Messaging)Acheminement des notifications push Android et iOSÉtats-UnisClauses contractuelles types de la Commission européenne. Certains de ces prestataires sont par ailleurs certifiés au cadre EU-US Data Privacy Framework ; une copie des garanties applicables à un prestataire donné peut être demandée à yo@titu.app
Apple Inc. (APNs)Acheminement des notifications push sur iOSÉtats-UnisClauses contractuelles types ; le service est indissociable du système d'exploitation iOS
PostHogMesure d'audience par événements nommésUnion européenneAccord de sous-traitance ; hébergement UE
Open-MeteoMétéo historique d'un matchUnion européenneInterrogé sans clé ni compte ; ne reçoit aucune donnée personnelle
Google LLC (Google Fonts)Téléchargement des polices d'écriture par l'application mobile au premier lancement. Reçoit de ce fait l'adresse IP de l'appareil. Sur le site, les polices sont servies depuis nos propres serveurs : aucun appel.États-UnisClauses contractuelles types
OpenFreeMapFonds de carte de l'annuaire de terrains. Reçoit l'adresse IP et la zone géographique consultée.Union européenne (Pays-Bas)Service public de tuiles ; aucun compte ni identifiant transmis
OpenStreetMap FoundationFonds de carte de l'écran « dispo près de chez moi » dans l'application. Reçoit l'adresse IP et la zone consultée.Royaume-Uni / Union européenneService public de tuiles ; aucun compte ni identifiant transmis

Transferts hors de l'Union européenne. Le cœur de vos données — compte, groupes, sessions, scores, fiches — est hébergé dans l'Union européenne. Les transferts vers les États-Unis se limitent à ce qui est techniquement inévitable : la diffusion des pages du site, l'acheminement d'un SMS et l'acheminement d'une notification push. Ils sont encadrés par les mécanismes prévus au chapitre V du RGPD (décision d'adéquation, clauses contractuelles types).

Autres destinataires possibles : les autres membres de vos groupes, dans les limites décrites à la section 4 ; et, le cas échéant, les autorités judiciaires ou administratives sur réquisition régulière.

13. Durées de conservation — récapitulatif

DonnéeDurée
Numéro de téléphone, prénom, photo, langueVie du compte, puis effacés à la suppression
Profil football, panoplie, clubs suivis, commentaires, réactionsVie du compte, puis effacés
Point de disponibilité géographiqueJusqu'à désactivation, puis effacé à la suppression
Jetons de notificationJusqu'à la mise en pause ou la suppression, ou jusqu'à invalidation par le service d'acheminement
Identité et statistiques de compétitionJusqu'au retrait de la revendication ou à la suppression du compte, puis effacées sans archivage
Compositions, scores, buts, votes des matchs déjà jouésConservés, sous forme anonymisée après la suppression du compte (section 16)
Compositions des matchs à venirEffacées à la suppression du compte, la place étant rendue au groupe
Prénom d'un « +1 » sur une feuille de match passéeConservé avec l'historique du groupe
Téléphone d'un « +1 »Jusqu'à la conversion en compte, la suppression du compte de l'hôte, ou une demande d'effacement
Place gardée non réclaméeSupprimée automatiquement au verrou de la compo (par défaut, 2 h avant le coup d'envoi)
Journal d'authentification (adresse IP, agent utilisateur)Purgé à la suppression du compte
Journal de cycle de vie du compteConservé sans limite, sous forme non identifiante
Événements de mesure d'audienceAu maximum 25 mois
Demandes adressées à notre contact3 ans à compter du dernier échange

Transparence sur ce point : en dehors des cas où une durée est explicitement indiquée ci-dessus, les données liées à votre compte sont conservées tant que votre compte existe. Nous n'appliquons pas de purge automatique par ancienneté ; ce sont la mise en pause et la suppression, décrites aux sections 15 et 16, qui commandent leur sort.

14. Sécurité des données

Conformément à l'article 32 du RGPD, nous mettons en œuvre les mesures suivantes :

  • Chiffrement des communications en TLS sur l'ensemble des échanges, application et site.
  • Chiffrement des données au repos par notre hébergeur.
  • Sécurité au niveau des lignes de la base de données. Chaque table sensible porte des règles d'accès évaluées par le moteur de base de données : un client ne peut lire que ce que la règle autorise, quelle que soit la requête qu'il émet. C'est ce mécanisme qui tient le verrou de réciprocité des votes (section 4.3) et la confidentialité des photos de profil (section 5.2).
  • Toutes les opérations sensibles sont transactionnelles et exécutées côté serveur. Prendre une place, déclarer une absence, confirmer, revendiquer une identité, supprimer un compte : le client appelle, il ne décide pas.
  • Les transitions dans le temps (ouverture de la file, verrou, expiration d'une offre) sont déclenchées par une tâche planifiée sur le serveur, jamais par l'appareil : changer l'heure de son téléphone n'a aucun effet.
  • Cloisonnement des données de compétition : sécurité au niveau des lignes activée sans règle d'accès et aucune permission accordée aux rôles publics.
  • Limitation du taux de requêtes sur les fonctions sensibles, et journal d'audit sur la revendication d'identité.
  • Espace de stockage des photos privé, accès par lien signé de 5 minutes.

En cas de violation de données susceptible d'engendrer un risque pour vos droits et libertés, nous notifierons la CNIL dans les 72 heures (article 33 du RGPD) et vous en informerons directement lorsque le risque est élevé (article 34).

15. Mettre son compte en pause

La pause est un geste réversible qui vous retire de la circulation sans détruire votre historique. Elle se déclenche depuis Réglages › Zone de danger › Pause.

Ce qui se passe immédiatement :

  1. Vos places à venir sont rendues au groupe — vos inscriptions aux sessions futures sont libérées, et le remplaçant suivant est appelé. Cela vaut aussi pour les « +1 » dont vous étiez l'hôte et pour les sessions que vous aviez rejointes par l'appel communautaire.
  2. Votre disponibilité géographique est mise à l'arrêt (la ligne est conservée pour pouvoir vous la restituer).
  3. Vos jetons de notification sont supprimés : vous ne recevez plus rien.
  4. Les notifications non encore envoyées qui vous étaient destinées sont supprimées.
  5. Votre fiche joueur cesse d'être consultable par les autres.

Ce qui est préservé : votre prénom, votre photo, votre langue, votre appartenance aux groupes, votre historique de matchs, votre classement, votre profil football, votre panoplie, vos commentaires, et votre identité de compétition si vous en avez revendiqué une.

Ce qui est bloqué pendant la pause : vous ne pouvez plus prendre ou confirmer une place, rejoindre un groupe, ajouter un « +1 », voter, commenter, réagir, ni modifier votre disponibilité géographique. Toute tentative est refusée par la base de données elle-même, avec un message explicite.

Le retour se fait en un geste, depuis le même écran. Votre disponibilité géographique est remise en marche uniquement si elle l'était avant la pause. En revanche, les places rendues ne reviennent pas : quelqu'un a pu jouer à votre place, et nous ne dépossédons personne.

Une réserve : un joueur qui est le dernier gérant d'un groupe comptant d'autres membres ne peut pas se mettre en pause tant qu'il n'a pas transmis les clés. Ce n'est pas un obstacle à vos droits : la transmission se fait en deux gestes depuis l'écran du vestiaire.

16. Supprimer son compte — ce qui est effacé, ce qui est anonymisé

La suppression se déclenche depuis Réglages › Zone de danger › Supprimer mon compte, avec une confirmation explicite. Elle est immédiate, définitive et sans corbeille : il n'y a ni délai de grâce, ni sauvegarde, ni possibilité de restauration. Un compte supprimé ne peut pas être réactivé.

Avant tout gel, vos places sont rendues. C'est la première opération, et elle couvre toutes les formes de place qu'un compte peut tenir : vos inscriptions aux sessions futures, les « +1 » dont vous étiez l'hôte, les sessions rejointes par l'appel communautaire, et les places gardées que vous aviez créées ou qui vous étaient destinées. Une seule de ces formes oubliée laisserait une place fantôme : un groupe qui croit être à dix et joue à neuf. Ce n'est pas un détail d'affichage — c'est la donnée d'autres personnes que nous abîmerions.

Ce qui est EFFACÉ, sans copie et sans archive :

  • votre numéro de téléphone, y compris dans le journal d'authentification — un journal qui n'est rattaché à votre compte par aucun lien technique et que la suppression du compte n'atteint donc pas d'elle-même : il est purgé explicitement, à la fois par identifiant et par numéro ;
  • votre photo de profil : la référence est effacée immédiatement, et le fichier est supprimé de l'espace de stockage par une tâche automatique qui s'exécute toutes les cinq minutes ;
  • votre langue, votre profil football, votre panoplie, vos clubs suivis ;
  • vos commentaires et vos réactions ;
  • votre point de disponibilité géographique et son rayon ;
  • vos jetons d'appareils et votre file de notifications — y compris les notifications destinées à d'autres qui vous nommaient ;
  • le journal des événements de session qui portait votre prénom en clair (« untel a pris une place »), ainsi que, dans ces mêmes libellés, le prénom d'un « +1 » que vous aviez amené ;
  • votre identité de compétition et l'intégralité de vos statistiques, ainsi que le journal de revendication vous concernant ;
  • les places gardées que vous aviez créées et celles qui portaient votre numéro ;
  • le numéro de téléphone de tout « +1 » que vous aviez amené ;
  • votre identité d'authentification et l'ensemble de vos sessions et jetons.

Ce qui est ANONYMISÉ et conservé :

Votre profil devient une coquille sans aucun attribut identifiant : votre nom d'affichage est remplacé par un pseudonyme technique sans signification (de la forme #a3f91c), la photo et la langue sont mises à zéro.

À partir de là, les lignes qui pointaient vers vous ne pointent plus que vers un identifiant nu, et sont donc anonymisées d'un seul geste :

  • les compositions des matchs déjà joués ;
  • les buts, passes et statistiques de ces matchs ;
  • les votes que vous avez émis et ceux que vous avez reçus ;
  • les feuilles de match où figurait un « +1 » que vous aviez amené — son prénom reste, parce que ce n'est pas votre donnée : c'est celle d'un tiers inscrit sur la feuille de match d'un groupe qui a le droit de garder son propre historique.

Pourquoi ne pas tout effacer ? Parce qu'un score de match n'est pas votre donnée seule. Il appartient aussi aux neuf autres personnes qui étaient sur le terrain. Effacer la ligne mutilerait leur historique, leur classement et leurs résultats. Nous détruisons donc le lien à vous, ce qui fait sortir ces lignes du champ du règlement, plutôt que de détruire la mémoire commune d'un groupe.

Une réserve, identique à celle de la pause : un joueur qui est le dernier gérant d'un groupe comptant d'autres membres doit d'abord transmettre les clés. La transmission se fait en deux gestes depuis l'écran du vestiaire. Si vous ne parvenez pas à la réaliser, écrivez-nous : nous procéderons à la suppression.

Deux points de transparence :

  1. Dans un cas de repli technique où la ligne d'authentification ne pourrait pas être supprimée dans la même opération, le compte est banni avant toute tentative de purge : la connexion devient impossible même si la purge échoue. Cet ordre est la garantie, et la suppression du reliquat est alors finalisée par nos soins.
  2. La suppression du compte n'est disponible que dans l'application mobile. Si vous n'avez plus accès à l'application, écrivez-nous à l'adresse de contact : nous exécuterons la suppression.

17. Vos droits

Vous disposez, sur vos données personnelles, des droits suivants :

  • Droit d'accès (art. 15) — obtenir la confirmation que nous traitons vos données et en obtenir une copie.
  • Droit de rectification (art. 16) — corriger une donnée inexacte ou incomplète. La plupart de vos informations sont directement modifiables dans l'application.
  • Droit à l'effacement (art. 17) — obtenir la suppression de vos données. Il s'exerce directement par la suppression du compte (section 16), ou sur demande.
  • Droit à la limitation du traitement (art. 18).
  • Droit d'opposition (art. 21) — vous opposer à un traitement fondé sur notre intérêt légitime, notamment la mesure d'audience.
  • Droit à la portabilité (art. 20) — recevoir les données que vous nous avez fournies dans un format structuré et lisible par machine.
  • Droit de retirer votre consentement à tout moment, aussi facilement que vous l'avez donné, pour les traitements qui en dépendent : la disponibilité géographique (un interrupteur dans le profil), la revendication d'identité (un bouton de retrait dans le profil), l'affichage des statistiques de compétition, et les notifications push (les réglages de votre système). Le retrait ne remet pas en cause la licéité du traitement effectué avant celui-ci.
  • Droit de définir des directives relatives au sort de vos données après votre décès (article 85 de la loi Informatique et Libertés).

Ce que l'application vous permet de faire seul, immédiatement : consulter et modifier votre profil, votre fiche joueur, votre panoplie et vos réglages de visibilité ; activer ou désactiver la disponibilité géographique ; délier une identité de compétition, ce qui efface les statistiques associées ; mettre le compte en pause ; supprimer le compte, avec l'énoncé de ce qui est effacé et de ce qui est anonymisé.

⚠️ Ce que l'application ne permet PAS encore, en toute honnêteté : il n'existe pas de fonction d'export automatisé de vos données dans un fichier lisible par machine, et il n'existe pas d'écran unique récapitulant l'ensemble des données détenues et des consentements donnés. Les droits d'accès (art. 15) et de portabilité (art. 20) s'exercent donc sur demande adressée à yo@titu.app ; nous vous transmettrons un export dans un format structuré. Nous ne prétendons pas le contraire, et cette fonctionnalité fait partie de nos développements à venir.

Comment exercer vos droits : écrivez à yo@titu.app, depuis un moyen permettant de vous identifier, en précisant votre demande. Nous pouvons vous demander un justificatif d'identité en cas de doute raisonnable. Nous répondons dans un délai d'un mois, prorogeable de deux mois en cas de demande complexe, auquel cas nous vous en informons.

Si vous êtes un « +1 » dont un membre a saisi le prénom et éventuellement le numéro sans être membre vous-même : vos droits sont les mêmes. Écrivez-nous à l'adresse de contact, ou demandez au membre qui vous a inscrit de vous retirer.

Réclamation : si vous estimez que vos droits ne sont pas respectés, vous pouvez introduire une réclamation auprès de la CNIL (cnil.fr/plaintes) ou de l'autorité de contrôle de votre pays de résidence.

18. Modifications de la présente politique

Cette politique peut évoluer, notamment pour refléter une nouvelle fonctionnalité, un changement de sous-traitant ou une évolution réglementaire.

En cas de modification substantielle, nous vous en informerons par un message dans l'application ou sur le site avant son entrée en vigueur. Lorsque la modification porte sur un traitement fondé sur votre consentement, un nouveau consentement vous sera demandé — c'est notamment le cas de la revendication d'identité, dont le texte porte un numéro de version enregistré avec votre confirmation et vérifié par le serveur à chaque revendication.

La version en vigueur est toujours accessible depuis le site titu.app et depuis les réglages de l'application. La date de dernière mise à jour figure en tête du document.

Version 1.0 — en vigueur à compter du 30 juillet 2026.

Sommaire
  1. 1. Responsable du traitement
  2. 2. Champ d'application et âge minimum
  3. 3. Nos principes de conception
  4. 4. Les traitements, un par un : finalité, données, base légale, durée, destinataires
  5. 5. Les garanties structurelles
  6. 6. Les « +1 » : quand un membre saisit les données d'un tiers
  7. 7. Revendication d'identité — « c'est toi ? »
  8. 8. Notifications push
  9. 9. Mesure d'audience
  10. 10. Annuaire des terrains et des clubs, et offres partenaires
  11. 11. Cookies et stockage local
  12. 12. Destinataires, sous-traitants et transferts hors UE
  13. 13. Durées de conservation — récapitulatif
  14. 14. Sécurité des données
  15. 15. Mettre son compte en pause
  16. 16. Supprimer son compte — ce qui est effacé, ce qui est anonymisé
  17. 17. Vos droits
  18. 18. Modifications de la présente politique