PilotBound Privacy Policy

Your privacy matters. Protect yourself with a secure VPN.
Sponsored

# PilotBound Privacy Policy

 

**Effective Date:** April 25, 2026

**Last Updated:** May 20, 2026

 

This Privacy Policy describes how FlightXplorer LLC. ("FlightXplorer," "we," "us," or "our") collects, uses, shares, and protects information when you use the PilotBound mobile application (the "App"). PilotBound is an iOS app for student pilots that helps you log flights, record GPS tracks, view weather, share with the community, estimate and track the cost of training toward your next certificate, and (optionally) connect with your flight school, which is coming at a later date.

 

By creating an account or using the App, you agree to this Privacy Policy. If you do not agree, please do not use the App.

 

---

 

## 1. Information We Collect

 

We collect only the information needed to operate the App, organized into the following categories.

 

### 1.1 Account Information

- Email address

- First name and last name (collected during onboarding)

- A public display name we generate as your first name + last initial (e.g., "Sam P.")

- A profile photo if you choose to upload one

- Sign-in provider used (email/password or Sign in with Apple)

- For Sign in with Apple users, an Apple-issued refresh token, stored encrypted-at-rest so we can revoke your Apple authorization when you delete your account (required by App Store Guideline 5.1.1(v))

 

### 1.2 Training Profile

- Certificate goal (e.g., Private Pilot, Instrument, Commercial)

- Training program (Part 61, Part 141, or unsure)

- Training pace (accelerated, standard, casual)

- Home airport (ICAO code)

- Current training stage and held certificate

- Training milestones (solo date, first cross-country date, written test date, checkride date)

 

### 1.3 Flight and GPS Data

For each flight you record or manually enter:

- Date and duration

- Aircraft tail number and make/model (if you provide them)

- Departure, arrival, and any intermediate airports

- For GPS-tracked flights: latitude, longitude, altitude, speed, heading, and timestamp captured at short intervals while you have an active flight session

- Computed metrics: total distance, max speed, max altitude, average speed

- Flight phase data (taxi, takeoff, cruise, approach, landing)

- Photos you attach to a flight

- Notes and remarks you write

- The cost of the flight (if you choose to record one, or if it was pre-filled from your default or aircraft-specific rates × total time), the currency it is recorded in, and the certificate the flight is attributed to — only when you have enabled the optional cost-tracking feature (see Section 1.12)

 

### 1.4 Logbook Entries

- All FAA-style logbook fields you enter (PIC time, dual received, solo, cross-country, night, instrument, approaches, landings, holds, etc.)

- Instructor name and FAA certificate number (only if you choose to record them)

- Aggregate totals derived from your logbook (total hours, total flights, longest flight, etc.)

 

### 1.5 Community Content

- Posts, photos, comments, likes, and questions you create

- Reports you submit about other users' content

- The board(s) you post to

 

### 1.6 School Affiliation (Optional)

Note: as of the current App version, the school connection feature is not yet enabled. Any school name you enter during onboarding is stored on your account but is not shared with any school until the feature launches and you grant explicit consent at that time.

 

- The flight school you affiliate with

- The date and version of the consent you gave for that affiliation

- The specific data-sharing flags you authorized (see Section 4 below)

 

### 1.7 Notifications and Device Information

- Firebase Cloud Messaging (FCM) push notification token

- App version

- Notification preferences

 

### 1.8 Engagement Information

- A "training momentum" score we calculate from your flight frequency

- Streak counts (consecutive weeks with at least one flight)

- Last 30/60-day flight counts

- Daily momentum history (kept for 90 days, then automatically deleted)

 

### 1.9 Diagnostic and Crash Data

We use Firebase Crashlytics to detect, diagnose, and fix crashes and stability issues so we can keep the App reliable. When the App crashes or experiences certain non-fatal errors, Crashlytics automatically sends a diagnostic report containing:

 

- A randomly generated, app-specific Crashlytics installation identifier (this is **not** your Firebase user ID, your email, or any account identifier; it is reset when you reinstall or reset the App)

- Device model, iOS version, device language, and time zone

- App version, build number, and the time the crash or error occurred

- Whether the App was in the foreground or background

- Approximate device memory and disk-space state at the time of the crash

- Whether the device is jailbroken

- The stack trace, exception type, and any crash-related logs the App produced in the seconds leading up to the crash

 

Crash reports do **not** include your name, email, profile photo, flights, GPS tracks, logbook entries, photos, community posts, comments, or any other content you create in the App. We do not associate Crashlytics installation identifiers with your account.

 

Crashlytics retains crash reports for up to 90 days. Aggregate, non-personal stability metrics may be retained longer.

 

### 1.10 Product Analytics

 

We use **Firebase Analytics** to understand how the App is used in aggregate so we can improve the product. Each event is a simple action label plus a small set of categorical (non-identifying) parameters. We log the following events:

 

| Event | When it fires | Parameters |

|---|---|---|

| `signup_completed` | After your account is created | sign-in provider (`apple` or `email`) |

| `onboarding_completed` | After you finish the onboarding flow | training stage, certificate goal, certificate held, whether a school name was entered, whether an avatar was uploaded — all categorical, no free-text |

| `flight_logged` | After a flight is saved (manual entry or after recording) | source (`gps` or `manual`), bucketed total time (e.g. `1_2`, `2_4`), whether a GPS track is attached, whether the flight is cross-country, whether the flight included night time |

| `post_created` | After you publish a post in the community feed | post kind (`discussion` / `question` / `milestone` / `flightShare`), scope, whether photos were attached, photo count |

| `flight_shared` | When you share a flight card to another app | export format (square / story / landscape) |

| `profile_viewed` | When a profile screen opens | whether it is your own profile |

| `streak_milestone` | When you hit a weekly streak milestone (4 / 8 / 16 / 26 / 52 weeks) | weeks |

| `cost_setup_completed` | After you finish (or skip) the cost-tracking setup sheet | whether you opted in (`opted_in: true/false`) |

| `cost_baseline_provided` | When you enter pre-tracking hours or spend (the "before tracking" baseline) | whether you provided hours, whether you provided spend, source (`setup` or `edit`) — categorical only, never the actual hours or amounts |

| `aircraft_profile_created` | When you save a new aircraft in cost settings | none |

| `expense_logged` | When you save a one-time expense | category (e.g. `headset`, `ground_school`), whether the expense is "lifetime equipment" — never the amount |

| `flight_cost_set` | When a flight is saved with a cost value | whether the cost was auto-filled or manually edited |

| `cost_dashboard_viewed` | When the cost detail screen opens | none |

| `cost_projection_viewed` | When a cost projection actually renders on the dashboard (distinct from merely navigating to the screen) | active certificate (categorical) |

| `flight_card_cost_chip_enabled` | When you share a flight card with the optional cost strip turned on | none |

| `certificate_journey_created` | When a per-certificate cost journey first opens (initial cost setup or a post-checkride next-cert advance) | certificate (categorical), source (`setup` or `checkride`) |

| `certificate_journey_completed` | When you mark a checkride passed and the per-certificate cost journey is frozen | certificate (categorical) |

 

Alongside events we set the following **user properties** so we can segment retention metrics by training context:

 

- `training_stage` (e.g. PRE_SOLO, POST_SOLO_PRE_XC)

- `certificate_held` (e.g. none, privatePilot, cfi)

- `has_school` (true/false)

 

**What product analytics do NOT collect:**

 

- Your name, email, username, or any other identifier — we deliberately do **not** call `setUserID` and do **not** include any free-text content in parameters.

- The contents of your flights, posts, comments, photos, GPS tracks, or any free-text fields.

- Exact flight hours, exact streak counts, exact dollar amounts, hourly rates, expense amounts, or any other exact totals — we bucket or omit numeric values before logging. No dollar amount, rate, or hour value is ever sent in an analytics event parameter.

- The iOS Advertising Identifier (IDFA). We disable IDFA collection (`GOOGLE_ANALYTICS_ADIDCOLLECTION_ENABLED = false`), which is why the App does **not** show an App Tracking Transparency prompt.

 

Analytics data is processed by Google as part of Firebase Analytics. Google's data handling practices for Firebase Analytics are described in [Google's Firebase Privacy and Security documentation](https://firebase.google.com/support/privacy). Firebase Analytics retains user-level data for the period configured in the project (default: 14 months) before automatic deletion. Aggregate, non-personal usage metrics may be retained longer.

 

When you sign out, the App calls `Analytics.resetAnalyticsData()`, which clears the on-device Analytics installation ID so a subsequent sign-in starts a fresh anonymous session.

 

### 1.11 Aggregated and De-identified Data

 

We create aggregated statistics and de-identified datasets from the information we collect for purposes including:

 

- Improving the App and developing new features

- Understanding how student pilots progress through training (for example, typical time-to-checkride, training cadence patterns, common points where students stall or fall behind their declared pace, and typical cost-to-certificate ranges by program type or region)

- Producing benchmarks and insights for flight schools, instructors, the general aviation industry, researchers, and other third parties

- Research and publication on pilot training, including academic, industry, or internal research

- Marketing and communications about PilotBound

 

"Aggregated" means information combined across many users so that it does not identify any single individual (for example, "the median Part 141 pre-solo student logs 4.2 flights per month"). "De-identified" means information from which direct and indirect identifiers have been removed in a way that we have a reasonable basis to believe cannot be used, alone or in combination with other information reasonably available to the recipient, to identify a specific individual.

 

We may retain, use, and share aggregated and de-identified information indefinitely, including after you delete your account. We commit not to attempt to re-identify de-identified data, and we contractually require any recipient of de-identified data to make the same commitment.

 

Aggregated and de-identified data is not personal information under this Policy. Any use of identifying personal information continues to be governed by the other sections of this Policy.

 

### 1.12 Cost Tracking Data (Optional)

 

PilotBound includes an optional cost-to-certificate feature that helps you estimate and track what your training is costing. The feature is **off by default**. You enable it from Settings → Cost Tracking, and you can edit any value at any time. When cost tracking is enabled, we collect the following on your account:

 

- **Aircraft profiles** you save — tail number, make/model (if you enter it), hourly rate, category (e.g., single-engine, complex/high-performance, multi-engine, simulator), and the currency the rate is denominated in

- **One-time expenses** you log — category (e.g., headset, ground school, checkride fee), amount, currency, the date you incurred it, the certificate it applies to, any free-text note you write, and a flag indicating whether the expense is gear you keep across certificates ("lifetime equipment")

- **Per-certificate cost journey** — a small per-cert record holding the date you began tracking cost for that certificate, an opening "before tracking" estimate of prior hours and spend (if you enter one), a running denormalized cost-and-hours total maintained as you log flights and expenses, your override of the national-average completion-hours figure (if you set one), your overrides of the national-average one-time-fee estimates (if you set any), and the certificate's status (active, completed, paused)

- **Per-flight cost** — see Section 1.3

- **Default hourly rates** you enter for aircraft and instructor time

- **Your preferred currency** (an ISO 4217 code such as USD, EUR, GBP)

- **The date you first completed cost-tracking setup**

 

All of the above is stored on your user account and is **never shared with other users, your flight school, or any third party**, except as described in the next paragraph. The cost projections you see in the App are computed locally from your data plus national-average reference figures we ship with the App (for example, a typical hours-to-Private-Pilot figure); the projections themselves are derived values and are not personal data.

 

**One opt-in sharing surface — FlightCard cost overlay.** When you share an individual flight card (an exported image or text summary) to another app or social network, you can optionally include a thin "cost strip" showing that flight's cost and your progress toward your current certificate as a percentage. The strip is **off by default**. You toggle it on per share in the share sheet, and the share sheet remembers your last choice for next time. The strip only ever shows information you yourself chose to record. We do not share your aircraft profiles, expenses, baseline, projections, or any other cost data outside of this opt-in card.

 

National-average reference figures used in projections (for example, "78 hours typical for a Part 141 Private Pilot certificate") are derived from publicly available sources and are not customized from individual user data; they do not identify anyone.

 

### 1.13 Information We Do **Not** Collect

 

- We do not use the iOS Advertising Identifier (IDFA)

- We do not use third-party advertising networks

- We do not use Segment, Mixpanel, Amplitude, PostHog, or any other product-analytics service besides Firebase Analytics as described in Section 1.10

- We do not access your contacts, calendar, microphone, camera, photo library (other than the photo you select to upload), HealthKit, or Bluetooth

- We do not collect your date of birth or government identifiers

 

---

 

## 2. How We Use Your Information

 

We use the information we collect to:

 

- Create and maintain your account

- Provide the App's core features: logbook, GPS flight tracking, community feed, weather lookups

- Enable optional flight school connection (a future feature; see Section 3.2 for what would be shared if you opt in)

- Calculate your training momentum and streaks

- Create aggregated and de-identified datasets and statistics as described in Section 1.11

- Detect when you start a flight, save the flight when you land, and resume an interrupted recording

- Send you push notifications you've opted into (flight saved, momentum alerts, replies to your posts, etc.)

- Display your community posts, comments, and likes to other authenticated users of the App

- If and when you affiliate with a flight school (a feature coming with a future release), share specific consented fields with that school per your opt-in settings (see Section 3.2)

- Verify your email when you sign up with email/password

- Detect and prevent abuse, fraud, and violations of our Terms

- Comply with legal obligations

- Communicate with you about service-related issues, security alerts, and important account changes

 

We do not use your information for behavioral advertising or targeted marketing.

 

---

 

## 3. How We Share Information

 

We share information only as described below.

 

### 3.1 With Other Users (Public Content)

 

**Always visible** to all signed-in users of PilotBound (these define your profile):

- Your public username / handle (e.g., `@samp`)

- Your profile photo (if you set one)

- Posts you publish to the community feed (text, photos, milestone tags)

- Comments you write on others' posts

- The fact that you "liked" a post

 

**Visible by default, can be turned off in Profile → Profile Visibility:**

- Total logged flight hours and flight count

- Current certificate held (and your CFI badge, which is derived from the cert — both share one toggle)

- Your flight streak (current and best)

- Your current training stage (e.g., "pre-solo", "instrument training")

- Your milestones and achievements (first solo, first cross-country, first night flight, checkride dates, etc.)

 

**Hidden by default, can be turned on in Profile → Profile Visibility:**

- Your flight school affiliation

- Your home airport

 

**Never visible** to other users:

- Your real name (first or last)

- Your email address

- Your training momentum score or status

- The detailed breakdown of your logged hours (PIC, solo, night, instrument sub-totals)

- Your individual flight logs and GPS tracks (these are private until you explicitly share a specific flight to the community feed)

 

You can change these visibility settings at any time. Changes take effect immediately on your next sync — when you turn a field off, it disappears from your public profile within seconds.

 

**Sharing a flight card outside the App.** When you share an individual flight card (an exported image or text summary) to another app or social network, you can optionally include a thin "cost strip" showing that flight's cost and your progress toward your current certificate as a percentage. The strip is **off by default**. You toggle it on per share in the share sheet, and the share sheet remembers your last choice. The cost strip only ever shows information you yourself chose to record. We do not share or display your aircraft profiles, expenses, baseline, projections, or any other cost data outside of this opt-in card.

 

### 3.2 With Your Affiliated Flight School (Optional, With Explicit Consent)

If you choose to affiliate with a flight school, the school sees only the fields you specifically opt in to share, which may include:

 

- ✓ First name and last initial

- ✓ Training momentum score and trend

- ✓ Days since your last flight

- ✓ Number of flights logged in the last 30 days

- ✓ Total logged flight hours

 

The school **never** sees:

 

- ✗ Your GPS tracks or flight routes

- ✗ Your detailed logbook entries

- ✗ Your community posts, comments, or likes

- ✗ Your email address

- ✗ Your photos

- ✗ Your aircraft profiles, flight cost, expenses, baseline, cost projection, or any other cost-tracking data (Section 1.12)

 

You can disconnect from your school at any time from the Profile screen. When you disconnect, the school's view of your data immediately stops updating, and the affiliation status is set to "revoked." A historical record of the affiliation is retained for audit purposes only.

 

### 3.3 With Service Providers

We use the following third-party service providers to operate the App. Each receives only the data necessary for the service it provides:

 

| Service | Provider | Data Shared | Purpose |

|---|---|---|---|

| Authentication, database, file storage, push notifications, server functions | Google (Firebase) | All data described in Section 1 | Hosts the entire backend |

| Crash and stability diagnostics | Google (Firebase Crashlytics) | The diagnostic data described in Section 1.9 (anonymous installation ID, device model, OS version, app version, crash stack traces). No content, no account identifiers. | Detect, diagnose, and fix App crashes and stability issues |

| Product usage analytics | Google (Firebase Analytics) | The events and segment user properties described in Section 1.10 (categorical labels only — no name, email, content, or exact numeric values). IDFA is disabled. | Understand how the App is used in aggregate so we can improve it |

| Sign in with Apple | Apple Inc. | Your Apple ID token at sign-in time | Lets you sign in with Apple |

| Push delivery | Apple Push Notification service (APNs) | Device push token; notification payload | Delivers push notifications |

| Weather data | AVWX (avwx.rest) | Airport ICAO codes you look up | Returns METAR/TAF aviation weather reports |

| App-integrity protection | Apple DeviceCheck (via Firebase App Check) | An anonymous device-attestation token | Prevents API abuse |

| School-side dashboard (optional, for affiliated users only) | FlightXplorer (operated by us) | The consented fields listed in Section 3.2 | Lets your school see your training momentum on its own dashboard |

 

Our service providers are contractually required to use your data only for the purposes we authorize.

 

### 3.4 Legal and Safety

We may disclose information if we believe in good faith that disclosure is necessary to:

- Comply with applicable law, legal process, or governmental request

- Enforce our Terms of Service

- Detect, prevent, or address fraud, security, or technical issues

- Protect the rights, property, or safety of FlightXplorer, our users, or the public

 

### 3.5 Business Transfers

If FlightXplorer is involved in a merger, acquisition, financing, or sale of assets, your information may be transferred as part of that transaction. We will notify you (for example, by email or in-app notice) before your information becomes subject to a different privacy policy.

 

### 3.6 We Do Not Sell Your Personal Information

We do not sell, rent, or trade your **personal information** to third parties, and we do not share your personal information for cross-context behavioral advertising. As described in Section 1.11, we may share or commercialize aggregated or de-identified information that cannot reasonably be used to identify you; that information is not personal information under this Policy.

 

---

 

## 4. Where Your Data Is Stored

 

Your data is hosted on Google Cloud (Firebase) servers in the United States (us-central1 region by default). If you access the App from outside the United States, your information will be transferred to, stored in, and processed in the United States. By using the App, you consent to this transfer.

 

---

 

## 5. Data Retention and Deletion

 

### 5.1 How Long We Keep Your Data

- **Account, profile, flights, GPS tracks, logbook, community content, and cost-tracking data (aircraft profiles, expenses, cost journeys, baselines, rates, currency preference):** Retained for as long as your account is active.

- **Daily momentum history:** Automatically deleted after 90 days.

- **Account deletion audit log:** A minimal record (your former user ID, deletion timestamp, counts of objects removed) is retained indefinitely for fraud-prevention and dispute-resolution purposes. It does not include your name, email, or any of your content.

- **Aggregated and de-identified data (Section 1.11):** Retained indefinitely. Because it cannot reasonably be used to identify you, deleting your account does not require us to delete or alter this data.

 

### 5.2 Deleting Your Account

You can delete your account directly inside the App: open **Profile → Delete Account**, re-authenticate, and confirm.

 

When you delete your account, we will:

1. Delete all posts you authored (which also deletes the photos and likes attached to them)

2. Remove your "likes" from other users' posts

3. Tombstone any comments you wrote on other users' posts — your name is replaced with "Deleted user" so other pilots' threads stay readable, but the comment text is replaced with "[deleted]"

4. Permanently delete your user profile, all flights, all GPS tracks, all logbook entries, all photos, all training history, and all cost-tracking data (aircraft profiles, expenses, cost journeys, baselines, rates, currency preference)

5. Delete your push notification token

6. Revoke your Sign in with Apple authorization (if you signed in with Apple)

7. Delete your Firebase Auth account so you can no longer sign in

 

This typically completes within minutes, and at most within 30 days.

 

### 5.3 Deleting Specific Items

You can delete individual flights, individual posts, individual comments, and your profile photo from inside the App without deleting your entire account.

 

---

 

## 6. Your Rights

 

### 6.1 All Users

You can:

- Access the personal information we hold about you by viewing your Profile screen

- Correct your name, home airport, training profile, and other fields directly in the App

- Disconnect from your affiliated flight school at any time

- Adjust your push notification preferences

- Delete individual flights, posts, comments, or your entire account

 

### 6.2 If You Are in the European Economic Area, United Kingdom, or Switzerland (GDPR)

You have the right to:

- **Access** the personal data we hold about you

- **Rectify** inaccurate or incomplete data

- **Erase** your data (the in-app "Delete Account" feature satisfies this right)

- **Restrict** or **object** to certain processing

- **Receive a copy** of your data in a portable format (contact us — see Section 11)

- **Withdraw consent** at any time where processing is based on your consent (e.g., school affiliation)

- **Lodge a complaint** with your local data protection authority

 

Our legal bases for processing are: (a) performance of our agreement with you (operating the App); (b) your consent (school affiliation, push notifications); (c) our legitimate interests (security, fraud prevention, service improvement, and producing aggregated and de-identified statistics, benchmarks, and research as described in Section 1.11); and (d) compliance with legal obligations.

 

### 6.3 If You Are a California Resident (CCPA / CPRA)

You have the right to:

- Know what personal information we collect, use, and disclose

- Delete your personal information

- Correct inaccurate personal information

- Opt out of the sale or sharing of personal information (we do not sell or share for cross-context behavioral advertising)

- Limit the use of sensitive personal information (we do not use it beyond providing the App)

- Non-discrimination for exercising your rights

 

To exercise any of these rights, use the in-app controls described above or contact us at the address in Section 11.

 

---

 

## 7. Security

 

We use the following safeguards to protect your information:

 

- **Encryption in transit:** All communication between the App and our servers uses HTTPS/TLS.

- **Encryption at rest:** Firebase encrypts stored data at rest using AES-256.

- **Authentication:** Access to your data requires a valid Firebase Auth session tied to your account.

- **Authorization rules:** Firestore and Firebase Storage rules enforce that only you can read or write your private data; community content is readable only by signed-in users.

- **App integrity:** Firebase App Check (DeviceCheck on iOS) prevents unauthorized clients from calling our backend.

- **Re-authentication:** Sensitive actions like account deletion require you to re-enter your password (or re-confirm with Apple) within the last 5 minutes.

- **Apple token handling:** Your Apple refresh token is stored on the user document with admin-only access and is revoked on account deletion.

- **Audit logging:** Server-side actions on your data are logged for security and compliance purposes.

 

No method of transmission or storage is 100% secure. We work to protect your information but cannot guarantee absolute security.

 

---

 

## 8. Children's Privacy

 

PilotBound is intended for users **13 years of age and older**. We do not knowingly collect personal information from children under 13. If you believe a child under 13 has provided us with personal information, please contact us at the address in Section 11 and we will delete it.

 

If you are between 13 and the age of majority in your jurisdiction, you may use the App only with the involvement and consent of a parent or legal guardian.

 

Note: The FAA permits student pilots as young as 14 (gliders) or 16 (powered aircraft). Use of PilotBound is permitted at age 13 or older for educational purposes regardless of whether you currently hold a student pilot certificate.

 

---

 

## 9. Permissions the App Requests

 

The App may ask for the following permissions on your device:

 

- **Location (When in Use and Always):** Used to record your flight path while you have an active flight session. The App keeps recording in the background only while a flight is active. iOS shows a blue status bar while background location is in use, and the App also shows an in-app indicator. We do not access your location at any other time.

- **Notifications:** Used to send the push notifications you opt in to (flight saved, momentum alerts, community replies, etc.). You can change your preferences in iOS Settings → Notifications → PilotBound at any time.

- **Photos:** When you choose to add a profile photo or attach photos to a post, iOS asks for permission to access the specific photos you select.

 

---

 

## 10. Changes to This Policy

 

We may update this Privacy Policy from time to time. If we make material changes, we will notify you in the App and update the "Last Updated" date at the top. Your continued use of the App after changes take effect constitutes acceptance of the revised policy.

 

---

 

## 11. Contact Us

 

If you have questions, concerns, or requests regarding this Privacy Policy or your data, please contact us:

 

- **Email:** info@flightxplorer.com

- **Postal mail:** FlightXplorer LLC., 30 N Gould St, Ste 32705 Sheridan, WY 82801 , United States

 

For data protection inquiries from the EU/UK, you may also contact our representative at the same email address.

 

---

 

*This Privacy Policy is provided in English. Any translation is provided for convenience; in the event of any conflict, the English version controls.*