Reference — Declared Available now
Evidence record schema
One JSON file per annotated method, written by the build plugin at build
time, named <Class>__<method>.json (dots in the
class name become underscores). Every value is a string or
null.
{
"schemaVersion": "0.1",
"kind": "declared",
"control": {
"id": "consent.capture",
"framework": "GDPR:Art.30"
},
"artifact": {
"sha256": "a1b2c3...",
"class": "com.acme.checkout.ConsentService",
"method": "recordConsent",
"descriptor": "(Ljava/lang/String;)V"
},
"provenance": {
"commit": "a3f9e21",
"commitSource": "ci-env:GITHUB_SHA",
"buildId": "ci-4821",
"buildEnvironment": "ci",
"timestamp": "2026-08-28T14:32:00Z",
"serviceId": "checkout-service"
}
}
Fields
| Field | Type | Required | Description |
|---|---|---|---|
schemaVersion |
String |
Yes | Version of the evidence record format, e.g. 0.1. Pre-1.0 — expect breaking changes. |
kind |
String |
Yes | Always "declared" for this schema. Distinguishes it from verified records. |
control.id |
String |
Yes | Matches the id on the @ComplianceControl annotation. |
control.framework |
String |
Yes | Matches the annotation’s framework value. |
artifact.sha256 |
String |
Yes | SHA-256 hash of the compiled .class file containing the annotated method. |
artifact.class |
String |
Yes | Fully-qualified class name, e.g. com.acme.checkout.ConsentService. Serialized under the JSON key class. |
artifact.method |
String |
Yes | Name of the annotated method. |
artifact.descriptor |
String |
Yes | JVM method descriptor — parameter and return types, e.g. (Ljava/lang/String;)V. |
provenance.commit |
String / null |
Yes | Git commit SHA the build was produced from. null when it could not be resolved (see commitSource) — never fabricated. |
provenance.commitSource |
String |
Yes | How commit was resolved: ci-env:<VAR>, git-rev-parse, manual-override, or unavailable. |
provenance.buildId |
String |
Yes | CI build identifier, or a generated local-… id outside CI. |
provenance.buildEnvironment |
String |
Yes | Where the build id came from: ci, local, or manual-override. |
provenance.timestamp |
String (ISO 8601) |
Yes | When the record was generated. |
provenance.serviceId |
String |
Yes | Identifier of the service the class belongs to — the Maven artifact ID / Gradle project name by default, overridable. |
Related
- Evidence records & provenance — what each part of this record means and why.
- Verified evidence record schema — the equivalent for a control confirmed by a test.