Privacy Policy

Last updated:

Ferry FYI provides Washington State Ferries schedules, service information, traffic cameras, ticket tools, and optional alerts. This policy explains how Ferry FYI collects, uses, and shares information when you use the website or mobile app.

Information we collect

Information you provide

You can use most of Ferry FYI without an account. If you sign in, our authentication provider processes your account information, such as your name, email address, and account identifier. We store the account identifier with the settings you choose in Ferry FYI, including alert rules, saved terminals, notification tokens, and saved ticket information. For signed-in users, the latest successful details for a ticket looked up while signed in may also be cached with the account so the same lookup does not need to be repeated on each device.

Supporter subscriptions

If you open or purchase Ferry FYI Supporter, Ferry FYI creates a random subscription customer identifier and links it to your signed-in account. RevenueCat processes subscription status and purchase history. Apple, Google, or RevenueCat Billing and Stripe process the transaction, depending on where you subscribe. Ferry FYI does not store payment-card details, receipts, billing addresses, or store-account identifiers. It stores the subscription source, product, billing interval, lifecycle state, renewal state, and paid-through date needed to provide and support access.

Location

With your permission, Ferry FYI accesses your precise location to show nearby terminals and route information and to verify an explicit manual leaderboard check-in. Those foreground coordinates are sent to Ferry FYI only for verification, discarded after the decision, and are not saved in your account settings. You can deny or revoke location access in your browser or device settings.

Address suggestions and travel estimates

As you type a starting address in Navigation, Ferry FYI sends the text to Google for address suggestions. When you request a travel estimate, your entered address, selected Google place identifier, or explicitly requested foreground location is sent to Ferry FYI and Google to calculate the route. Ferry FYI does not retain these origins or suggestions or use them for analytics, advertising, or model training. Your starting address is kept in the page URL fragment and may remain in your browser history. Sharing the trip link includes that address for the recipient. Opening a shared link only prefills the form; it does not request your location or automatically calculate a travel estimate. Google processes origins under its Privacy Policy.

Optional automatic check-ins

In an eligible Android or iOS app build, you may separately enable automatic leaderboard check-ins after a prominent disclosure and precise background-location permission. Terminal-region transitions may then create a short-lived encrypted candidate on your device while the app is not open. A candidate can include coordinates, accuracy, capture time, and a terminal configuration identifier. It stays outside JavaScript, is excluded from device backup and transfer, and becomes ineligible exactly 12 hours after capture. Its encrypted file is physically removed at the next eligible operating-system execution and is never uploaded after expiry. Eligible candidates are sent only to Ferry FYI for verification. Ferry FYI discards submitted coordinates after verification and retains only the credited result and coarse eligibility state.

The automatic credential is device-only and limited to automatic check-in configuration, status, submission, and revocation. Notifications and the app bridge use a generic check-in-changed signal without terminal, vessel, route, coordinate, or time detail. Automatic check-ins are best-effort GPS self-attestation, not proof that you boarded a ferry, and may pause after permission changes, Android force-stop, iOS force-quit, device restart before first unlock, battery restrictions, or connectivity failures. Manual check-in remains available.

Native code binds the installed credential to a keyed device-only owner proof. Your raw Auth0 subject is used only as transient input for that check and is not stored, returned, or logged by the native bridge.

Automatic check-ins require Android 10 or newer or iOS 15 or newer, plus an explicitly capable app build. Unsupported devices and ordinary default-off builds do not request background location.

Usage and diagnostic information

We use Google Analytics to understand aggregate use of Ferry FYI and Sentry to diagnose errors and improve reliability. These services may receive information such as pages viewed, device and browser details, IP address, and error details. Ferry FYI disables Google advertising signals, advertising storage, advertising user data, and ad personalization for these analytics. Google Analytics is not used to select or measure Ferry FYI advertisements. Ferry FYI also uses local storage and cached data to remember app preferences and support offline use.

Advertising interactions

Ferry FYI may display advertisements selected only from the current page and, where applicable, the route direction you are viewing. Ferry FYI serves and measures these advertisements directly without a third-party ad network or advertising SDK. We may measure aggregate campaign activity such as whether an advertisement was viewable and whether its website, directions, call, or offer link was selected. We do not use account information, advertising identifiers, precise location, saved tickets, notification settings, earlier Ferry FYI activity, or activity across other websites to select advertisements.

While a signed-in account has an active Supporter subscription, Ferry FYI does not request, display, or measure these advertisements unless the supporter voluntarily turns advertisements back on from the Account page. The supporter can turn them off again at any time while subscribed. Authentication is used transiently to enforce that preference and is not added to advertising records.

Ad measurement uses a random exposure token that is not an account, device, browser, visitor, or session identifier. Ferry FYI stores only a one-way hash of that token with the campaign and page or route placement needed to suppress duplicate counts. The validation record expires after two hours and is deleted by the bounded cleanup job. Advertisers receive aggregate reports rather than token-level or person-level records.

Third-party map and notification services

Mapbox provides map tiles. Firebase Cloud Messaging provides optional web push notifications. When you use these features, the relevant provider may process technical information needed to provide the service, including a device or notification token.

How we use information

We use information to:

  • provide schedules, route information, maps, and ticket features;
  • save account settings and deliver alerts you request;
  • secure the service, troubleshoot errors, and prevent abuse;
  • understand and improve Ferry FYI; and
  • display contextual advertisements and measure their aggregate performance.

How we share information

We share personal information only with service providers that help operate Ferry FYI, including Auth0 for authentication, Google for analytics and notifications, Sentry for error monitoring, and Mapbox for maps. For Supporter subscriptions, RevenueCat receives the random subscription customer identifier and purchase lifecycle; Apple, Google, or Stripe processes payment according to the purchase channel. We may also disclose information when required by law or to protect Ferry FYI, its users, or the public. Advertisers may receive aggregate campaign reports, such as total viewable opportunities, served ads, viewable impressions, and link selections. We do not provide advertisers with personal information or individual browsing histories. We do not sell personal information or use it for targeted advertising.

A viewable opportunity means the intended ad position remained visible for one continuous second, whether or not an ad was active. A viewable impression means at least half of an actual advertisement remained visible for one continuous second. Ferry FYI stores campaign measurements as daily totals and placement opportunities as daily and Pacific-hour totals. Short-lived anonymous validation tokens suppress duplicate counts and expire after two hours; they are not account, device, browser, visitor, or session histories. Campaign reports are informational and do not represent unique people, audited fraud-free traffic, or billable delivery.

Advertising and sponsorship policy

Advertisements are labeled "Advertisement" and visually separated from schedules, alerts, forecasts, camera images, fares, and other Ferry FYI content. Advertising does not influence ferry data, editorial decisions, forecasts, or the order in which service information appears. An advertisement does not imply endorsement by Ferry FYI, Washington State Ferries, or the Washington State Department of Transportation.

Ferry FYI does not place advertisements on saved-ticket or barcode screens, account and sign-in screens, service alerts, or push notifications. Ferry FYI does not accept advertisements that:

  • promote illegal products, services, or conduct;
  • contain deceptive claims, impersonation, malware, or misleading links;
  • promote discrimination, hate, harassment, exploitation, or sexually explicit content;
  • promote tobacco, vaping, recreational drugs, weapons, gambling, or unsafe alcohol use;
  • advocate for or against a political candidate, party, ballot measure, or election outcome;
  • promote predatory lending, financial schemes, or unsubstantiated health claims; or
  • resemble official ferry alerts, safety instructions, schedules, or controls in a way that could confuse riders.

Ferry FYI reviews advertisements before publication and may reject, pause, or remove an advertisement that conflicts with this policy, creates a safety or trust concern, or receives substantiated complaints. Every displayed advertisement includes a report link for inappropriate or age-inappropriate content.

Your choices and retention

You may use Ferry FYI without signing in, decline location and notification permissions, and control cookies or local storage through your browser or device settings. We retain account settings and account-scoped ticket lookup details for as long as your account is active or as needed to provide Ferry FYI. Removing a saved ticket removes its matching cached details. You can permanently delete your login and associated Ferry FYI account data from Account > Delete account. This removes the authentication profile, settings, notification token, cached ticket details, native automatic enrollment and queued ciphertext, and leaderboard identity. Opt-out and logout also stop monitoring, advance the native work generation, purge local automatic material, and revoke the scoped server enrollment before controllable authentication teardown. If cleanup cannot be confirmed, the app keeps the authenticated action open for retry rather than claiming completion. A separate device-keyed cleanup proof contains no raw account subject, credential, location, or candidate detail; only the exactly matching signed-in account can retry it, and it is removed after local purge and server acknowledgement. Leaderboard scores may remain only under a new anonymous identifier that cannot be linked back to the deleted account. Deleting Ferry FYI does not cancel an App Store, Google Play, or web subscription. Ferry FYI removes the link between the account and its random subscription customer identifier but retains privacy-minimal subscription lifecycle and webhook audit records for billing support, fraud prevention, reconciliation, and legal obligations. Future billing events cannot recreate the deleted account. Cancel through the billing provider before deletion if you do not want renewal to continue. For access requests or other privacy questions, email us at [email protected].

Security and children

We use reasonable safeguards to protect information, but no internet service can guarantee absolute security. Ferry FYI is not directed to children under 13, and we do not knowingly collect personal information from children under 13.

Changes and contact

We may update this policy as Ferry FYI changes. We will post the updated policy on this page and revise the date above. For privacy questions, contact [email protected].