Technical breakdown

What stays on your device, what syncs, and what never touches our servers

GreenLight is local-first, not cloud-by-default. This page is the exact version of the storage story: where data lives, why it lives there, and which parts remain strictly device-only.

Device only

What stays on your device

  • Your USCIS receipt number
  • Any local-only case state before you create an account
  • Pasted decoder input unless you explicitly log it to history later
Account sync

What syncs when you create an account

  • Case type, field office, filing date, priority date, visa category, country, and labels
  • Status history entries you intentionally log
  • Notification preferences and subscription tier
Never stored

What GreenLight never stores

  • USCIS receipt numbers
  • A-numbers and government identifiers
  • Payment card numbers
Storage flow

How the product behaves in practice

1. You decode a status

Common statuses decode locally in the browser. If the local decoder misses, the text passes through GreenLight's decoder API for a fallback explanation. GreenLight does not log or store that pasted text by default.

2. You save a case

The receipt number stays local. If you create an account, only the general metadata needed for timeline continuity and alerts syncs to your account.

3. You log a decoded status

Once you intentionally log a status entry, that status text becomes part of your saved history and is stored so the timeline, digests, and alerts can work. This is a user action, not background collection.

4. You share a milestone with the community

GreenLight stores only anonymous milestone facts such as case type, milestone name, and elapsed days. No receipt number or user identifier is attached.

Why this matters

The privacy promise in one sentence

GreenLight is designed so the most sensitive identifier in your USCIS journey, your receipt number, never leaves your device, while the less sensitive metadata needed to make the tracker actually useful only syncs when you explicitly opt into an account.

Back to privacy promise →Try the decoder →