Skip to main content

Scan attestation predicate (/scan/v1)

Title: Scan attestation predicate (/scan/v1)

Typeobject
RequiredNo
Additional propertiesNot allowed

Description: houba's normalized scan summary — the signed, verifiable form of io.houba.scan.*.

PropertyPatternTypeDeprecatedDefinitionTitle/Description
+ scannerNoobjectNoIn #/$defs/ScannerScanner
+ formatNostringNo-Format
+ summaryNoobjectNo-Summary
+ report_digestNostringNo-Report Digest
+ attested_atNostringNo-Attested At
+ builder_idNostringNo-Builder Id

1. Property scanner

Title: Scanner

Typeobject
RequiredYes
Additional propertiesNot allowed
Defined in#/$defs/Scanner

Description: The upstream scanner that produced the report (houba did not run it).

PropertyPatternTypeDeprecatedDefinitionTitle/Description
+ nameNostringNo-Name
+ versionNostringNo-Version

1.1. Property name

Title: Name

Typestring
RequiredYes

1.2. Property version

Title: Version

Typestring
RequiredYes

2. Property format

Title: Format

Typestring
RequiredYes

3. Property summary

Title: Summary

Typeobject
RequiredYes
Additional propertiesEach additional property must conform to the schema
PropertyPatternTypeDeprecatedDefinitionTitle/Description
- NostringNo--

3.1. Property additionalProperties

Typestring
RequiredNo

4. Property report_digest

Title: Report Digest

Typestring
RequiredYes

5. Property attested_at

Title: Attested At

Typestring
RequiredYes

Description: ISO-8601 timestamp of when houba attached and signed this scan. The freshness clock: an admission controller enforces a max-age policy against it (admit only if now - attested_at <= max-age). This signed field is the only trustworthy freshness source — not the unsigned scan-timestamp annotation (the HOUBA_LABEL_PREFIX-prefixed key, e.g. io.houba.scan.timestamp), which exists only for gc.

6. Property builder_id

Title: Builder Id

Typestring
RequiredYes