Class: Statement
The middle layer of an in-toto software attestation (Statement v1). Binds an authenticated predicate to one or more subject artifacts, allowing predicate-agnostic processing and storage.
- NOTE: this is an abstract class and should not be instantiated directly
URI: slsa:Statement
classDiagram
class Statement
click Statement href "../Statement/"
Statement <|-- BuildProvenance
click BuildProvenance href "../BuildProvenance/"
Statement <|-- VerificationSummaryAttestation
click VerificationSummaryAttestation href "../VerificationSummaryAttestation/"
Statement <|-- SourceProvenanceAttestation
click SourceProvenanceAttestation href "../SourceProvenanceAttestation/"
Statement <|-- BuildEnvironmentAttestation
click BuildEnvironmentAttestation href "../BuildEnvironmentAttestation/"
Statement : _type
Statement : attestationStorageUri
Statement : predicate
Statement : predicateType
Statement : signingTool
Statement : sigstoreLogEntry
Statement : subject
Statement --> "1..*" ResourceDescriptor : subject
click ResourceDescriptor href "../ResourceDescriptor/"
Inheritance
- Statement
Slots
| Name | Cardinality and Range | Description | Inheritance |
|---|---|---|---|
| _type | 1 String |
Always "https://in-toto | direct |
| subject | 1..* ResourceDescriptor |
The set of software artifacts to which a predicate applies | direct |
| predicateType | 1 String |
URI identifying the schema and semantics of the predicate field | direct |
| predicate | 0..1 String |
The attestation payload — an arbitrary JSON object whose schema is fully dete... | direct |
| attestationStorageUri | 0..1 String |
URI indicating where this signed attestation is publicly stored or retrievabl... | direct |
| signingTool | 0..1 String |
URI or name of the tool used to cryptographically sign the artifact or attest... | direct |
| sigstoreLogEntry | 0..1 String |
URI of the Rekor transparency log entry recording this attestation or artifac... | direct |
In Subsets
Notes
- Terminology clarity (Tamanna et al., 2024, UC.1): Practitioners report widespread confusion between "attestation" and "provenance". An attestation is this signed Statement wrapper; provenance is the specific BuildProvenance predicate payload. Documenting this distinction addresses the most frequently cited terminology barrier.
- Attestation storage gap (Tamanna et al., 2024, LF.1): No standardized location for publishing signed attestations was defined in SLSA v1.0. Sigstore and VCS-embedded storage are two common approaches. Use the attestationStorageUri slot to record where this statement is stored.
Identifier and Mapping Information
Schema Source
- from schema: https://w3id.org/lmodel/slsa
Mappings
| Mapping Type | Mapped Value |
|---|---|
| self | slsa:Statement |
| native | slsa:Statement |
LinkML Source
Direct
name: Statement
description: The middle layer of an in-toto software attestation (Statement v1). Binds
an authenticated predicate to one or more subject artifacts, allowing predicate-agnostic
processing and storage.
notes:
- 'Terminology clarity (Tamanna et al., 2024, UC.1): Practitioners report widespread
confusion between "attestation" and "provenance". An attestation is this signed
Statement wrapper; provenance is the specific BuildProvenance predicate payload.
Documenting this distinction addresses the most frequently cited terminology barrier.'
- 'Attestation storage gap (Tamanna et al., 2024, LF.1): No standardized location
for publishing signed attestations was defined in SLSA v1.0. Sigstore and VCS-embedded
storage are two common approaches. Use the attestationStorageUri slot to record
where this statement is stored.'
in_subset:
- slsa_build_track
- slsa_source_track
- slsa_build_env_track
from_schema: https://w3id.org/lmodel/slsa
abstract: true
slots:
- _type
- subject
- predicateType
- predicate
- attestationStorageUri
- signingTool
- sigstoreLogEntry
Induced
name: Statement
description: The middle layer of an in-toto software attestation (Statement v1). Binds
an authenticated predicate to one or more subject artifacts, allowing predicate-agnostic
processing and storage.
notes:
- 'Terminology clarity (Tamanna et al., 2024, UC.1): Practitioners report widespread
confusion between "attestation" and "provenance". An attestation is this signed
Statement wrapper; provenance is the specific BuildProvenance predicate payload.
Documenting this distinction addresses the most frequently cited terminology barrier.'
- 'Attestation storage gap (Tamanna et al., 2024, LF.1): No standardized location
for publishing signed attestations was defined in SLSA v1.0. Sigstore and VCS-embedded
storage are two common approaches. Use the attestationStorageUri slot to record
where this statement is stored.'
in_subset:
- slsa_build_track
- slsa_source_track
- slsa_build_env_track
from_schema: https://w3id.org/lmodel/slsa
abstract: true
attributes:
_type:
name: _type
description: Always "https://in-toto.io/Statement/v1". Identifies the in-toto
statement schema version and namespace.
in_subset:
- slsa_build_track
- slsa_source_track
- slsa_build_env_track
from_schema: https://w3id.org/lmodel/slsa
rank: 1000
alias: _type
owner: Statement
domain_of:
- Statement
range: string
required: true
subject:
name: subject
description: The set of software artifacts to which a predicate applies. Each
entry MUST contain a digest.
in_subset:
- slsa_build_track
- slsa_source_track
- slsa_build_env_track
from_schema: https://w3id.org/lmodel/slsa
rank: 1000
alias: subject
owner: Statement
domain_of:
- Statement
range: ResourceDescriptor
required: true
multivalued: true
inlined: true
inlined_as_list: true
predicateType:
name: predicateType
description: URI identifying the schema and semantics of the predicate field.
Used to distinguish different attestation types (e.g., SLSA Provenance vs. Verification
Summary Attestation).
in_subset:
- slsa_build_track
- slsa_source_track
- slsa_build_env_track
from_schema: https://w3id.org/lmodel/slsa
rank: 1000
alias: predicateType
owner: Statement
domain_of:
- Statement
range: string
required: true
predicate:
name: predicate
description: The attestation payload — an arbitrary JSON object whose schema is
fully determined by predicateType.
in_subset:
- slsa_build_track
- slsa_source_track
- slsa_build_env_track
from_schema: https://w3id.org/lmodel/slsa
rank: 1000
alias: predicate
owner: Statement
domain_of:
- Statement
range: string
attestationStorageUri:
name: attestationStorageUri
description: 'URI indicating where this signed attestation is publicly stored
or retrievable. No universal standard for attestation storage location was established
in SLSA v1.0; Sigstore and VCS-embedded storage are two common approaches. Explicitly
recording this URI addresses the storage ambiguity identified as a significant
adoption barrier: practitioners reported uncertainty about where generated attestations
should be stored (Tamanna et al., 2024, LF.1).'
in_subset:
- slsa_build_track
- slsa_source_track
- slsa_build_env_track
- slsa_adoption_study
from_schema: https://w3id.org/lmodel/slsa
rank: 1000
alias: attestationStorageUri
owner: Statement
domain_of:
- Statement
range: string
signingTool:
name: signingTool
description: URI or name of the tool used to cryptographically sign the artifact
or attestation (e.g., "https://github.com/sigstore/cosign", "https://github.com/notaryproject/notation").
In the SSF reference architecture the Signing Service layer is distinct from
the Build Service; recording the signing tool enables verifiers to select the
matching verification workflow. For Sigstore keyless signing the value should
be the Cosign release URI.
in_subset:
- slsa_build_track
- slsa_source_track
- slsa_ssf
from_schema: https://w3id.org/lmodel/slsa
rank: 1000
alias: signingTool
owner: Statement
domain_of:
- Statement
range: string
sigstoreLogEntry:
name: sigstoreLogEntry
description: URI of the Rekor transparency log entry recording this attestation
or artifact signature (e.g., "https://rekor.sigstore.dev/api/v1/log/entries/24296fb...").
The Rekor log provides an immutable, auditable record of signing events that
underpins Sigstore keyless signing. Verifiers can fetch this entry to confirm
the cryptographic signature was recorded in the public-good log and obtain the
signing certificate chain issued by Fulcio. Recording this URI enables offline
and third-party verification without requiring direct access to the original
signing key.
in_subset:
- slsa_build_track
- slsa_source_track
- slsa_ssf
from_schema: https://w3id.org/lmodel/slsa
rank: 1000
alias: sigstoreLogEntry
owner: Statement
domain_of:
- Statement
range: string