Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,6 @@ updates:
groups:
python-dependencies:
patterns: ["*"]
- package-ecosystem: pip
directory: "/clients/python"
schedule:
interval: weekly
groups:
python-client-dependencies:
patterns: ["*"]
- package-ecosystem: github-actions
directory: "/"
schedule:
Expand Down
11 changes: 2 additions & 9 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,21 +27,14 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]" -e "./clients/python[dev]"
pip install -e ".[dev]"

- name: Compile Python sources
run: |
python -m compileall -q \
.github/actions \
.github/workflows \
clients/python \
tests

- name: Test
# Suites that currently match the repo layout. Expand as scaffold tests catch up.
run: |
pytest \
tests/test_policy_actions.py \
tests/test_tng_client.py \
tests/test_versioned_baselines.py \
-v --tb=short
run: pytest -v --tb=short
25 changes: 15 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ This repository contains:
## How It Works

```
podspec.yaml ─► genpolicy ─► Kata policy + initdata
Blobheart podspec ─► genpolicy ─► Kata policy + initdata
OVMF + UKI + baseline + initdata ─► cvm-measure ─► MRTD + RTMR[0-3]
Expand Down Expand Up @@ -42,20 +42,25 @@ TNG discovers the latest policy by fetching the latest GitHub release:
GET /repos/cohere-ai/integritee/releases/latest
```

Then downloads `{model}/attestation.sigstore.json` and verifies the Sigstore bundle
locally before extracting the `policy_id` for ITA token requests.
Then downloads `attestation-bundle.sigstore.json` and verifies the Sigstore bundle
locally before extracting the `policy_id` for ITA token requests. The verified
predicate is the authoritative source for the policy ID; consumers should read it
from there rather than hardcoding it.

## For Auditors

Every release contains per-model artifacts:
Every release contains:

- `{model}/measurements.json` -- expected TDX register values (MRTD, RTMR[0-3])
- `{model}/kata-policy.rego` -- full Kata agent policy text
- `{model}/predicate.json` -- complete in-toto predicate with all metadata
- `{model}/attestation.sigstore.json` -- Sigstore bundle (verifiable against public Rekor)
- `attestation-policy.rego` -- the composite ITA appraisal policy that was uploaded
- `policy-manifest.yaml` -- every workload the policy covers
- `policy-manifest-bundle.tar.gz` -- the manifest plus its content-addressed initdata
- `predicate.json` -- in-toto predicate: per-target measurements and baseline refs,
`cvm_measure_version`, the `policy_id`, the manifest commit, and the chain link
- `attestation-bundle.sigstore.json` -- Sigstore bundle over `attestation-policy.rego`,
verifiable against public Rekor

Each model's Sigstore attestation includes a `previous_rekor_log_index` field that
chains entries together, forming a per-model linked list in the public Rekor transparency log.
The predicate includes a `previous_rekor_log_index` field that chains releases
together, forming a linked list in the public Rekor transparency log.

## Repository Structure

Expand Down
35 changes: 0 additions & 35 deletions clients/python/README.md

This file was deleted.

19 changes: 0 additions & 19 deletions clients/python/integritee/__init__.py

This file was deleted.

Loading
Loading