In-Toto · API Governance Rules

In-Toto API Rules

Spectral linting rules defining API design standards and conventions for In-Toto.

0 Rules
View Rules File View on GitHub

Spectral Ruleset

in-toto-rules.yml Raw ↑
aid: in-toto
name: in-toto Supply Chain Rules
description: >-
  Operational guardrails for adopting the in-toto framework to secure software
  supply chains. These rules capture conventions for layouts, link metadata,
  signing, attestation, and verification across reference implementations.
rules:
  - id: in-toto-layout-authority
    name: Layouts are signed by a project owner
    description: >-
      Layout metadata defines the expected steps and authorized functionaries
      and must be signed by a designated project-owner key. Verifiers anchor
      trust in the owner key, so its provenance and rotation policy must be
      explicit.
  - id: in-toto-link-coverage
    name: Cover every supply chain step with a link
    description: >-
      Each step declared in a layout must produce a corresponding signed link
      file recording materials consumed and products produced. Missing or
      unsigned links must fail verification.
  - id: in-toto-attestation-statement
    name: Use the in-toto Attestation Statement envelope
    description: >-
      New attestations should use the v1 Statement format (subject, predicate,
      predicateType) wrapped in a DSSE envelope. Predicates such as SLSA
      Provenance, SPDX, or CycloneDX must be referenced by their canonical
      predicateType URIs.
  - id: in-toto-signing-keys
    name: Bind functionaries to verifiable signing keys
    description: >-
      Functionary identities in layouts must be bound to keys recoverable by
      verifiers, whether GPG, X.509 (ITE-7 / SPIFFE), or Sigstore-issued
      certificates. Verification must reject metadata signed by keys not
      authorized for that step.
  - id: in-toto-product-material-flow
    name: Materials of one step match products of the previous
    description: >-
      Layout inspection rules should enforce that materials consumed by a
      step match products produced by the upstream step, modulo declared
      additions and removals, to detect tampering between steps.
  - id: in-toto-no-secrets-in-links
    name: Do not record secrets in link metadata
    description: >-
      Link files capture command lines and environment context. Strip API
      tokens, passwords, and other secrets from recorded commands and
      byproducts before publishing links to a transparency log or registry.
  - id: in-toto-verify-before-deploy
    name: Verify the full chain before deployment
    description: >-
      Deployment systems must run in-toto-verify (or an equivalent verifier)
      against the final product and its layout before promoting an artifact
      to a production environment. Verification failures must block release.