Support
Questions, problems or ideas: write to [email protected].A-67 Please say which iPhone and iOS version you're using, and what you expected to see.
For privacy questions, see the privacy policy.
Common questions
Why does a pass say I can't see it?
You can see a satellite only when it's in sunlight and your sky is dark: the sun more than 6° below your horizon. Each pass says what it foundA-14A-15:
- "Daylight" or "Twilight": your sky is too bright.
- "In the Earth's shadow": no sunlight reaches the satellite.
Even "Can be seen" can't promise you'll spot it. The app doesn't know how bright each satellite is. The ISS is bright; most small satellites are faint.A-15A-56 Every pass works for radio, though.A-51
Why did the times change?
Pass times come from an element set, a description of the orbit at one moment. Low satellites drift, so the times move as the set gets older. Download again for fresh numbers. The app tells you a set's age, suggests newer ones after 3 days, and calls passes from a set more than 14 days old not reliable.A-16A-51
Why does Download say "Not yet"?
The app asks CelesTrak at most once every two hours. Download tells you when you may ask again, and Settings shows it under "May ask again". Nothing was requested and nothing is wrong.A-25A-51
A satellite I want isn't in the list.
Download brings CelesTrak's amateur radio group, which includes the ISS.A-10A-11E-10 For any other satellite, get its element set as a file (OMM or TLE) and, in Detailed, tap Import a file.A-12A-46A-47
My reminder didn't arrive.
Reminders are notifications, so GP Passes needs permission to send them. If it doesn't have it, the app says: "This app is not allowed to send notifications. You can allow them in Settings."A-64 Alerts for every pass are set while the app is open, so open it now and then to keep them topped up.A-32
The widget says "No starred satellite" or "No location".
Star a satellite in GP Passes, and set your location. The widget works its passes out from those.A-65A-38
The Live Activity stopped showing the elevation.
Live readings need GP Passes to be open. When it isn't, the Live Activity keeps its countdowns and the frequencies at the rise and the set.A-35bA-36
How do I switch between Plain and Detailed?
Settings, under Display.A-50
Can I talk to someone through a satellite?
You need an amateur radio licence to transmit. Lesson 6, "Hearing a satellite, and your first contact", starts with listening, which anyone can do.A-51A-52
Does the app track me?
No. GP Passes collects no data. Your location stays on your iPhone, and the one request the app makes, when you tap Download, carries nothing about you.A-20A-27 Privacy policy →
Which iPhones does it run on?
iPhone, with iOS 26 or later.A-05
What does it cost?
It's free.A-68
Accessibility
On the app's own screens, checked in the iPhone simulator: - every screen works at the largest text size and in dark mode; - text contrast measures 4.5 to 1 or better; - the app's one animation respects Reduce Motion; - colour is never the only way something is shown.
A-66 The widget and the Live Activity still have to be checked on a phone, and nothing has been checked on a phone yet.A-60A-66 VoiceOver and Voice Control have been prepared for and are not yet verified.A-60 If something doesn't work for you, please write. We'd like to know.
Sources
A-67Support address: [email protected], as shown on neogy.dev/gp-passes/support (through Cloudflare's email protection) and in the app's User-Agent. Source: live page, one GET 2026-10-31 (R-4); PassesDataSource.swift:109.A-14"Can be seen" means the satellite is in sunlight while your sky is dark (sun more than 6° below the horizon). Source: Passes:PassesCore/Sun.swift:14-15,145-147,268.A-15Sky categories: daylight (sun above 0°), twilight (0 to −6°), dark. Earth's shadow is a cylinder of radius 6378.137 km. The sun's position follows NOAA/Meeus. Passes are sampled every 10 s (at most 240 samples) and changes refined to the second. Source: Passes:Sun.swift:7-18,101-136,215-249.A-56The glossary has 27 entries (list in the source). Source: Passes:PassesCore/Glossary.swift:36-78.A-51The six lessons and their titles, in order. Source: Passes:PassesCore/Lessons.swift:13,84-135.A-16An element set's age is shown, and it is marked "not reliable" past two weeks. Source: Passes:PassesCore/Lessons.swift:107-116;README.md:65-70.A-25At most one request every two hours. The attempt is counted before it is sent, and there are no retries. Source: Passes:Download.swift:146-161;DataSource.swift:98.A-10The app downloadshttps://celestrak.org/NORAD/elements/gp.php?GROUP=amateur&FORMAT=CSV, and only when you tap Download. Source: Passes:PassesCore/Download.swift:34;PassesUI/AppModel.swift:438-440("Nothing else in the app calls this"); callersSatelliteListView.swift:185-187.A-11Only one source can be chosen in a release build: CelesTrak's amateur group. SatNOGS DB and an own server are not available. Source: Passes:PassesCore/DataSource.swift:117-140.E-10CelesTrak's amateur group includes the ISS. Source: Passes:DataSource.swift:153(app text).A-12You can import element-set files from the Files app. Source: Passes:SatelliteListView.swift:161-169.A-46Import reads OMM in CSV, JSON, XML or KVN, and TLE (including .2le and .3le), detected by content. Source: Passes:FormatDetector.swift:4-44.A-47Import is through the Files picker, and only in Detailed mode. There is no paste and no share-sheet import. Source: Passes:SatelliteListView.swift:113-169.A-64Without notification permission the app says "This app is not allowed to send notifications. You can allow them in Settings.". Source: Passes:PassDetailView.swift:952.A-32Alerts can be set for every pass of a starred satellite, up to 10 days ahead, within iOS's 64 pending notifications. "Only during my hours" is optional and off by default. Source: Passes:PassAlerts.swift:4-17;AppModel.swift:82-89.A-65The widget's empty states: "No starred satellite" ("Star a satellite in GP Passes to see its next pass here."), "No location", "No passes". Source: Passes:NextPassWidget.swift:287-297.A-38The widget computes passes itself from app-group data, fetches nothing, and looks 2 days ahead for up to 25 starred satellites. Source: Passes:NextPassWidget.swift:17-18;Shared.swift:91,205.A-35bWith a saved frequency chosen ("Tuning for"), the Live Activity shows the frequency at the rise and the set ("Receive … MHz at rise, … at set"). Those stay after the app leaves the screen, and live readings stop. Source: Passes:PassDetailView.swift:1000-1001,1031-1037;PassLiveActivity.swift:186-191,245;LiveActivityCenter.swift:12-17.A-36There is no push server for Live Activities. Source: Passes:LiveActivityCenter.swift:12-17.A-50Plain vs Detailed: the labels, the two notes, default Detailed, and the first-run question "Have you watched satellites before?". Source: Passes:DisplayMode.swift:9-21,47-55;ObserverLocation.swift:340-342.A-52A fist at arm's length is about 10°. ISS FM repeater 145.990 up / 437.800 down, 67 Hz tone. A licence is needed to transmit. Source: Passes:Lessons.swift:84-90,127-135. The app cites its sources indocs/audit-2026-10/LEARNING.md§8.A-20The privacy manifest declares no tracking, no tracking domains and no collected data types, plus UserDefaults access (reason CA92.1). The same applies to the app and the widget. Source: Passes:Passes/PrivacyInfo.xcprivacy:5-21;PassesWidgets/PrivacyInfo.xcprivacy:5-21; testPrivacyManifestTests.swift:16-34.A-27The request is a GET with User-AgentGPPasses/<version> (+https://github.com/hneogy/GPKit; [email protected]; one group, on the user's tap, at most once in two hours),Accept: */*,Accept-Language: enand no cookies. It sends no location, account or device ID. A test checks the request on the wire. Source: Passes:Download.swift:50-64;NetworkTransport.swift:11-47(ephemeral session, no redirects);Tests/PassesUITests/RequestOnTheWireTests.swift.A-05iPhone only, iOS 26 or later. Source: Passes:project.pbxproj:374,470;TESTFLIGHT.md:19.A-68GP Passes is free. Source: the owner's statement (R-4, 2026-10-31); to be confirmed against App Store Connect before launch (launch checklist).A-66On the app's own screens, checked in the simulator: largest text, dark appearance, contrast 4.5:1 or better, Reduce Motion, colour never alone. The widget and Live Activity, and the label, are "Not yet". Source: Passes:ACCESSIBILITY.md:50-63(2026-10-09).A-60Accessibility was checked on the iPhone 17 simulator (iOS 27.0), not on a phone. VoiceOver and Voice Control are prepared for but not verified. Source: Passes:ACCESSIBILITY.md:11-17.