An open standard for BASE exit data: one agreed, machine-validated way to describe an object and its exits — location, heights, access, landings and hazards — so the knowledge outlives any single app or database.
- Spec + JSON Schema: CC0 1.0 (public domain) — free to implement anywhere, including
proprietary products. See
spec/andschema/. - Tooling (
tools/, the reference validator): MIT. - The data lives elsewhere: the OpenExits Commons (ODbL 1.0 + DbCL 1.0).
spec/ the normative specification, rationale, vocabularies, versioning policy
schema/ JSON Schema (draft 2020-12): root document + conformance profiles
fixtures/ synthetic example documents — valid/ and invalid/ (each invalid file
declares the rule it violates in "_expectFail")
tools/ openexits-validator: pip-installable reference validator + CLI
pip install -e tools/
openexits-validate path/to/object.json # or a directory
Exit code is non-zero on any rule failure; every finding carries a stable rule id
(OE-R01…). The same package is imported by the OpenExits panel and by the Commons CI, so
"valid" means the same thing everywhere.
Every fixture and example in this repository is synthetic — invented names at invented coordinates. This project ships zero third-party exit data.
Draft 2.0 — pre-release. Nothing is announced yet; field names may still change until the first tagged release.
Draft-period change (v2.0.2, 2026-09): the record type is an object (the cliff, the
bridge, the antenna, the building), no longer a "site", and objectType moved from each exit
feature to the object. The project is BASE-only by design; the non-normative freeflight annex
was removed.