MAXGEN schema · v1.13
MaxRecord
A source document exactly as it was found. No interpretation added.
Download MaxRecord v1.13
All versions
https://opengenealogyai.org/schemas/maxgen/v1/raw-record.schema.json
The clerk who could not spell
In 1743 a parish clerk in Dumfriesshire wrote a baptism into his register and spelled the father's surname "Makeswell". The family's name was Maxwell. He was not wrong in any way that matters: he wrote what he heard, in the spelling of his day. Three centuries later a search engine that does not know Makeswell is Maxwell will skip the entry, and a researcher will lose a branch of her family because of a spelling choice made by a man dead for 250 years.
MaxRecord exists to keep that entry exactly as written. Not corrected. Not normalised. Not interpreted.
What it is
MaxRecord is the evidence layer. One MaxRecord is one document: a baptism entry, a census page, a gravestone, a ship manifest, a newspaper notice, a will. It stores what is on the document, who is mentioned, when and where it was made, where the copy came from, and who transcribed it with what confidence.
What it never does is say what the document means. The record says "Makeswell". Whether Makeswell is Maxwell is an interpretation, and interpretations live in MaxPerson. Keeping the two apart is what lets a future researcher, or a better AI model, look at the original evidence again.
How it is used
- A document image is transcribed; the who-read-it-and-how details go in a MaxRecognition record.
- A MaxRecord is created from that transcription: the type of document, every person named (
persons_mentioned[], with their roles: subject, spouse, witness, officiant…), the date as a range, the place as written, the source URL, the licence. - Every claim later made in a MaxPerson cites this record's
record_id. If the document turns out to be a forgery, the record is retracted with a note. It keeps its ID and its history.
Things worth knowing
- Dates are ranges.
year_min/year_maxwith optional month and day. "Spring 1847" is honest as1847–1847with no month. A precise date that the document does not contain is a lie. - Places are kept as written, with optional normalised fields (country code, state, county, town) alongside.
- Everyone on the page is kept, not just the "principal". Witnesses and neighbours are the social network of the document.
- Licence is mandatory.
redistribution_licenseis one of CC0, CC-BY, CC-BY-SA, public-domain, ortier2-private(never redistribute). Ifis_living_flagis true the record is private no matter what. extensions{}holds source-specific fields (a groom's regiment, a cemetery plot, an archive's own reference) without forking the schema.
Record types
birth_certificate death_certificate marriage_certificate census_row parish_register probate_record military_record immigration_record naturalization_record land_deed land_patent gravestone obituary newspaper_article photograph family_bible court_record tax_record wikidata_entity open_library_work dpla_item other
Fields
| Field | Type | Meaning |
|---|---|---|
record_id required | string | Globally unique identifier for this record. |
schema_version | const "1.13" | MAXGEN version this record conforms to. |
record_type required | enum | The type of source document. |
redistribution_license required | enum | Whether this record can be redistributed. |
is_living_flag required | boolean | True if any person in this record may be living. |
persons_mentioned | array of object | All persons referenced in this document, as written in the source. |
alternate_names | array of string | Variant spellings or alternate names for persons mentioned, as they appear across multiple documents. |
record_date | object | Date range of the event recorded. |
locations | array of object | MAXGEN v1.12 — Places associated with this record. |
transcription | string | Full text transcription of the document content. |
language | string | BCP-47 language code of the document (e.g. |
image_url | string | URL to the scanned image of the original document. |
source_url required | string | Canonical URL of the source (e.g. |
digital_object_id | string | Persistent identifier such as ARK, DOI, or Internet Archive identifier. |
repository | string | Name of the archive or repository holding the original document. |
collection | string | Collection name within the repository. |
extraction_confidence required | number | Confidence that the transcription accurately reflects the original document. |
extracted_by | string | Agent ID or contributor ID that produced this RawRecord. |
extracted_at | string | ISO 8601 timestamp of extraction. |
sensitive_data_redacted | boolean | True if SSNs, medical data, or other sensitive fields were removed. |
redaction_notes | string | Description of what was redacted and why. |
archive_ref | string | MAXGEN v1.12 — Local archive path where this record's canonical MaxRecord JSON file is stored (e.g. |
extensions | object | MAXGEN v1.12 — Designated namespace for source-specific fields that don't fit the core schema. |
attribution | object | v1.8 — Credit for the human who originally created, photographed, transcribed, or donated this record. |
Example
A marriage certificate, as a MaxRecord. This is one of the fixtures the schema is tested against.
{
"record_id": "a1b2c3d4-0003-4000-8000-000000000003",
"schema_version": "1.13",
"record_type": "marriage_certificate",
"redistribution_license": "CC0",
"is_living_flag": false,
"persons_mentioned": [
{
"name_as_written": "Abraham Lincoln",
"role": "subject"
},
{
"name_as_written": "Mary Todd",
"role": "spouse"
},
{
"name_as_written": "Rev. Charles Dresser",
"role": "officiant"
},
{
"name_as_written": "James Matheny",
"role": "witness"
}
],
"record_date": {
"year_min": 1842,
"year_max": 1842,
"month": 11,
"day": 4,
"date_type": "exact"
},
"transcription": "Abraham Lincoln and Mary Todd were united in marriage on the 4th day of November 1842 by Rev. Charles Dresser in the presence of James Matheny.",
"language": "en",
"source_url": "https://archive.org/details/illinois-marriage-1842-sangamon",
"extraction_confidence": 0.97,
"extracted_by": "extractor-agent-haiku-001",
"extracted_at": "2026-05-01T14:00:00Z",
"sensitive_data_redacted": false,
"locations": [
{
"location_type": "event_location",
"place_as_written": "Springfield, Illinois",
"country_code": "US",
"state_province": "Illinois",
"city_town": "Springfield"
}
]
}
Listen
MaxRecord — Source documents as written
25:40Evidence versus interpretation, and why the clerk who wrote 'Makeswell' must never be corrected.