Skip to content

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

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