Validator
Free foreverIn short: the validator checks a record for missing or malformed fields before you submit it. It checks completeness, not whether the science is right.
Paste an assurance record and find out whether it conforms. Validation runs entirely in your browser: nothing is uploaded, nothing is stored, and nothing is logged.
Validating against specification v0.1 · Schema draft 2020-12
Record input
Press Ctrl or Cmd + Enter to validate.
Validation results
Nothing validated yet.
Paste a record or load an example. Validation happens in your browser and results are not sent anywhere.
01 · WHAT THIS CHECKS
What the validator does and does not tell you
It checks
- Every field is present — all 47, with none left out
- A declared unknown appears only where the specification permits one
- Enumerated values are recognized
- Dates are valid ISO 8601 with an offset
- Coordinates are within valid ranges
- The record is well-formed JSON
It does not check
- Whether the values are true
- Whether the study was well designed
- Whether the laboratory is competent
- Whether the detection is real
- Whether the method was appropriate for the question
- Whether declared field and laboratory metadata is accurate
- Whether a gap declared as not recorded could in fact have been recorded
The completeness score
Alongside the verdict, the validator reports how many of the 47 specification fields carry a value and how many are declared not recorded. It is not a conformance score, not a grade, and not a ranking. A record can be fully complete and describe a badly collected sample, and a record with several declared gaps is conformant. The figure tells a reader how much of the method they can see.
Every declared gap is listed with the consequence of that particular absence — what a reader can no longer conclude — rather than a bare flag. Where the record itself makes a gap expensive, such as a missing pore size on a filtered sample, the validator says so.
A conformant record describes its method completely, or says plainly where it cannot. Whether the method was any good is a judgment for the reader, and this tool does not make it.
02 · MACHINE READABLE
Validate without us
The schema is published and openly licensed. You do not need this page, and you do not need our permission. Validate in your own pipeline, in continuous integration, or at the point a record is created.
- assurance-record-0.1.schema.json
JSON Schema, draft 2020-12. The normative machine-readable form of the specification.
- assurance-record-0.1.example.json
Three conformant records across freshwater, marine sediment and terrestrial soil.
- README.md
What it is, how to use it, and the license.
# Validate a record from the command line
npx ajv-cli validate \
-s assurance-record-0.1.schema.json \
-d my-record.json \
--spec=draft2020Any JSON Schema draft 2020-12 library will work — ajv in JavaScript, jsonschema in Python, everit in Java. We have no preference and no integration to sell you.
03 · WHAT HAPPENS TO YOUR DATA
Nothing leaves your browser
Validation runs client-side. The record you paste is not uploaded, not transmitted, not logged, and not stored. Close the tab and it is gone.
This matters because assurance records can carry coordinates for sensitive species, data originating from tribal lands and waters, and commercially confidential survey locations. You should not have to trust us with any of that in order to check a file, and with this tool you do not.
There is no server-side component to this page. You can verify that by disconnecting from the network after the page loads — validation will still work.
Found a case we get wrong?
If the validator rejects a record it should accept, accepts one it should reject, or gives an error message that does not help you fix the problem, that is a defect in either the schema or the specification. Both are fixable and both are published.