Privacy Policy

This Privacy Policy explains how we collect, use, share and protect your personal data when you use Groom — our mobile application and our website — and what rights you have over your data. We have written it in plain language wherever the law allows, and in more formal language where precision is required.

Privacy at a glance

Here is the short version. The full policy is below.

  • Groom is for adults. You must be at least 18 years old to use it.
  • We do not sell your personal data. We never have.
  • We do not run advertising in Groom. There are no ad SDKs in the app, and no third-party analytics.
  • Your iOS App Tracking Transparency prompt is never triggered by us, because we do not request the IDFA. There is nothing to track you with.
  • We collect what we need to run the service: your account, your profile, what you post, who you talk to, and where you are when you are using the app.
  • We use your precise location only while the app is open, and only with your permission. We do not collect background location.
  • We use it for two things: showing you nearby places, and verifying that you are physically present at a place when you join its chat.
  • Place-chat messages are deleted after 30 days. Direct messages are deleted after 90 days. These limits are baked into our code; you can rely on them.
  • Direct messages and place-chat messages are encrypted in transit and at rest, but they are not end-to-end encrypted. If a message is reported, our moderation team can read it. If you need end-to-end privacy, use a service like Signal.
  • You can see, correct or delete your data at any time from inside the app, or by writing to us. Deleting your account triggers a seven-day grace period after which everything is permanently removed.
  • If you live in the European Union, the United Kingdom, or another region with a privacy regulator, you can complain to that regulator if you think we have done something wrong.

1. Who we are

Groom App (“Groom”, “we”, “us” and “our”) is a social-discovery service operated from France. You can reach us at the contact details in § 15 below. We are the controller of your personal data within the meaning of Article 4(7) of the General Data Protection Regulation (the “GDPR”). Our privacy contact is support@groomapp.fr. You can write to us in French or English.

2. Scope of this policy

This policy applies to your use of:

  • the Groom mobile application on iOS and Android (bundle identifier com.groom.groommobileapp);
  • any communication we send to you in connection with the service.

It does not apply to third-party services you may reach through Groom. Their handling of your data is governed by their own privacy policies.

3. Data we collect

We collect three kinds of personal data: data you give us directly, data we collect automatically when you use the service, and data we receive from other sources. We have tried to be exhaustive; if you spot something missing, let us know.

3.1 Data you give us

Account data

When you create an account, we ask for: an email address; a password (which is hashed by our authentication provider before being stored — we never see it in clear text); your date of birth (used to verify that you are at least 18); a unique nickname; and your locale (filled in automatically from your device). The password must be at least eight characters long and contain both letters and digits.
You can sign up with Sign in with Apple or Sign in with Google instead of email and password. If you do, we receive your name and email address from Apple or Google. We do not receive any other information from those providers.

Profile data

You can choose to add: a profile photo; a short biography; links to other social-media accounts (your Instagram or TikTok handles, for example); status and intention fields (what you are looking for); and a profile theme. None of this is required. Anything you choose to add is visible to other users you interact with, subject to your privacy settings.

Content you create

Messages you send in place chats; direct messages you send to other users; image attachments to either kind of message; reactions; polls you create or vote in; place ratings; and feedback you submit through the app. All of this is stored on our servers.

Reports you submit

If you report another user, a profile, or a message, we keep the report itself, the content you reported (a snapshot taken at the moment of reporting, so the author cannot evade review by editing or deleting), the reason you gave, and the outcome of our review.

Communications with us

If you contact our support team, we keep what you wrote and our reply.

3.2 Data we collect automatically

Device and technical data

Each time you use Groom, we automatically receive: your device model, operating-system version, app version, language, time zone, and an installation identifier. We also receive crash logs (through Firebase Crashlytics) if the app crashes. Crashlytics receives stack traces, OS and device model, app version, and your user identifier where applicable.

Usage data

Which features you use, which place chats you join, which direct-message conversations you are part of, when you open the app, and how long your sessions last. This is stored in our own database, not in any third-party analytics product. We do not use Firebase Analytics, Mixpanel, Amplitude, Segment, Adjust, Branch, AppsFlyer, OneSignal or any other analytics or attribution SDK; you can verify this by inspecting our pubspec.yaml.

Location data

When you grant the app permission to access your location, we receive precise GPS coordinates from your device, along with the reading’s reported accuracy and a flag indicating whether the operating system has detected the location as mocked or spoofed.

We use this location only while the app is in the foreground. We do not collect background location. Our iOS app declares only the WhenInUse permission; our Android app declares only the foreground ACCESS_FINE_LOCATION and ACCESS_COARSE_LOCATION permissions. There is no background location mode in our iOS Info.plist.

We use location for two purposes: to show you places near you, and to verify that you are physically present at a place when you ask to join its chat. The verification is done server-side: a fix is rejected if the reported accuracy is worse than 50 metres, if the fix is older than five minutes, if the device flag indicates the location is mocked, or if you are not within the place’s radius. The radius is set per-place and clamped between 100 metres and 2 kilometres.

We do not keep a long-term record of where you have been. Each new location reading overwrites the previous one in a single row in our database. There is no per-user location history table. Anti-abuse counters are stored separately and aggregate-only — they record how often a fix was rejected and why, not the underlying coordinates.

Device identifiers used by SDKs

Some of the third-party services we use read or set identifiers on your device. The exhaustive list is:

  • a Firebase installation identifier, generated automatically when you first launch the app, used by Firebase Cloud Messaging to deliver push notifications and by Firebase Crashlytics to associate a crash report with a device;
  • the device model, OS version and app version, read locally by the device_info_plus and package_info_plus packages.

We do not request the iOS Identifier for Advertisers (IDFA) or the Android Advertising Identifier (GAID). The iOS App Tracking Transparency prompt is therefore never shown by Groom: we have nothing to ask you to track.

3.3 Data we receive from others

  • From Apple Inc. or Google LLC when you sign in with their identity service (your name and email address).
  • From the Apple App Store and Google Play when you subscribe to Pro: a confirmation that the subscription is active, the original transaction identifier, the product identifier, the expiration date, and the signed receipt blob. We do not receive your card number, billing address or cardholder name; those stay with Apple or Google.
  • From the Google Places API when you search for a place inside the app. The query you type, plus the latitude and longitude we send to scope it to your area, are sent to Google Places. Google’s terms apply to that interaction in addition to ours.
  • From other users when they interact with you or report you.
  • From law-enforcement or trusted-flagger organisations where they alert us to illegal content.

4. How we use your data and on what legal basis

Under GDPR Articles 13 and 14 we have to tell you why we use each piece of your data and what legal basis under Article 6 lets us do so. The breakdown is below. This is the most important part of the policy from a CNIL audit perspective.

To create and maintain your account

Legal basis: performance of a contract (Article 6(1)(b) GDPR). Without this we cannot provide you with the service.

To show you nearby places and let you join place chats

Legal basis: performance of a contract for the basic discovery feature, and your consent (Article 6(1)(a) GDPR) for the use of precise location data. You grant that consent through the operating-system permission prompt and you can withdraw it at any time from your device settings.

To verify that you are physically present at a place when you join its chat

Legal basis: performance of a contract — this is a core rule of the service, set out in our Terms and Conditions. We use your location reading only at the moment you ask to join, and only for the purpose of confirming you are within the venue’s perimeter.

To deliver direct messages and place-chat messages

Legal basis: performance of a contract.

To send you push notifications

Legal basis: your consent, granted through the operating-system notification permission. On iOS, we show you a custom prompt explaining what notifications we will send before the OS prompt appears; this is so you understand what you are agreeing to. You can turn notifications off entirely at the OS level, and you can mute individual conversations from inside the app.

To process subscription payments and provide Pro features

Legal basis: performance of a contract. We also retain certain receipt data for legal-obligation purposes (Article 6(1)(c) GDPR) — French commercial and tax law requires us to keep accounting records for ten years.

To prevent abuse, fraud, and breaches of our Terms

Legal basis: our legitimate interest (Article 6(1)(f) GDPR) in keeping the service safe for everyone, and legal obligation under the Digital Services Act and applicable national law. Our legitimate-interest analysis has weighed the seriousness of the abuse we are trying to prevent against the impact on you, and we have concluded that this processing is necessary and proportionate.

To moderate content and enforce our rules

Legal basis: legitimate interest (keeping the service safe and lawful) and legal obligation under the Digital Services Act.

To respond to law-enforcement requests

Legal basis: legal obligation. We disclose data only when we receive a request that meets the legal requirements applicable to us. We publish a separate Law Enforcement Guide explaining how authorities should make such requests.

To improve the service and fix bugs

Legal basis: legitimate interest. The data we use here is operational — crash reports, server logs, aggregate counts of how features are used. We do not use behavioural analytics.

To send you service messages

Legal basis: performance of a contract (account confirmations, security alerts) or legitimate interest (changes to the service).

To send you marketing messages

Legal basis: your consent. We currently have no marketing-push channel. If we add one, we will ask for your consent separately and you will be able to withdraw it at any time from inside the app.

5. Who we share your data with

We share your data only as described below. We never sell your data.

5.1 Other users

Other users see what you choose to make visible: your nickname, your profile photo and biography, your linked social-media handles, your selected status or intention, and any messages and posts you send in shared spaces. People in the same place chat as you can see that you are there. Other users never see your precise location, your device identifiers, your email address, or any internal moderation data about you.

5.2 Service providers we rely on

We use a small number of trusted service providers to run Groom. They process your data only on our instructions and only for the purposes we set. The exhaustive list is:

Backend (database, authentication, file storage, server functions)

Supabase. Hosts our Postgres database (where your account, profile, messages, reports, subscriptions and all other server-side data live), our authentication service, our four storage buckets (email-assets and profile-pictures are public; dm-attachments and place-chat-attachments are private), and our seventeen edge functions. Production region: European Union (Paris region).

Push-notification delivery

Firebase Cloud Messaging (Google LLC). Receives a device token and the notification payload (title, body, type) so it can wake your device. The payload itself contains only what is needed to render the notification — for example, a sender’s nickname and a snippet of a message.

Crash reporting

Firebase Crashlytics (Google LLC). Receives stack traces, the device model and OS, the app version, and your user identifier where applicable, when the app crashes or hits a non-fatal error. We do not send Crashlytics any of your messages, photos or location data.

Authentication providers

Apple Inc. (Sign in with Apple) and Google LLC (Sign in with Google) where you choose to use them. They confirm to us that you are who you say you are and pass us your name and email address. We do not pass them any other information.

Subscription billing

Apple Inc. (App Store on iOS) and Google LLC (Google Play on Android). They handle the actual payment; we receive only a confirmation that you are a paying subscriber, the product you bought, and the receipt. They also send us server-to-server notifications when your subscription state changes (renewal, cancellation, refund). We never see your card number, billing address, or cardholder name.

Place name and address lookup

Google Places API (Google LLC). When you search for a place in Groom, the search query you type and the location we use to scope it to your area are sent to Google. Google’s terms and privacy policy govern that interaction in addition to ours.

Map tiles

OpenStreetMap (the OpenStreetMap Foundation, a UK-based non-profit). When the app shows you a map, the visible map area is requested from OpenStreetMap’s tile servers. We do not use Google Maps, Mapbox or any other commercial mapping SDK.

Transactional email

Account-related emails (signup verification, password reset, email-change confirmation, reauthentication) are delivered through Supabase’s built-in email service. Moderation notices (suspensions, bans, appeal outcomes) are sent by an internal function over a generic SMTP relay. We do not use a third-party email-marketing provider.

5.3 Law enforcement and authorities

We disclose data to law enforcement, regulators or other authorities only when we are legally required to (for example, by a court order, by a French Code de procédure pénale Article 60-1 réquisition, or by a law-enforcement request that meets the formal requirements of the applicable law). For requests originating outside France, we cooperate through Mutual Legal Assistance Treaty channels except in cases of imminent danger to life. We publish a separate Law Enforcement Guide explaining the procedure.

5.4 Corporate transactions

If we are involved in a merger, acquisition, asset sale or restructuring, your data may be transferred. We will give you advance notice and, where applicable, the right to object. Any successor will be bound by this policy or one no less protective.

5.5 With your consent

Outside the cases above, we share your data only when you have given us specific, informed consent.

6. International data transfers

Some of our service providers, in particular Google LLC (which hosts Firebase Cloud Messaging, Firebase Crashlytics, Sign in with Google, the Google Places API, and Google Play Billing) and Apple Inc. (which hosts Sign in with Apple and the App Store), are based in or operate from outside the European Economic Area, including the United States. When we transfer your data outside the EEA we rely on one of the safeguards permitted by Articles 44 to 49 of the GDPR. In practice, we rely on:

  • The European Commission’s Standard Contractual Clauses (the 2021 modules), included in our contracts with the relevant providers; and
  • for transfers to the United States, the EU–US Data Privacy Framework where the receiving organisation is certified — Apple Inc. and Google LLC are both certified to the Framework as of the date of this policy.

You can ask us for a copy of the safeguards we have in place by writing to our privacy contact.

7. How long we keep your data

We keep your data only for as long as we need it for the purposes set out in this policy. Several of our retention windows are enforced by automated jobs that run every day; you can rely on them. The headlines:

  • Place-chat messages: 30 days. After 30 days they are hard-deleted by a daily cron at 02:00 UTC. There is no archive.
  • Direct messages: 90 days. After 90 days they are hard-deleted by the same cron. There is no archive.
  • Account data: while your account is open. When you ask to delete your account, an administrator reviews the request, after which a seven-day grace period runs and your account is hard-deleted by a daily cron at 03:00 UTC.
  • Latest GPS fix: a single row, overwritten on every call. Effectively no longer than five minutes.
  • Subscription receipts: ten years, as required by French commercial and tax law.
  • FCM device tokens: until you log out or your account is deleted.
  • Reports of other users and the related investigation records: kept for at least the lifetime of either party’s account, so that we can recognise patterns of repeat abuse.
  • Anonymised statistics, which can no longer be linked to you: indefinitely.

8. Your rights

If you live in the European Union, the United Kingdom, or another region with a comparable privacy law, you have the following rights:

How to exercise your rights

The fastest way is from inside the app: open Settings → Privacy. Most rights are exercisable in one tap. You can also write to our privacy contact (see § 1 and § 15). We respond to requests within one month, extendable by two further months for unusually complex requests; if we extend, we tell you why within the first month. There is no charge unless your requests are manifestly unfounded or excessive, in which case we may charge a reasonable fee or refuse to act, in line with Article 12(5) GDPR. To protect your data, we may need to verify your identity before acting on your request — usually by asking you to confirm something only you would know.

Right to complain

If you believe we have not handled your data properly, you can complain to the supervisory authority in your country. In France, that is the Commission nationale de l’informatique et des libertés (CNIL). You can complain in any EU country where you live, work, or where the issue happened.

9. Automated decisions

Article 22 GDPR gives you the right not to be subject to a decision based solely on automated processing, where the decision produces legal effects on you or significantly affects you. We do not use any such decision-making at Groom. Every account suspension, ban or content removal is decided by a human administrator after a human review.
There are, however, some processes that are partly automated. We list them here in the interests of transparency:

If you would like a human review of any automated outcome that affects you, write to our appeals contact (Terms § 11). We do this even where Article 22 GDPR does not strictly require it.

10. Sensitive data

Some of the data you may choose to share through Groom is treated by GDPR Article 9 as a ‘special category’, because it can reveal something about who you are that is more sensitive than usual — for example, your sexual orientation, your beliefs, your health, your ethnicity, or precise location data.
We do not require you to provide any special-category data. If you choose to make any such information visible — for example, by writing about it in your bio or by selecting an intention or status that reveals your sexual orientation — we treat your decision to share it as your explicit consent under Article 9(2)(a) GDPR. You can remove that information at any time from your profile.
Precise location data, where it is processed in a way that reveals where you live or socialise, can in some circumstances be treated as special-category data. We have built the location pipeline to minimise that risk: we do not retain location history, we never expose raw coordinates to other users, and our data-minimisation choices (single overwritten row per user; aggregate-only abuse counters) are designed to keep us out of that territory.

11. Cookies and trackers

The mobile app does not use cookies in the web sense. It does set, read or rely on a small number of identifiers on your device, all of which are listed in § 3.2 above and described in detail in our separate Cookie and Tracker Policy at groomapp.fr/cookies. On our website, we use only strictly necessary cookies (session and security). We do not use analytics or advertising cookies on the website. We do not deploy a Consent Management Platform because we have nothing for which we need to obtain ePrivacy consent.

12. Children

Groom is for adults. You must be at least 18 years old to use Groom. We do not knowingly collect personal data from anyone under 18. If we find out that an account belongs to a minor, we close it and delete the data, except where the law requires us to keep some records (for example, if a report of illegal conduct is involved).
If you are a parent or guardian and you believe your child has created an account with us, please write to our privacy contact and we will act promptly.

13. Security

We protect your data with technical and organisational measures appropriate to the risk. These include encryption of data in transit (TLS) and at rest (storage-provider encryption), role-based access controls in our database (Supabase Row Level Security), regular dependency upgrades, and incident-response procedures.
Direct messages and place-chat messages are not end-to-end encrypted. They are stored on our servers in plaintext from a database perspective; encryption is at the storage layer, not at the message layer. Our moderation team can read message content if a message is reported to them. If you need conversations that no platform operator can read, use a service that offers end-to-end encryption such as Signal.
No system is perfectly secure. If a breach happens that is likely to put your rights or freedoms at risk, we notify CNIL within 72 hours of becoming aware of it (Article 33 GDPR), and we notify you without undue delay where Article 34 GDPR requires it.

14. Changes to this policy

We update this policy from time to time. When we make material changes, we tell you in advance — usually through an in-app notification and, where we have your email address, by email — and we give you reasonable time to consider the changes before they take effect (normally 30 days). The date at the top of this policy shows when it was last updated. Older versions are available on request.

15. Contact and complaints

You can reach us at:

Email (privacy): support@groomapp.fr

Email is the best way to reach us; we do not currently expose a contact form inside the app.

French regulator: https://www.cnil.fr/.