Privacy Policy (GDPR Art 13 + ePrivacy)

Status: self-authored draft (AI-assisted), appropriate for the current closed-beta scale. This notice is drafted to satisfy the information obligations of GDPR Article 13 (information to be provided where personal data are collected from the data subject) and the device-access consent rule of Article 5(3) of the ePrivacy Directive 2002/58/EC (as amended by 2009/136/EC). It also reflects Apple App Store Guideline 5.1.1(i) and Google Play's User Data / Data safety requirements. These documents are not legal advice and are not a substitute for a professional review — a lawyer review is recommended as the user base and data processing grow, and is advisable before enabling ID/biometric verification. Items marked [LEGAL REVIEW: …] flag a substantive legal judgement to finalise in such a review.

Last updated: 18 June 2026 (current draft date, adjustable) Applies to: the Flybi mobile application ("Flybi", "the app", "we", "us")


1. Who we are (the controller) — GDPR Art 13(1)(a)

Flybi is operated by:

EU representative (GDPR Art 27): Not applicable — the controller is established in the EU (Denmark). Art 27 applies only to controllers not established in the Union (Art 3(2)). The Danish establishment is itself the contact point for the supervisory authority and for data subjects.

Data Protection Officer — GDPR Art 13(1)(b)

No Data Protection Officer is appointed; one is not legally required at the current scale. The controller (Nicholas Gerster Toft Simonsen, ngts91@gmail.com) is the contact for privacy matters. This position is re-assessed if scale grows or biometric/ID verification is enabled. We do not consider a DPO mandatory under GDPR Art 37(1): we are not a public authority, and our core activity is operating a single consumer app rather than large-scale monitoring or large-scale special-category processing as our core business in the Art 37 sense. [LEGAL REVIEW: re-confirm no DPO is mandatory given the large-scale location processing described in Section 4 — Art 37(1)(b) "regular and systematic monitoring of data subjects on a large scale". If a DPO is appointed, add their contact details here.]


2. Who Flybi is for — 18+ only (children) — GDPR Art 8

Flybi is an 18-and-over service. You must be at least 18 to create an account. We do not knowingly process the personal data of anyone under 18.

If we learn that a user is under 18, we will close and erase the account.


The table below lists each category of personal data, the purpose, and the lawful basis under GDPR Art 6 (and, where relevant, the special-category condition under Art 9(2)). The field names in brackets are the actual Firestore fields (see lib/core/constants/firestore_fields.dart) and are given for transparency.

3.1 Account & authentication

3.2 Profile & personality

3.3 Interests as "tags", including secret tags

3.4 Location — discovery (coarse area) — see also Section 9 (ePrivacy)

3.5 Location — live "Hot/Cold" game (real-time precise distance)

3.6 Chat messages

3.7 Safety: reports, blocks & moderation

3.8 Date of birth / 18+ age gate

3.9 Push notifications & device tokens

3.10 Technical, security & abuse-prevention data

3.11 Best-fit / ML signals

3.12 Advertising — not active at launch

At launch Flybi shows no advertising. The Google AdMob SDK is integrated but ships disabled ("dark"), and we do not use your data for advertising, behavioural targeting, or ad measurement. There is therefore no Art 6 basis claimed for advertising at this time. If advertising is later enabled, we will update this notice first and, for any behavioural/targeted advertising or device-storage access for ads, obtain your Art 6(1)(a) consent (and the separate ePrivacy device-access consent — Section 9) and, on iOS, your App Tracking Transparency permission before any tracking occurs.


Flybi uses automated processing to rank and surface profiles (best-fit and soulmate/strong-fit scans) and an automated text filter to screen names, bios and chat for disallowed language. These help us run the service and keep it safe.

We do not make decisions producing legal effects concerning you or similarly significantly affecting you solely by automated means within the meaning of Art 22(1). Moderation actions that restrict an account or content (warn / hide / suspend) are taken by a human moderator, who issues a statement of reasons (DSA Art 17). [LEGAL REVIEW: confirm the automated language filter that blocks content at entry is positioned as a content rule, not an Art 22 automated decision with significant effect; if any automated suspension is added, an Art 22 safeguard + this disclosure must be expanded.]


5. How we keep the service safe

We operate: an in-app report flow and block capability; a human moderation process with a ~24-hour review target, statements of reasons, and warn/hide/suspend actions; a disallowed-language filter on names, bios and chat; an 18+ age gate; and Terms/EULA acceptance at registration. These underpin the safety processing described in Sections 3.6–3.8.


6. Who receives your data — GDPR Art 13(1)(e)

6.1 Other users

By design, your profile (name, photo, bio, public tags, approximate area, badges and — if you make it visible — your personality profile) is shown to other signed-in users so they can discover and connect with you. Chat content is shared with the people in that conversation. Secret tags are shared only via a mutual reveal.

6.2 Processors (sub-processors) acting on our instructions

We use Google Firebase as our backend processor (the contracting Google entity — e.g. Google Ireland Limited and/or Google LLC, as applicable under Google's Cloud/Firebase terms). The specific services are:

Google processes this data on our behalf as a processor under the Google Cloud / Firebase Data Processing Terms (an Art 28 Data Processing Agreement is in place via acceptance of Google's DPA). No other processors (e.g. separate crash/analytics SDKs or a third-party e-mail provider) are shipped in the current build; this list will be updated if any are added. (Current position; to be confirmed in a professional review as the project grows.)

We may disclose data to public authorities (e.g. Danish Police) where required by law or to address a serious risk to life or safety, and to our advisers to establish, exercise or defend legal claims.


7. International transfers — GDPR Art 13(1)(f) / Arts 44–49

Our processing is configured for the EU/EEA: Cloud Functions run in europe-west1 (Belgium) and Firestore/Storage are provisioned in an EU region (e.g. eur3 / europe-west1). (Current configuration; to be confirmed in a professional review as the project grows.)

Some Google support, security or operational functions may nonetheless involve access from outside the EEA (e.g. the United States). Where personal data is transferred to a third country, it is protected by an appropriate safeguard under Art 46 — principally the EU Standard Contractual Clauses incorporated into Google's Data Processing Terms, and/or reliance on the EU–US Data Privacy Framework where the recipient is certified. You can request a copy of the relevant safeguard using the contact details in Section 1. [LEGAL REVIEW: confirm which transfer mechanism Google relies on for the services you enable and whether any adequacy decision (Art 45) applies, then state it precisely.]


8. How long we keep your data (retention) — GDPR Art 13(2)(a)

We keep personal data only as long as needed for the purposes above. By category:

Data Retention
Account, profile, tags, photos, location, personality, stats For the life of your account. Erased when you delete your account (Section 10).
Live Hot/Cold game session data Not persisted beyond the profile location value described in Section 3.4; game state ends when the game is quit/auto-quit.
Chat messages For the life of the conversation. On account deletion, your profile is erased but message copies already delivered to other participants are retained in their conversations (Art 17(3)(a)/(b) — others' freedom of expression / their own use). [LEGAL REVIEW: confirm this carve-out and consider a maximum retention/auto-expiry for dead rooms.]
User reports / safety & moderation records Retained beyond account deletion for as long as necessary for safety and to establish, exercise or defend legal claims (Art 17(3)(b) and (e)). Closed reports/safety records are retained 24 months after closure (current policy, adjustable).
Date of birth / age-gate record For the life of the account (age-assurance evidence).
Encounter & ML/connection-outcome rows about other users On your deletion these are anonymised (your name/photo stripped, your identifier replaced with an opaque tombstone) rather than deleted, so other users' history and counts survive.
Technical logs, rate-limit and security data Short operational retention: 30 days (current policy, adjustable).
Backups Residual copies may persist in routine backups for a limited period after erasure before being overwritten: residual copies overwritten within 30 days (current policy, adjustable).

Where we cannot give a fixed period, the criterion is "as long as your account is active, plus any period required to meet a legal obligation or defend a legal claim" (Art 13(2)(a)).


9. Device location access (ePrivacy) — Art 5(3) ePrivacy Directive

Reading your device's GPS and sending it to our servers (for discovery in Section 3.4 and the live game in Section 3.5) is "gaining access to information stored in your terminal equipment" under Art 5(3) of the ePrivacy Directive 2002/58/EC, as clarified for sensor/GPS data by EDPB Guidelines 2/2023 on the technical scope of Art 5(3). This requires your prior consent and is a separate, additional legal hook on top of our GDPR Art 6 basis (Section 3.4):

You can withdraw the device-access consent at any time in your device settings (turn off location for Flybi); this disables nearby discovery and the live game. [LEGAL REVIEW: we do not rely on the Art 5(3)(b) "strictly necessary for a service explicitly requested" exception for nearby/location; confirm this conservative consent-based position.]


10. Your rights — GDPR Art 13(2)(b)–(d)

You have the following rights over your personal data. To exercise them, use the in-app controls described below or contact us (Section 1).

Access and data-portability requests are handled via the contact e-mail in Section 1 (ngts91@gmail.com), with a response target of within one month as required by Art 12(3). (Current process; to be confirmed in a professional review as the project grows.)


11. Right to complain — GDPR Art 13(2)(d)

If you believe we have processed your data unlawfully, you may lodge a complaint with the Danish supervisory authority:

Datatilsynet (Danish Data Protection Agency) — https://www.datatilsynet.dk (Datatilsynet's current postal address and contact/complaint channel are as published on datatilsynet.dk; refer to the site for the authoritative details.)

You may also complain to the supervisory authority in your EU/EEA country of residence.


12. Accountability records we maintain (informational)

For transparency, and because the Art 30(5) "<250 employees" exemption does not apply to us (our location processing is not occasional and is likely to result in a risk to data subjects — these are alternative triggers, any one of which removes the exemption), we maintain a Record of Processing Activities (ROPA) under Art 30(1). Given large-scale, systematic processing of precise geolocation, we also maintain a Data Protection Impact Assessment (DPIA) under Art 35 (the WP248 rev.01 high-risk criteria — systematic monitoring + large-scale processing + combining datasets — are met), completed before the location feature is offered, and will undertake Art 36 prior consultation with Datatilsynet if a high residual risk remains. The ROPA and DPIA are maintained on file. [LEGAL REVIEW: re-verify the ROPA and DPIA are complete and current, and check the location feature against the current Danish Art 35(4) DPIA list published by Datatilsynet.]


13. Security & data breaches

We protect your data with measures including encryption in transit, Firebase Authentication, server-side security rules (firestore.rules), App Check, and rate limiting. No system is perfectly secure.

If a personal data breach occurs, we will notify Datatilsynet without undue delay and, where feasible, within 72 hours of becoming aware of it, unless the breach is unlikely to result in a risk to your rights and freedoms (GDPR Art 33), and we maintain an internal breach register (Art 33(5)). Where a breach is likely to result in a high risk to you, we will inform affected users without undue delay (Art 34). Because a breach affecting precise location, chat and identity could be high-risk (per EDPB Guidelines 01/2021 breach-severity factors: nature/sensitivity/volume of data, ease of identification, and severity of consequences), we treat such incidents accordingly.


14. Future features (not active)

The following are not part of the live service and are listed only so this notice stays accurate as the app evolves:


15. Changes to this policy

We may update this notice. We will post the new version at https://flybi.app/privacy and, for material changes (e.g. a new processing purpose or legal basis), notify you in-app or by e-mail and, where required, seek fresh consent.


Drafting note for counsel: every legal requirement above is grounded in the research brief — GDPR Arts 3, 5, 6, 8, 9, 13, 17, 22, 27, 30, 33, 34, 35; ePrivacy Art 5(3) + EDPB Guidelines 2/2023; Danish Data Protection Act § 6(2); e-handelsloven § 7. Data-flow descriptions are taken from the live code (firestore_fields.dart, firestore.rules, discovery_repository_impl.dart, chat_room_game_wrapper.dart, the deleteAccount Cloud Function, and the moderation runbook). Two descriptions deliberately diverge from the project one-line summary because the code differs — flagged in Sections 3.4 and 3.5 — and must be reconciled with the founder's intended design before publication.