Project JSON schema

Lantern projects are stored as .l5n.json files containing the entire project graph as JSON. The Lantern JSON Schema defines the structure and allowed values of these files. It also explains what the different attributes mean and how Lantern uses them.

For users, the primary use case is to provide the schema to an LLM so that it can generate a threat model that can be imported into Lantern. Lantern itself uses the schema to validate project files during import.

View the Lantern JSON Schema repository

Schema versions

Schema releases are versioned and published as Git tags in the repository. Each schema version requires a corresponding version property in the project file, ensuring that the generated project is validated against the intended schema version.

Important limitations

The schema defines the expected file structure, property types, required properties, and allowed values. Some rules cannot be fully expressed in JSON Schema and are checked by Lantern when the project is imported.

These includes checks like:

  • IDs being unique within the project
  • Element references pointing to existing elements
  • Assessment fingerprints being correct