CaseSignal · last updated November 1, 2026
The short version: CaseSignal has no accounts. Your USCIS sign-in and your case data stay on your device. The app sends anonymous usage statistics — which screens and features get used, plus a note when the app celebrates an approval, never your receipt numbers or case details — and you can turn them off in Settings. Three optional features talk to servers of ours: Track by receipt sends a receipt number you type so we can ask USCIS for its status; Share my timeline, if you turn it on, sends an anonymized copy of your case's steps to improve wait-time estimates; and Explain my case and the Case report, only after you agree, send your case information to an AI model to write a plain-language explanation, with your name, receipt numbers and contact details taken out first. None of them sends your name, your USCIS login, or anything that identifies you.
The app makes network requests to these places, and no others:
To see which features help people and to find bugs, the app sends usage events to PostHog, an analytics service, which stores them on our behalf. An event looks like "a case was opened (form I-485)" or "a tab was viewed", plus the app's version, your iPhone model and iOS version, and a random ID created when the app is installed. When the app shows its celebration for a newly approved case, it sends one event saying an approval was celebrated and the form type (for example I-485); that is the only event that says anything about a case's status. If the app crashes, the crash report and its technical stack trace are sent too.
What events never contain: your receipt numbers, your name or anyone's name, your USCIS login, any other case status, any case dates, your office, or anything you type. The random ID is not linked to you, your Apple ID, or your USCIS account, and we don't use it to track you across other apps or websites. We have turned off location lookup, so no city or region is derived from your connection.
You can turn this off at any time in Settings → Usage analytics. When it's off, the app stops sending events immediately.
Nothing is sent unless you tap Explain my case (on a case's page) or ask for a Case report (on the Cases list) and agree on the screen that follows. That screen names the AI provider and links to exactly what will be sent.
What's sent: for Explain my case, the form type, the USCIS office code, status titles and event codes, each step counted in days since filing, community wait-time statistics and, if you entered them, your visa category and country. For the Case report, the full records USCIS shows for each case you track, including their dates: events and codes, notices and appointments, evidence requests, the office, status text and history, plus the app's wait-time numbers. Each case is numbered rather than named, and cases from the same USCIS account are grouped under a letter.
What's never sent: your name or anyone else's, receipt numbers (replaced with "[case 1]" and so on), your A-number, address, phone number, email, Social Security number, date of birth, or USCIS login. The app removes these on your phone, and our server removes them again before anything reaches the AI provider.
Our server passes this to Google's Gemini API, which writes the explanation, and keeps no copy of either. Under Google's paid API terms, Google does not use it to improve its products and keeps it only for a limited time to detect misuse. To enforce a daily limit, our server stores a one-way hash of a random install ID and of your IP address, deleted the next day. The explanation is saved on your device only and is labeled as written by AI. It is general information, not legal advice.
Off unless you turn it on. The app asks once, on your cases list, and the switch is always in Settings. When it's on, the app sends an anonymized record of each case you track, so we can work out real processing times — including per USCIS office, which no public source provides.
What a record contains: the form type (for example I-485); the month you filed (not the day); whether it's premium processing; the employment category and country you selected in the app, if any; the month of your priority date, if you entered one; the three-letter code of the USCIS office handling the case; the field office you picked as covering where you live, if you picked one; your receipt's block — its first 8 characters, such as IOE09345, which about 100,000 other cases share; each step USCIS recorded — its code and how many days after filing it happened; and, once the case is decided, whether it was approved, denied or withdrawn and how many days after filing.
What it never contains: your full receipt number, your name or your attorney's name, your USCIS login, the text of your case status, your address, or any exact date.
Each case is filed under a random code created on your phone. It is not derived from your receipt number, so neither we nor anyone with access to the data can tell whose case a record is. Our server rejects any record that doesn't match this exact shape, and it does not store your IP address; the only date it keeps is the day a record was last updated. Records are never shown to other users; only aggregated statistics (such as "median days to approval") are published back into the app.
You can see the exact record before anything is sent: Settings → Share my timeline → See exactly what's sent.
You can permanently delete everything CaseSignal holds about you, at any time, without asking us:
Deletion is immediate and permanent on your device.
Usage statistics: turning off Usage analytics in Settings stops all further events. Events already sent are tied only to the random install ID, which deleting the app discards, so they can't be traced back to you.
Explanations: in the Explain my case or Case report card, What's sent → Withdraw consent deletes the explanations and reports saved on your device. Our server keeps nothing to delete.
Shared timelines: turning Share my timeline off deletes every record your phone shared from our server, and removing a tracked case deletes that case's record. If your phone is offline at the time, it keeps retrying until the deletion goes through. If you delete the app before turning sharing off, your phone loses the random codes it needs to ask for deletion — and since the records carry nothing that identifies you, we can't find them for you either. So turn sharing off first.
CaseSignal is not directed at children and does not knowingly collect information from anyone under 13.
If this policy changes, the updated version will be posted on this page with a new date.
Questions: [email protected]