The requirement lists served to the Onward app — which documents a given procedure asks for, how long each one typically takes to obtain, and how long it stays valid. Onward 앱이 받아가는 요건 데이터입니다 — 어떤 절차에 어떤 서류가 필요한지, 발급에 보통 얼마나 걸리는지, 얼마나 유효한지.
This repository is build output. Nothing here is edited by hand. It is written by a GitHub Action from the app’s source repository, which is where the data is reviewed and where changes are made. 이 저장소는 빌드 결과물이고, 손으로 수정하지 않습니다. 앱 소스 저장소에서 GitHub Action이 생성합니다.
General information about commonly requested documents. It is not legal advice, and your own requirements may differ — by your circumstances, your state, your consulate, and by the date you read this. Always confirm against the official page linked from each entry. 일반적인 정보일 뿐 법률 자문이 아니며, 본인의 요건은 다를 수 있습니다. 각 항목에 연결된 공식 페이지에서 반드시 직접 확인하세요.
Entries marked "draft": true have not been checked against their official source.
"draft": true인 항목은 공식 출처와 대조되지 않았습니다.
catalog/
latest.json the pointer — small, stable name, the only file a client polls
<version>.json one build, named by its own content hash
Every published build stays. latest.json moves; the hashed files do not, so a
client that read the pointer a moment ago still finds the file it was promised.
게시된 빌드는 전부 남습니다. latest.json만 움직입니다.
catalog/latest.json:
{
"version": "b832b9548245",
"publishedAt": "2026-09-04",
"url": "https://sungle7890.github.io/onward-catalog/catalog/b832b9548245.json",
"sha256": "65f3c2c44f4e92d4fe75a010316dbf3d65c0f79911cac3b6547993034fb90cab",
"bytes": 51193
}
version is a hash of the content, not a sequence. The same data always
produces the same version, so an unchanged catalog is never re-downloaded and
changed data can never appear under an old version.
version은 내용의 해시이지 일련번호가 아닙니다.
Which means versions cannot be ordered. A hash says different, never newer.
Compare publishedAt to decide whether a build is worth taking — a client that
compares versions instead will happily “update” backwards.
따라서 버전으로는 순서를 알 수 없습니다. 최신 여부는 publishedAt으로 판단하세요.
It is public data on a static host, so you are welcome to. Four checks are worth copying, because the app does all four and each one is there for a reason:
url is on this origin and is https. A pointer that can redirect
anywhere is a pointer that can serve anything.sha256. Verify before parsing, not after.version equals the pointer’s. They are written by one
build; disagreement means something is being assembled from two.publishedAt is newer than what you already hold. See above.Then validate the shape before trusting a single field. This is data that arrived over a network, whoever served it. 네트워크로 받은 데이터입니다 — 누가 서빙했든, 파싱 전에 검증하세요.
Static files. No database, no authentication, no per-user state, and no request
carries an identifier — the app fetches latest.json and nothing else. There is
nothing here that knows who asked.
정적 파일뿐입니다. API도, 인증도, 사용자별 상태도 없습니다.
Every entry is drawn from the agency’s own published page, and every requirement
carries the sourceUrl it was read from. Nothing is second-hand.
모든 항목은 해당 기관의 공식 페이지에서 가져왔고, 각 요건이 출처 URL을 함께 들고
있습니다.
| Source | References | What it covers |
|---|---|---|
www.uscis.gov |
92 | Immigration forms and their evidence lists |
travel.state.gov |
17 | Passports and visas |
i94.cbp.dhs.gov |
1 | Arrival/departure record (I-94) |
www.irs.gov |
1 | Tax transcripts |
www.sss.gov |
1 | Selective Service registration |
All five are U.S. federal government sites, and works of the U.S. federal government are in the public domain in the United States. What this repository adds is selection, structure, and the lead-time and validity figures — which is also why CC0 is the honest licence for it (below). 다섯 곳 모두 미국 연방정부 사이트이며, 미국 연방정부 저작물은 미국 내에서 퍼블릭 도메인입니다.
Three different dates appear, and they mean different things:
| Field | Where | Meaning |
|---|---|---|
publishedAt |
pointer + catalog root | When this build was published |
officialPageUpdatedAt |
per process | When the agency last changed its page, as the page itself states |
lastVerifiedAt |
per requirement | When we read that requirement against its source |
As published on 2026-09-04 (catalog b832b9548245):
| Process | Status | Official page updated | We checked |
|---|---|---|---|
N-400 Naturalization |
published | 2026-06-16 | 2026-09-03 |
I-130 · I-485 · I-765 · I-539 · I-751 · I-90 · DS-82 · B-1/B-2 |
draft | — | not yet checked |
Eight of the nine are drafts. A draft is a list assembled from the official
page but not yet verified against it line by line, and it carries no
lastVerifiedAt — the parser refuses a published entry that has none, which is
what keeps the distinction honest. Treat a draft as a starting point, not an
answer.
9개 중 8개가 draft입니다. 공식 페이지를 보고 정리했지만 아직 한 줄씩 대조하지
않은 목록이며, 확인 날짜가 없습니다.
CC0 1.0 Universal — public domain dedication. Use it for anything, commercially or not, no permission and no attribution required. CC0 1.0 — 퍼블릭 도메인 헌정. 출처 표기 의무 없이 무엇에든 쓰실 수 있습니다.
We chose CC0 over CC BY because the claim to attribution here is thin: which documents a procedure asks for is a fact, facts are not copyrightable, and most of these facts come from federal sources already in the public domain. Requiring credit would add friction to reuse in exchange for something we have little standing to ask. 출처 표기를 요구할 근거가 약하기 때문입니다 — 절차에 필요한 서류는 사실이고, 사실에는 저작권이 없습니다.
Attribution is not required, but a link back is welcome — and if you redistribute this, please carry the caveat at the top of this file with it. The licence removes the legal obligation; it does not make an unverified immigration checklist safe to present as settled. 표기는 의무가 아니지만 링크는 환영합니다. 다만 재배포하실 때는 맨 위의 고지를 함께 전해 주세요.
CC0 covers the data in this repository only. The Onward application source is not in this repository and is not licensed by it. CC0는 이 저장소의 데이터에만 적용됩니다. 앱 소스는 여기 없고 이 라이선스의 대상이 아닙니다.
Corrections to the data are welcome as issues on this repository. Pull requests here cannot be merged — the next publish would overwrite them. The fix has to happen in the source repository, and an issue is how it gets there. 데이터 오류 제보는 이 저장소의 이슈로 받습니다. 여기로 보낸 PR은 머지할 수 없습니다 — 다음 게시 때 덮어써집니다.