Privacy Policy
Last updated: September 21, 2026
Middle Spot ("we," "our," or "us") is committed to protecting your privacy. This Privacy Policy explains how we handle your information when you use the Middle Spot app.
Our Privacy-First Approach
Middle Spot is built with privacy at its core. We believe meaningful connections shouldn't require surrendering your personal data. We collect only what is necessary to deliver the app's features, and we give you clear controls over your information.
Information We Collect
Information You Provide
- Name: Retrieved from your Apple ID or Google account during sign-in; you can edit it before saving.
- Prompt Answers: Your responses to conversation prompts.
- Encounter Notes: Any notes you add to your encounters.
Information We Collect Automatically
- Location (optional): If you grant permission, we collect city/neighborhood-level location (e.g., "Montreal, Canada") when you log an encounter — scanning a QR code one-on-one, or hosting/joining a group Table session. We do NOT store precise GPS coordinates.
- Voice Recordings (temporary): When you use voice-to-text, your audio is sent to our transcription service and immediately discarded. Only the resulting text is stored.
- Weather Context (optional, tied to location permission): When an encounter is logged, we record atmospheric data — weather condition (e.g., clear, rainy), a temperature-feeling category (e.g., warm, cold) together with the underlying temperature in Celsius, and time of day (e.g., morning, evening).
- Device Token: If you enable push notifications, we collect your device's push token to deliver encounter notifications.
- Crash and Error Reports: We collect anonymized crash and error data via Sentry to help us fix bugs. Sentry is configured with Apple's default PII collection disabled (no IP address or device identifiers attached), and our code never logs your name, prompt answers, or other profile content to it — only generic event descriptions and crash stack traces are sent. As a backstop, we also scrub auth tokens, email addresses, and QR-code link fragments from any message text before it's transmitted.
- Card Counts: For each question card in the decks, we count how many times it is skipped, saved and sent, so we can tell which questions are working. These are totals per card only. They carry no account, device or other identifier, and cannot be traced back to you.
How We Store Your Information
On Your Device
Your data is cached locally for fast, offline access: prompt answers, encounter records and affinities, and app preferences (conversation tone, voice selection, QR sharing scope, etc.).
In the Cloud (Supabase)
To enable features like affinity generation, encounter history, notifications, and account recovery, certain data is also stored in our secure cloud database (Supabase):
- Your profile (name, preferences)
- Your prompt answers. A copy of your answers is kept in step with your device so that affinities can be generated without the other person's device ever receiving your answers. Which answers are included follows your QR Privacy selection — anything you uncheck there is excluded from this copy and from any comparison. Editing or deleting an answer updates this copy; deleting your account deletes it.
- Answers you share with a Table session. When you start or join a Table, the answers you chose to share are stored with that session so the group's prompts can be generated. These are deleted automatically 24 hours after the session expires.
- Encounter records and generated affinities
- Short-lived scan codes — random values containing no personal information, used to confirm that a QR code was scanned in person. They expire within minutes and are deleted automatically.
- Authentication credentials (managed by Supabase Auth — tokens stored in your device's Keychain)
- Device push notification token (to deliver encounter alerts)
- Security event logs (event type, timestamp, and your user ID — used to detect fraud and abuse such as purchase or rate-limit anomalies; never your name, prompt answers, or message content)
All cloud data is transmitted over HTTPS/TLS and protected by Supabase's security infrastructure.
How We Use Your Information
We use your information to:
- Create and manage your account
- Generate your personal QR code for sharing with people you meet
- Identify affinities between you and others when QR codes are scanned
- Generate conversation prompts based on shared interests
- Provide psychological insights about your affinities
- Tag encounters with location, weather context, and date (if you've granted permission)
- Deliver push notifications when someone scans your QR code
- Monitor app stability and fix crashes (anonymized)
- Process in-app purchases and manage premium features
AI Processing
Affinity Generation
When you scan someone's QR code, both people's shared answers are read on our server and sent to OpenAI via a secure Supabase edge function. They are not sent from either phone, and neither phone receives the other's answers. This data is used to identify affinities and generate conversation prompts and psychological insights. The generated affinity is then stored in your encounter record (both on device and in Supabase). OpenAI's API key is never embedded in the app — it lives exclusively in our server-side environment.
Voice Transcription
When you record a voice answer, the audio file is sent to OpenAI's Whisper API via a Supabase edge function. The transcribed text is returned, the audio file is immediately deleted from our servers and your device, and only the text is stored. OpenAI processes this data according to their privacy policy.
Information Sharing
We do not:
- Sell your personal information
- Share your data with third parties for marketing purposes
- Track your behavior across other apps or websites
- Create advertising profiles
Your QR Code
Your QR code does not contain your answers. It carries only your user ID (a randomly generated identifier), your first name, and a single-use key. It is encrypted with AES-256-GCM.
The code is created fresh each time you show it and stops working after about thirty seconds. The single-use key is what makes it a code rather than an identity: it can only be obtained by actually scanning the code in person, and it is spent the first time it is used. A screenshot of your code, or a code someone kept from a previous meeting, will not work.
When someone scans you, their app asks our server to compare the two profiles. The comparison happens entirely on our server, and only the resulting affinity is sent back to them. Their device never receives your answers — not the ones you share, and not the ones you don't. Which of your answers the comparison may use is set by your sharing selection in the app, and applied on our server.
Location Privacy
If you enable location tagging:
- We only access your location "While Using the App"
- We store city/neighborhood-level location only (e.g., "Montreal, Canada")
- We do NOT store precise GPS coordinates
- Location is only captured when you log an encounter — scanning a QR code one-on-one, or hosting/joining a group Table session
- You can disable location access anytime in device Settings
Your Rights and Choices
You can:
- Edit or Delete Answers: Modify or remove any prompt answers at any time from the Profile tab.
- Disable Location: Turn off location tagging in device Settings.
- Manage Notifications: Disable push notifications in device Settings.
- Delete Encounters: Remove saved affinities from within the app.
- Revoke Permissions: Disable camera, microphone, speech recognition, or location access via device Settings.
- Delete Your Account: Permanently delete your account and all associated data (see below).
Data Deletion
You can permanently delete your account from within the app:
- Open Middle Spot → Settings
- Scroll to the bottom and tap Delete account
- Confirm — your account and all associated data are immediately and permanently removed from our servers
If you no longer have access to the app, email us at gate@middlespot.app with the subject "Account Deletion Request" and we will complete deletion within 7 days.
Note: Deleting the app from your device removes your local cached data but does NOT delete your account or server-side data. Use the in-app deletion flow above for complete removal.
Authentication
Middle Spot supports three sign-in methods:
- Sign in with Apple: Apple provides your name and optionally a private relay email. Apple's privacy policy governs this data sharing.
- Google Sign-In: Google provides your name and email. Google's privacy policy governs this data sharing.
- Email: We send a one-time verification code to your inbox; entering it signs you in via Supabase Auth. No password is created or stored.
Apple and Google sign-in use industry-standard OAuth 2.0 with nonce-based CSRF protection. Authentication tokens for all methods are stored in your device's Keychain.
Third-Party Services
| Service |
Purpose |
| Supabase | Backend database, authentication, real-time sync, and cloud storage |
| OpenAI | Affinity detection and conversation prompt generation |
| OpenAI (Whisper) | Voice answer transcription |
| Apple Sign In | Authentication |
| Google Sign-In | Authentication |
| OneSignal | Push notification delivery |
| RevenueCat | In-app purchase and premium subscription management |
| Sentry | Crash reporting and error monitoring (PII-scrubbed) |
| WeatherKit (Apple) | Atmospheric context for encounter records |
Children's Privacy
Middle Spot is not intended for users under 13 years of age. We do not knowingly collect information from children under 13.
Changes to This Policy
We may update this Privacy Policy from time to time. We will notify you of significant changes through the app or via email.
Contact Us
Meaningful connections, privacy protected.
Politique de confidentialité
Dernière mise à jour : 26 août 2026
Middle Spot (« nous », « notre » ou « nos ») s'engage à protéger votre vie privée. Cette politique de confidentialité explique comment nous traitons vos informations lorsque vous utilisez l'application Middle Spot.
Notre approche axée sur la confidentialité
Middle Spot est conçu avec la confidentialité en son cœur. Nous croyons que des connexions significatives ne devraient pas nécessiter de sacrifier vos données personnelles. Nous ne collectons que ce qui est nécessaire pour fournir les fonctionnalités de l'application, et nous vous donnons des contrôles clairs sur vos informations.
Informations que nous collectons
Informations que vous fournissez
- Nom : Récupéré depuis votre identifiant Apple ou votre compte Google lors de la connexion ; vous pouvez le modifier avant de l'enregistrer.
- Réponses aux questions : Vos réponses aux amorces de conversation.
- Notes de rencontre : Les notes que vous ajoutez à vos rencontres.
Informations collectées automatiquement
- Localisation (facultative) : Si vous accordez la permission, nous collectons votre localisation au niveau ville/quartier (p. ex. « Montréal, Canada ») lorsque vous enregistrez une rencontre, que ce soit en scannant un code QR en tête-à-tête, ou en organisant/rejoignant une session de groupe (Table). Nous NE stockons PAS les coordonnées GPS précises.
- Enregistrements vocaux (temporaires) : Lorsque vous utilisez la transcription vocale, votre audio est envoyé à notre service de transcription et immédiatement supprimé. Seul le texte résultant est stocké.
- Contexte météorologique (facultatif, lié à la permission de localisation) : Lorsqu'une rencontre est enregistrée, nous collectons des données atmosphériques : condition météo (p. ex. ensoleillé, pluvieux), une catégorie de ressenti thermique (p. ex. chaud, froid) ainsi que la température sous-jacente en degrés Celsius, et le moment de la journée (p. ex. matin, soir).
- Jeton d'appareil : Si vous activez les notifications push, nous collectons le jeton push de votre appareil pour vous envoyer des notifications de rencontre.
- Rapports de plantage et d'erreur : Nous collectons des données anonymisées de plantage et d'erreur via Sentry pour corriger les bugs. Sentry est configuré avec la collecte de données personnelles par défaut d'Apple désactivée (aucune adresse IP ni identifiant d'appareil joint), et notre code ne lui transmet jamais votre nom, vos réponses aux questions, ou tout autre contenu de profil ; seules des descriptions génériques d'événements et des traces de plantage sont envoyées. À titre de filet de sécurité, nous supprimons aussi les jetons d'authentification, les adresses e-mail et les fragments de lien de code QR de tout texte de message avant sa transmission.
Comment nous stockons vos informations
Sur votre appareil
Vos données sont mises en cache localement pour un accès rapide hors ligne : réponses aux questions, enregistrements de rencontres et affinités, et préférences de l'application (ton de conversation, sélection de voix, portée de partage QR, etc.).
Dans le cloud (Supabase)
Pour permettre des fonctionnalités comme la génération d'affinités, l'historique des rencontres, les notifications et la récupération de compte, certaines données sont également stockées dans notre base de données cloud sécurisée (Supabase) :
- Votre profil (nom, préférences)
- Vos réponses aux questions. Une copie de vos réponses est tenue à jour avec votre appareil afin que les affinités puissent être générées sans que l'appareil de l'autre personne ne reçoive jamais vos réponses. Les réponses incluses suivent votre sélection de confidentialité QR : tout ce que vous décochez est exclu de cette copie et de toute comparaison. Modifier ou supprimer une réponse met cette copie à jour ; supprimer votre compte la supprime.
- Les réponses que vous partagez avec une session Table. Lorsque vous créez ou rejoignez une Table, les réponses que vous avez choisi de partager sont stockées avec cette session afin de générer les questions du groupe. Elles sont supprimées automatiquement 24 heures après l'expiration de la session.
- Enregistrements de rencontres et affinités générées
- Codes de scan éphémères : valeurs aléatoires ne contenant aucune information personnelle, servant à confirmer qu'un code QR a été scanné en personne. Ils expirent en quelques minutes et sont supprimés automatiquement.
- Identifiants d'authentification (gérés par Supabase Auth ; jetons stockés dans le Trousseau de votre appareil)
- Jeton de notification push (pour envoyer des alertes de rencontre)
- Journaux d'événements de sécurité (type d'événement, horodatage et votre identifiant utilisateur, utilisés pour détecter la fraude et les abus tels que les anomalies d'achat ou de limitation de débit ; jamais votre nom, vos réponses aux questions ou le contenu de vos messages)
Toutes les données cloud sont transmises via HTTPS/TLS et protégées par l'infrastructure de sécurité de Supabase.
Comment nous utilisons vos informations
Nous utilisons vos informations pour :
- Créer et gérer votre compte
- Générer votre code QR personnel pour le partager avec les personnes que vous rencontrez
- Identifier des affinités entre vous et les autres lorsque des codes QR sont scannés
- Générer des amorces de conversation basées sur des intérêts communs
- Fournir des perspectives psychologiques sur vos affinités
- Associer les rencontres à une localisation, un contexte météorologique et une date (si vous avez accordé la permission)
- Envoyer des notifications push lorsque quelqu'un scanne votre code QR
- Surveiller la stabilité de l'application et corriger les plantages (anonymisé)
- Traiter les achats intégrés et gérer les fonctionnalités premium
Traitement par intelligence artificielle
Génération d'affinités
Lorsque vous scannez le code QR de quelqu'un, les réponses partagées des deux personnes sont lues sur notre serveur et envoyées à OpenAI via une fonction Edge Supabase sécurisée. Elles ne sont envoyées depuis aucun des deux téléphones, et aucun des deux ne reçoit les réponses de l'autre. Ces données servent à identifier des affinités et à générer des amorces de conversation et des perspectives psychologiques. L'affinité générée est ensuite stockée dans votre enregistrement de rencontre (à la fois sur l'appareil et dans Supabase). La clé API d'OpenAI n'est jamais intégrée dans l'application ; elle réside exclusivement dans notre environnement côté serveur.
Transcription vocale
Lorsque vous enregistrez une réponse vocale, le fichier audio est envoyé à l'API Whisper d'OpenAI via une fonction Edge Supabase. Le texte transcrit est retourné, le fichier audio est immédiatement supprimé de nos serveurs et de votre appareil, et seul le texte est stocké. OpenAI traite ces données conformément à sa politique de confidentialité.
Partage d'informations
Nous ne :
- Vendons pas vos informations personnelles
- Partageons pas vos données avec des tiers à des fins marketing
- Suivons pas votre comportement sur d'autres applications ou sites web
- Créons pas de profils publicitaires
Votre code QR
Votre code QR ne contient pas vos réponses. Il ne porte que votre identifiant utilisateur (un identifiant généré aléatoirement), votre prénom et une clé à usage unique. Il est chiffré avec AES-256-GCM.
Le code est créé à neuf chaque fois que vous l'affichez et cesse de fonctionner après une trentaine de secondes. La clé à usage unique est ce qui en fait un code plutôt qu'une identité : elle ne peut être obtenue qu'en scannant réellement le code en personne, et elle est consommée dès la première utilisation. Une capture d'écran de votre code, ou un code conservé d'une rencontre précédente, ne fonctionnera pas.
Lorsque quelqu'un vous scanne, son application demande à notre serveur de comparer les deux profils. La comparaison a lieu entièrement sur notre serveur, et seule l'affinité obtenue lui est renvoyée. Son appareil ne reçoit jamais vos réponses, ni celles que vous partagez, ni les autres. Les réponses que la comparaison peut utiliser sont déterminées par votre sélection de partage dans l'application, et appliquées sur notre serveur.
Confidentialité de la localisation
Si vous activez le marquage de localisation :
- Nous n'accédons à votre localisation que « Pendant l'utilisation de l'application »
- Nous ne stockons que la localisation au niveau ville/quartier (p. ex. « Montréal, Canada »)
- Nous NE stockons PAS les coordonnées GPS précises
- La localisation n'est capturée que lorsque vous enregistrez une rencontre, que ce soit en scannant un code QR en tête-à-tête, ou en organisant/rejoignant une session de groupe (Table)
- Vous pouvez désactiver l'accès à la localisation à tout moment dans les Réglages de l'appareil
Vos droits et choix
Vous pouvez :
- Modifier ou supprimer des réponses : Modifiez ou supprimez toute réponse à tout moment depuis l'onglet Profil.
- Désactiver la localisation : Désactivez le marquage de localisation dans les Réglages de l'appareil.
- Gérer les notifications : Désactivez les notifications push dans les Réglages de l'appareil.
- Supprimer des rencontres : Supprimez les affinités sauvegardées depuis l'application.
- Révoquer les permissions : Désactivez l'accès à la caméra, au microphone, à la reconnaissance vocale ou à la localisation via les Réglages de l'appareil.
- Supprimer votre compte : Supprimez définitivement votre compte et toutes les données associées (voir ci-dessous).
Suppression des données
Vous pouvez supprimer définitivement votre compte depuis l'application :
- Ouvrez Middle Spot → Réglages
- Faites défiler vers le bas et appuyez sur Supprimer le compte
- Confirmez : votre compte et toutes les données associées sont immédiatement et définitivement supprimés de nos serveurs
Si vous n'avez plus accès à l'application, envoyez-nous un e-mail à gate@middlespot.app avec le sujet « Demande de suppression de compte » et nous effectuerons la suppression dans les 7 jours.
Remarque : La suppression de l'application de votre appareil supprime vos données mises en cache localement, mais ne supprime PAS votre compte ni les données côté serveur. Utilisez le flux de suppression intégré à l'application ci-dessus pour une suppression complète.
Authentification
Middle Spot prend en charge trois méthodes de connexion :
- Connexion avec Apple : Apple fournit votre nom et optionnellement un e-mail relais privé. La politique de confidentialité d'Apple régit ce partage de données.
- Connexion avec Google : Google fournit votre nom et votre e-mail. La politique de confidentialité de Google régit ce partage de données.
- E-mail : Nous envoyons un code de vérification à usage unique à votre boîte de réception ; le saisir vous connecte via Supabase Auth. Aucun mot de passe n'est créé ni stocké.
La connexion Apple et Google utilise OAuth 2.0 standard avec protection CSRF basée sur des nonces. Les jetons d'authentification de toutes les méthodes sont stockés dans le Trousseau de votre appareil.
Services tiers
| Service |
Utilisation |
| Supabase | Base de données backend, authentification, synchronisation en temps réel et stockage cloud |
| OpenAI | Détection d'affinités et génération d'amorces de conversation |
| OpenAI (Whisper) | Transcription des réponses vocales |
| Apple Sign In | Authentification |
| Google Sign-In | Authentification |
| OneSignal | Envoi de notifications push |
| RevenueCat | Gestion des achats intégrés et des abonnements premium |
| Sentry | Rapports de plantage et surveillance des erreurs (données personnelles supprimées) |
| WeatherKit (Apple) | Contexte atmosphérique pour les enregistrements de rencontre |
Confidentialité des mineurs
Middle Spot n'est pas destiné aux utilisateurs de moins de 13 ans. Nous ne collectons pas sciemment d'informations auprès d'enfants de moins de 13 ans.
Modifications de cette politique
Nous pouvons mettre à jour cette politique de confidentialité de temps à autre. Nous vous informerons des changements importants via l'application ou par e-mail.
Nous contacter
Des connexions significatives, la vie privée protégée.