Privacy Policy

SwapMyFlight · Effective date: September 4, 2026

SwapMyFlight ("the App") is a duty-swap listing tool built by an independent developer for airline crew members, to make it easier to find colleagues willing to trade duties, flights or base assignments. This policy explains what data the App collects, why, and how you can control it.

The App is not affiliated with, endorsed by, or connected to any airline. It does not submit, approve, or execute duty swaps. Any swap arranged through the App must still be requested and confirmed through your airline's official crew system (e.g. eCrew). The App only helps you find a match.

1. Who is responsible for your data

SwapMyFlight is developed and operated by AndyT Development, an independent developer — not a registered airline vendor. For any privacy question, request, or complaint, contact:

andyt.software@gmail.com

2. What data the App collects

2.1 Your duty / roster data

You can import your roster from eCrew (via the "Export to SwapMyFlightCalendar" option) or enter duties manually. The full, raw calendar data — including anything eCrew exports that the App doesn't otherwise use — is stored locally on your device (a local database) and is not transmitted to our server. What does get sent to our server is a reduced daily summary, described next.

Android system backup: on Android, this local database (and the App's other local storage) is included in the device's standard Android Auto Backup to your own Google account, unless you've disabled that at the OS level — this is Android's normal behavior for apps that don't opt out of it, not something SwapMyFlight sends anywhere itself. It means the raw data can leave the device as part of your own Google account backup, even though it never reaches SwapMyFlight's servers.

2.2 Automatic roster sync (so the App can work)

For each day in your roster (a rolling window of about 40 days), the App automatically sends a reduced daily summary to our server (Google Firestore) — this happens regardless of whether you post that day as a swap:

The device only re-sends a day when it has actually changed (a same-day resync is skipped), and a day is deleted from our server automatically about 2 days after its date has passed. By default, this summary is visible only to you — it becomes visible to someone else only if you add them as a friend (2.3) or post that day as a swap (2.4).

2.3 Friends: finding colleagues and sharing your roster

If you register an account (2.9), you can add colleagues as "friends" to see each other's rosters without either side needing to post a swap:

Nickname is free text: unlike your crew code, the nickname is not derived from anything — it's whatever you type (up to 30 characters), shown to colleagues you're connected with or who find you by crew code. Nothing stops you from entering your real name; if you'd rather not share it, leave this blank or use something else.

2.4 Swap listings you create

When you post a swap or base-change request, the following is sent to our server (Google Firestore) and becomes visible to other users at the same base, so that a match can be found:

Your crew code identifies you: because this is the same code your airline and colleagues use internally, anyone at your base who sees a listing can tell it's you. It is shown so the other party knows who they're arranging a swap with, and is not otherwise protected or restricted within the App.
Roster screenshots: if your screenshot shows other crew members' names or duties (e.g. a full roster page), that information will be visible to other users of the App. Please crop or blur any rows that are not your own before attaching an image. You can delete an attached image at any time by deleting the swap post.

2.5 Email address (optional)

If you subscribe to notifications for a base, your email address is stored together with the base code, duty types, and rank you selected, so we can alert you about matching swaps. Matching alert emails are sent through our transactional email provider, Brevo (see section 3) — the email content includes the poster's personal/crew code, base, date and duty details, same as a swap listing itself. This subscription expires automatically after 90 days, and you can unsubscribe at any time from within the App.

2.6 Push notification token

If you allow notifications, a device-linked push token (Firebase Cloud Messaging) is stored so the App can notify you about relevant swap activity. It is not linked to your name or email.

2.7 Device calendar access

The App requests full calendar access on your device only to read and import your own roster events. This happens locally; only the reduced daily summary described in 2.2 is transmitted, never the raw calendar entry.

2.8 Diagnostic and anti-abuse data

The App uses Firebase Analytics for anonymized, aggregate usage statistics (e.g. which screens are used) — no event is tied to your identity, and on the web version this only runs after you accept the cookie/analytics consent notice. It also uses Firebase App Check (Google Play Integrity on Android / Apple App Attest on iOS — web support is planned but not yet active) to verify that requests come from a genuine, unmodified copy of the App and to block automated abuse. None of these identify you personally.

2.9 Guest use vs. registered account

By default the App signs you in anonymously — no email, password, or registration is required, and you identify yourself within the App only by entering your own airline-issued crew code. Registration is required only for the Friends feature (2.3) — to be searchable by colleagues and to add them yourself — and works differently from a typical sign-up: instead of an email address you choose, the App builds an account address from the crew code you enter (<your crew code>@crew.avionexpress.aero) and sends a verification link there through Firebase Authentication's own mailing system (separate from Brevo, section 3). Opening that link, in your airline mailbox, is what proves the crew code is really yours. This ties registration to one specific airline's crew email system; if that isn't yours, the Friends feature isn't available to you, though the rest of the App works normally. Registering upgrades your existing anonymous account rather than replacing it, so your roster sync and any swap listings carry over unchanged.

3. Who your data is shared with

ServicePurposeData involved
Google Firebase (Firestore, Authentication, Cloud Messaging, Analytics, App Check)Storing your daily roster summary, swap listings, the friends directory and friend links, sending push notifications and the registration verification email, anonymized analytics, anti-abuse checksDaily roster summary (2.2), swap listing data, directory entry and friend links (2.3), push token, optional notification email, your account email (2.9), aggregate usage events
Brevo (Sendinblue)Sending the "matching swap found" notification emails you subscribe to (2.5)Your notification email address, and the swap listing details (crew code, base, date, duty) included in that email
CloudinaryHosting optional roster-screenshot images you attach to a listingThe image file only

We do not sell your data, and we do not use it for advertising or marketing purposes. Swap listing content (duty, base, rank, comment, optional image) is visible to other users of the App at the relevant base by design — this is how matching works. Your daily roster summary (2.2) is visible only to you, unless you post it as a swap or add a friend (2.3), in which case it is visible to that friend as described above.

These providers may process data on servers located outside the European Economic Area (e.g. in the United States), under their respective standard contractual safeguards.

4. How long we keep data

5. Your rights

There is no central profile beyond the anonymous or registered account described in 2.9 — your crew code and email only ever exist as fields inside the individual roster days, swap listings, directory entry, or notification subscriptions you create. This means you already have direct, self-service control over your data:

Depending on your location, you may also have further rights under applicable law (for example the EU GDPR) to access, correct, or object to processing of your data. If you can't reach a listing or subscription yourself — for example you no longer have the App installed — contact andyt.software@gmail.com and we'll remove it for you.

6. Security

Data in transit is encrypted (HTTPS). Access to swap listings is scoped to the relevant base, and access to your daily roster summary is scoped to yourself and your accepted friends, to limit exposure. No system is 100% secure, so please avoid including sensitive personal information (full name, ID numbers, etc.) in comments or screenshots.

7. Web version notice

The web version of SwapMyFlight is publicly accessible. Do not upload or enter any sensitive information there beyond what you'd be comfortable being visible to any visitor with the link.

8. Children

The App is intended for airline crew members and is not directed at children. We do not knowingly collect data from anyone under the age required to hold crew certification in their jurisdiction.

9. Changes to this policy

If this policy changes materially, the "Effective date" above will be updated. Continued use of the App after a change constitutes acceptance of the revised policy.