GovSchema is the trusted, versioned, machine-readable contract that lets AI agents understand, validate, and safely prepare government forms and workflows — without guessing from webpages, HTML, or PDFs. Open-source and independent: it describes and verifies government processes; it does not submit them.
GovSchema publishes versioned, machine-readable schemas for government forms and processes (DMV systems, passports, visas, company formation, and beyond), together with verification practices that confirm each schema matches its live government source. It is the standard layer that agent developers build on top of.
GovSchema is stewarded by an independent, open-source foundation. We are to agent–government interaction what ISO, the IETF, and the W3C are to their domains: a neutral body that defines and maintains the standard.
What this is for two audiences. For agent developers: a stable, validated, semantically-versioned schema you can fetch, pin, and program against, with provenance and a verification record attached, so you know how current it is. For the people those agents act on behalf of: a public, auditable record of what a government process actually asks for, maintained by a neutral, open-source project, not a black box.
What this is not. GovSchema is not a government entity and is not endorsed by or affiliated with any government. It does not fill out or submit forms. It is the standard, not the agent. It stores no personal data: schemas describe forms, they don't contain anyone's answers.
This is an early, founding-stage project. We are founding a standard, and the
specification line is explicitly pre-stable (v0.x).
| Path | What lives there |
|---|---|
spec/ |
The GovSchema specification and its machine-readable meta-schema. |
registry/ |
All published schemas, one immutable directory per version. |
discovery/ |
The discovery catalog — a prioritized backlog of processes to schematize next. |
practices/ |
Verification practices — documented methods for confirming a schema matches its source. |
conformance/ |
Non-submitting conformance fixtures — sample payloads and browser-flow walks that prove out agent behavior against a schema version. |
tools/ |
Tooling to validate schemas (zero-dependency, CI-ready), plus an optional reference client and MCP server for agent consumption. |
site/ |
The landing/marketing site — a data-driven static generator (zero-dependency). |
VERSIONING.md |
How the spec and each schema are versioned. |
GOVERNANCE.md |
How decisions are made. |
CONTRIBUTING.md |
How to add or correct a schema. |
A GovSchema document is one JSON object describing one government process: its
jurisdiction and authority, the exact live source it was derived from, the
fields an agent must collect (typed, validated, and traced to the source form),
an optional process flow, and a verification record. It validates against the
meta-schema for the spec line it targets. The current line is
spec/v0.2/govschema.schema.json (which adds
an edition axis for time-versioned forms; v0.1 documents remain conforming and
validate against spec/v0.1).
See the reference schemas:
See docs/agent-consumption.md for every
supported consumption path side by side: raw HTTPS fetch + JSON Schema
validation (the baseline, always sufficient on its own), the
llms.txt discovery entry point, the reference MCP server, and
the installable Skill. The latter three are optional convenience layers over
the first. None of them gate the standard.
A schema's location is derived from its identity:
registry/<country>/<…>/<process>/<version>/schema.json
└─────────── id ───────────┘ └ semver ┘
The id and version inside the document must match the path; tooling enforces
it. Each schema carries its own semantic version: MAJOR = breaking for a
consuming agent, MINOR = backward-compatible addition, PATCH = no contract
change (e.g. a re-verification). Published version directories are immutable:
corrections ship as a new version, so a pinned (id, version) always resolves
to the same bytes. Full rules: registry/README.md and
VERSIONING.md.
node tools/validate.mjsChecks every schema against the meta-schema and confirms each one's
id/version match its path. Runs with plain Node (≥18), no install. CI runs
the same check on every push and pull request.
GovSchema is global and multi-jurisdictional by design. Early coverage focuses on a small number of jurisdictions (the schemas above are format references), but no jurisdiction is privileged. Every country sits at the same top level of the registry.
We welcome new schemas, corrections, re-verifications, and tooling. Start with CONTRIBUTING.md and the specification. All participation is under our Code of Conduct.
- Schema content, specification text, and verification practices
(
registry/,spec/,practices/): CC-BY-4.0. - Tooling and code (
tools/): Apache-2.0.