About eb5timelines.org
eb5timelines.org is a small, anonymous, crowdsourced tracker where EB-5 investors share their USCIS processing timelines. There are no accounts, no tracking, and no hidden tracking. The goal is a trustworthy public record, not a data-collection product.
What we store
- Visa class (fixed: EB-5)
- Project and regional center / sponsor (optional, from a verified list). Suggested project and sponsor names are kept private; only verified standard names are published.
- Set-aside category, chargeability country, filing path
- I-526E and I-485 receipt prefixes only (e.g. "IOE") — never full receipt numbers
- I-485 field office (optional) — used only in aggregate charts
- Milestone months (YYYY-MM only, never exact dates): I-526E filed, biometrics, EAD/AP approval, RFE issued/month, I-526E decision/month, I-485 filed, I-485 or visa interview, I-485 decision
- The month you submitted or last edited your entry
- A one-way SHA-256 hash of a random edit token — the token itself is shown to you once and never stored
What we don't store
- Names or emails
- Full USCIS receipt numbers — only the 3-letter prefix, and anything resembling a full receipt number is rejected by the server
- Exact dates — months only
- Investment amounts
- Free-text comments
- IP addresses or user agents, beyond a transient, daily-rotating, salted hash used only to rate-limit submissions — this hash is never written to disk and is discarded when the server process ends
- Cookies, analytics, or any third-party scripts or fonts
How the code works
One Cloudflare Worker serves the static pages and a small JSON API, backed by a Cloudflare D1 (SQLite) database. The entire site is plain HTML/CSS/vanilla JS — no JavaScript framework and no CDN-hosted scripts or fonts. Tailwind CSS is compiled locally and served by this site. Charts on the results page are hand-drawn SVG from our own JavaScript.
The source is public at github.com/eb5-timelines/eb5timelines. Deployment must be connected to this repository in Cloudflare. Once configured, pushes to main deploy automatically. Source availability alone does not prove which code or provider settings are running.
Every entry is published, in full, at /data.json and /data.csv under a CC0 (public domain) license, with the exceptions listed above (token hashes, raw project and sponsor suggestions, and field office — the last appears only in aggregate, suppressed below 5 entries per group).
Project verification and review notifications
An administrator checks an official source before listing a project and its regional center / sponsor. Similar names can be matched to one standard project. This confirms the project exists; timelines and applicant affiliations remain self-reported.
When email is configured, a daily admin digest is sent through Resend. It contains only the number of suggestions waiting for review and the admin page link, with no project suggestions or applicant details. No applicant email is collected.
Turnstile (CAPTCHA)
Cloudflare Turnstile is currently disabled on this site. If it is ever enabled to fight abuse, this page will say so here, since it is the one third-party script this site would ever load.
Contact
hello@eb5timelines.org