DRS

Dek Regulatory System

Welcome to the World of Certification!

About

DRS answers one question: what was this aircraft certified to, and what did those regulations say at the time? It does this from an index that is rebuilt from source, never edited by hand.

How it is built

  1. 1. Source files

    JSON files in the FARfetched-data repository: one per regulation provision, one per document, one per aircraft model.

  2. 2. Build

    build.py checks every file against its schema, then compiles them. Anything inconsistent fails the build; it never guesses.

  3. 3. SQLite file

    One read-only file, cert_basis.sqlite, carrying a schema version so a consumer can refuse a layout it does not know.

  4. 4. This site

    Fetches the file on a schedule, verifies it, and serves it read-only. It never changes the data or re-interprets it.

The same source files always build the same index, so a mistake is fixed in the source and shows up on the next build. The footer shows the SHA-256 of the file this page is being served from.

Data source

Everything shown here comes from github.com/dekmeister/FARfetched-data. Its README is the field-level description of the data, and the build script there defines the database layout. This site contains no data of its own.

Structure of the database

The database has two halves, one for regulations and one for aircraft, joined by the certification basis.

How the tables of cert_basis.sqlite relate Regulations: documents have revisions and provisions, and provision versions record each provision at each revision. Aircraft: an aircraft model has one tcb per type certificate data sheet; a tcb has certification basis entries, which are interpreted as refs and expanded by the build into resolved rows. Each resolved row points at one provision version. AIRCRAFT REGULATIONS aircraft_models manufacturer, model, categories tcb a model on one TCDS; owns the basis cert_basis_entries one TCDS line, verbatim cert_basis_refs what that line means cert_basis_resolved computed: one row per provision version one per TCDS lists interpreted as expanded by the build into documents 14 CFR 23, CAR 3, CS-23: grouped by issuer document_revisions Amdt 23-62, in order provisions §23.1309, in order provision_versions one per revision that touched the provision text, title, unchanged-from link, deleted flag each row points at one version

Dashed outline: computed by the build. Solid: written in the source files.

PartTablesWhat it holds
Documents issuers, documents, document_revisions What can be cited: each issuer's documents and every revision of them, in order.
Provisions provisions, provision_versions, provision_paragraphs, version_actions Each section and its text as it stood at every revision that touched it. Unchanged text links back to the earlier version, a deletion is marked, and a known gap is flagged rather than left blank.
Aircraft manufacturers, categories, aircraft_models, tcds, tcb Type-certificated models and their type certificate data sheets (TCDS). A certification basis belongs to a model on one TCDS.
Certification basis cert_basis_entries, cert_basis_refs, cert_basis_resolved Three layers, described below.
Build record build_info Schema version, the data repository commit and the build time.

Three layers of a certification basis

  1. Entries are the lines of the TCDS, exactly as printed. They are never rewritten, and are shown beside everything derived from them.
  2. Refs record what each line means in a form a machine can use: which document, up to which revision, which revisions are skipped, and which provisions or paragraphs it is limited to.
  3. Resolved rows are the build's expansion of the refs into specific provision versions. This is what the aircraft pages display.

The site reads the resolved layer and does not interpret a TCDS line itself. If a line has been read wrongly, the fix goes into the refs in the data repository and appears on the next build.

This copy of the data

Built
1 Nov 2026
Data commit
6d83d086470e
Schema version
3
File SHA-256
41949ebef7b02dbb86ac41293385e36806ca47b69437cb0fdc7104f37d35cd52

All information is for reference only. Always check the source document.

Report an issue

Report an issue

Is something wrong with what you are looking at? Tell the maintainer; the report is filed against this page.

What kind of issue is it? (required)

Reports are posted publicly on GitHub with the address of this page. Please don't include personal information.