US Citizenship Test Data Bank

Static JSON for the US Citizenship exam app. Served from Cloudflare Pages. Only resources listed in the manifest are prepared.

Manifest

Read this first. It catalogs prepared resources — each entry has a key, file path, and integer version for cache invalidation.

Prepared resources

Fetch the manifest, then load each resource by its path. Key client caches on key + version.

How data is produced

Officeholder data is scraped from public government pages (nga.org, senate.gov, house.gov) at deploy time by scripts/build.mjs — no API keys, no runtime deps. Every row carries a standardized state_code + state_name, and each file has an as_of date.

Consumer flow

The app should not hardcode paths or language lists:

Not ready

Exists in the repo but not published through the manifest — do not consume until listed: data/federal.json, data/states.json, data/distractors.json, questions/, i18n/.