# Install witness with Homebrew, Nix

Automates, normalizes, and verifies software artifact provenance. Version 0.12.0 via Homebrew; verified 2026-08-02. Also installable with nix: nix profile install nixpkgs#witness.

## Install

```sh
sudo av install brew:witness
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install witness
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#witness
```

  Evidence: nixpkgs package indexes: pkgs/by-name/wi/witness/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:witness
- **Package manager:** Homebrew
- **Version:** 0.12.0
- **Source summary:** Automates, normalizes, and verifies software artifact provenance
- **Homepage:** <https://witness.dev>
- **Repository:** <https://github.com/in-toto/witness>
- **Last updated:** 2026-08-02T12:51:38+01:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- witness (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.12.0
## Project history and usage

Witness is an in-toto supply-chain security CLI for producing and verifying attestations about software artifacts and build steps. The project describes itself as a pluggable framework that automates, normalizes, and verifies software artifact provenance, combining attestation generation with a policy engine.

### Project history

Witness originated at TestifySec and was later donated to the CNCF in-toto ecosystem. TestifySec's open-source statement dates the formal donation of Witness and Archivista to January 2024, after ratification by the in-toto steering committee, giving the project community governance under the same ecosystem as the in-toto specification.

### Adoption history

Witness sits inside the broader in-toto adoption story. CNCF records in-toto as accepted on August 14, 2019, moved to Incubating on March 10, 2022, and Graduated on February 10, 2025. That matters for Witness because it implements the in-toto specification in a CLI intended for real pipelines, and its README points users to CNCF Slack channels and open community meetings rather than a vendor-only support path.

The project is also tied to adjacent supply-chain standards and systems. The Witness README lists support for in-toto enhancement work, OPA Rego policy, Sigstore and SPIFFE/SPIRE signing paths, timestamp authorities, and Archivista storage, reflecting the post-SolarWinds era movement toward verifiable build provenance, signed attestations, and policy-driven release gates.

### How it is used

A typical Witness workflow runs a command under `witness run` during a build or release step, collects attestations from configured attestors, signs them, and later verifies the resulting collection against a signed policy. The goal is to answer who performed a supply-chain step, what materials and products were involved, and whether the step satisfied policy before an artifact is trusted or deployed.

### Why package nerds care

For package and release engineers, Witness is significant because it turns provenance from a document attached at the end of a release into machine-verifiable metadata emitted by each lifecycle step. It is part of the same tooling vocabulary as SLSA provenance, Sigstore signing, OPA/Rego policy, and SBOM/attestation storage, making it a package-nerd tool for proving how an artifact came to exist.

### Timeline

- 2021-12-03: the current GitHub repository was created.
- 2024-01: TestifySec donated Witness and Archivista as in-toto subprojects.
- 2025-02-10: in-toto reached CNCF Graduated maturity, strengthening the ecosystem context around Witness.

### Sources

- <https://api.github.com/repos/in-toto/witness>
- <https://github.com/in-toto/witness>
- <https://witness.dev/>
- <https://www.cncf.io/projects/in-toto/>
- <https://www.testifysec.com/opensource/>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Other Package-Manager Records

- Nix - witness: normalized package name match | nixpkgs package indexes: pkgs/by-name/wi/witness/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/witness.yml](https://github.com/mxcl/pkgdb/blob/main/combined/witness.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
