This policy describes how WaitForecast handles information. It is written in plain English because the people who use WaitForecast are usually also reading USCIS notices, RFEs, and policy memoranda in legal English already and deserve a break from it. Email captainlongevity@gmail.com with any privacy question.
Your personal records stay on this device in the local SwiftData store or local preferences. Downloaded public Bulletin charts are kept in a separate local file cache. We cannot read, restore, or transfer your personal records. These records include:
Apple device backups may include local profile data according to your settings and successful completion. We cannot access or restore those backups. Deleting WaitForecast can remove saved profiles; verify that any backup and recovery process meets your needs before removing the App. There is no in-app personal-record export, import, or archive backup feature. Saving a public official Bulletin page does not import personal records.
Note WaitForecast does not ask for Camera, Photos, Microphone, Location, Contacts, Calendar, EventKit, HealthKit, or VisionKit permission. ActivityKit (Live Activity and Dynamic Island) does not require a user permission prompt; Info.plist declares NSSupportsLiveActivities = true, which is a static capability flag, not a runtime permission.
Revoke any permission at any time: iOS Settings > WaitForecast.
When you start a Visa Bulletin Watch on the Forecast tab, WaitForecast uses Apple's ActivityKit to begin a Live Activity for the next expected Bulletin release. That Live Activity is local to this device. On iPhone 14 Pro and later it also appears in the Dynamic Island; on older devices it appears on the Lock Screen; the App also provides a Home Screen Widget. Custom local reminders and Dynamic Island presentation on supported hardware do not require Pro.
The Live Activity carries only the data the surface displays: your category, your country of chargeability, the current cutoff date, the days remaining until the next expected Bulletin release, and the timestamp of the last update. Nothing is transmitted to any server. There is no remote push channel; the App supplies ActivityKit content locally when it can run. A stale-content date does not fetch a Bulletin, wake the App or guarantee a refresh. Activity duration and continued display depend on iOS and your device settings; you can end an activity using the system controls or the App.
WaitForecast offers an optional Pro tier via Apple's StoreKit 2: Pro Annual (US$9.99/year, with the existing 7-day free trial only when Apple confirms eligibility; then the displayed annual price, renewing yearly) and Pro Lifetime (US$19.99 one-time non-consumable, no automatic renewal). Historical Pro Monthly (US$2.99/month) remains supported for active renewals and restore but is not offered for new purchases in the App. Apple's localized purchase price and billing terms are authoritative. When you subscribe, restore a purchase, or when the app verifies your entitlement, your device communicates directly with Apple's servers. The App checks verified transaction details such as product identifiers, purchase dates, expiration, revocation and applicable renewal state, and caches local access facts. These checks are distinct from the public Bulletin requests described below. The App does not receive your payment-card details or Apple Account password. Apple's handling of subscription information is governed by Apple's Privacy Policy.
The upcoming App update adds EB-3 Other Workers (EW) as a separate category with its own Final Action (Table A) and Dates for Filing (Table B) archive from July 2021 through October 2026. Both Free and Pro can select Table A or Table B for statistical projections; the selected chart supplies the dates, sample count and Current/Unavailable handling. The selection does not determine filing eligibility or an approval date. These features require the corresponding App update; older versions may omit EW and use Table A only for projections. Chart selection and calculations run on the device without sending applicant records to the update service.
The built-in public archive covers July 2021 through October 2026, across supported EB and family preference categories. A manual Check updates action on Forecast or in Settings > About requests a manifest and JSON charts from our Vercel-hosted service at app-legal-pages.vercel.app/waitforecast/data/v2/ in the EW-capable update. Earlier versions retain their compatible /waitforecast/data/ endpoint. The App makes no government HTML requests. Our publishing service checks the public State Department charts. When the State Department site is unavailable, it compares every supported chart value in two independently archived copies of the official PDF. The service fetches only public documents. New announcements appear after validation and publication. Forecast also checks for reviewed releases when opened or when the App returns to the foreground, at most once every six hours. Check attempts are saved on the device, including failures, to avoid repeated requests on every activation. These asynchronous checks do not block browsing. Manual checks are not limited by the automatic interval. There is no continuous monitoring while the App is closed, scheduled background task, government API integration, or remote push service. The release version, review/publication dates, SHA-256 file digest, complete Final Action and Dates for Filing charts, C/U states and matching official source URLs are validated before atomic local replacement. Older or conflicting releases are rejected. Verified downloads are cached locally for offline use. Download or validation failures preserve the saved archive; manual checks display feedback. A failure does not clear existing data, and a failed check does not mean the saved month is the newest published Bulletin.
The update host receives routine connection information such as IP address, requested public-file paths and request time for delivery and security. This can include approximate city/country derived from IP and delivery/security diagnostics. The App does not anonymize this connection metadata before the host receives it, so we declare Coarse Location and Other Diagnostic Data as linked to the user for App Functionality in our App privacy disclosures. We do not link this metadata to local applicant records or use it for tracking. It is not used by us to build applicant profiles or for advertising or in-app analytics. Hosting-provider processing is described in Vercel’s Privacy Notice. Service or validation failures preserve saved charts. Official links open your default browser for reference only, under that browser's settings and the website's privacy policy. Viewing the website does not import charts or validate the App's saved month. The App has no embedded verification browser. Download requests do not send Applicant Profile names, priority dates, notes, family comparisons, or legal-resource bookmarks. Family overview and movement calculations run locally. Cross-Chargeability statute text remains bundled reference content.
WaitForecast is intended for U.S. adults with pending or anticipated green card applications. We do not request or upload children’s profiles. Routine update-service connection information is handled as described in section 7. The app's age rating reflects this.
Because all profile data is stored only on your device, you control retention completely. Removing the App can remove its local container; shared files, delivered notifications, website/support information and device backups are managed separately. There is no remote copy of your personal records for us to delete. Routine hosting connection information is handled by our hosting provider as described in section 7.
WaitForecast is published in English for people following U.S. immigration categories. Download availability depends on your Apple Account storefront and the App’s availability there. The Visa Bulletin is a U.S. Department of State publication; the app's content is meaningful only to U.S. visa applicants. WaitForecast does not upload personal profile records. Public website requests and StoreKit communications use the respective providers' networks and are described above.
If a future release ever introduces a feature that handles data differently — for example, an opt-in iCloud sync option, an opt-in case-history export, or any integration with a third-party service — we will update this policy and surface the change in the app before that feature becomes available. The "Last updated" date at the top of this page reflects the most recent revision.
Privacy questions: captainlongevity@gmail.com
Deleting an applicant removes its linked saved Bulletin queries, forecast-result records, reminders and Live Activity session records after a successful database save. It then cancels linked pending notifications, refreshes the widget for a remaining profile and requests linked Live Activities to end. External display cleanup is separate; a delivered notification or activity display may not disappear at the same instant.
This does not reset every preference, legal-resource bookmark, downloaded public Bulletin cache, earlier device backup or independent file copy. There is no Recently Deleted or personal-record archive import/restore. Re-downloading public Bulletin data does not recover deleted profiles, and Restore Purchases restores access rather than applicant records.
The updated App saves Live Activity session records in an isolated database operation, preserving unrelated pending profile edits. If saving the initial session fails, the newly requested system activity is ended. After a system activity is updated or ended, a failed local history write displays Retry history saving. The retry holds only activity identifiers and intended status in memory while the App stays open; it is not a durable backup. System activity state and saved history can therefore differ until saving succeeds, including after interruption. A retry does not recreate a deleted profile or session. These changes require the App update; they do not provide background Bulletin monitoring.