Quickstart
Build, sign, and verify your first Evidence Pack.
Prerequisites
- macOS or Linux
- Homebrew or Go 1.26+
Install epack
brew install locktivity/tap/epack
Or with Go:
go install -tags components github.com/locktivity/epack/cmd/epack@v0.1.31
Create a project
epack new my-project cd my-project
my-project/ ├── epack.yaml # Configuration ├── sample.epack # Demo pack to explore └── packs/ # Output directory
The project includes a sample.epack you can explore immediately, plus a managed .gitignore that keeps runtime .epack/ state out of git while reserving .epack/hooks/ for committed customization.
Explore the sample pack
Inspect the pack contents:
epack inspect sample.epack
Evidence Pack: sample.epack Stream: demo/sample/quickstart Pack Digest: sha256:7395a655... Artifacts (3) artifacts/compliance.json 623 B artifacts/dependencies.json 394 B artifacts/system-info.json 179 B Attestations (0) none
Each artifact has a SHA-256 digest. This is what makes packs tamper-evident.
Verify integrity
Verify that the pack hasn't been tampered with:
epack verify sample.epack
✓ Verification passed Artifacts: 3 verified Attestations: none
Build your own pack
Create some evidence files and build a pack:
echo '{"mfa_enabled": true}' > security.json
epack build my-evidence.epack security.json --stream myorg/security
✓ Built my-evidence.epack Stream: myorg/security Artifacts: 1
Sign the pack
Add a cryptographic signature using Sigstore:
epack sign my-evidence.epack
Opening browser for authentication... ✓ Signed my-evidence.epack Signer: you@example.com Issuer: https://accounts.google.com
This uses keyless signing. No keys to manage. You authenticate with Google, GitHub, or Microsoft.
Verify with identity
Verify the signature and enforce who signed it:
epack verify my-evidence.epack \ --issuer "https://accounts.google.com" \ --subject "you@example.com"
✓ Verification passed
Artifacts: 1 verified
Attestations: 1 valid
Signer: you@example.com
Issuer: https://accounts.google.com
You did it!
You've built, signed, and verified your first Evidence Pack.
What you learned
epack newcreates a project with a sample packepack inspectshows pack contents and digestsepack verifychecks integrity and signaturesepack buildcreates a pack from filesepack signadds a Sigstore attestation