Evidence pack formaat — Copilot module
Copilot Audit packs gebruiken dezelfde verifier en signing chain als
AI observability packs. Eén verschil: andere inhoud + module: "copilot"
in het manifest.
Bundle layout
pack-N.tar.gz├── manifest.json — gesigneerd├── manifest.sig — Ed25519 over manifest.json├── seats.jsonl — per regel: seat-snapshot└── events.jsonl — per regel: audit-log entryGeen
blobs/directory zoals bij AI observability — Copilot data bevat geen content-blobs.
manifest.json keys
{ "schema_version": 2, "module": "copilot", // ← NIEUW in v2 "pack_id": "12", "tenant_id": "77198636-…", "period_start": "2026-04-01T00:00:00Z", "period_end": "2026-04-30T23:59:59Z", "org_logins": ["acme-corp", "acme-eu"], // welke orgs in deze pack "seat_count": 127, // unieke users in periode "event_count": 89, // audit-log entries "seats_sha256": "abc…", "events_sha256": "def…", "signing_public_hex": "d2f60e21…", "created_at": "2026-05-01T03:14:22Z"}Hoe verifieer je
Dezelfde verifier als voor AI observability packs:
python3 tools/evidence-pack-verify.py pack-12.tar.gz \ --expected-pubkey d2f60e21e0d496252b92bb308310e1a1dd1d5010f8fcaabbe169bdae1e2b7173De verifier detecteert automatisch module: "copilot" in het manifest
en past zijn check-logica aan: in plaats van traces.jsonl + spans.jsonl
checkt hij seats.jsonl + events.jsonl.
Exit code:
0— signature valid + alle hashes matchen1— mismatch
Wat je auditeur ermee doet
Een Belgische auditeur kan met deze pack aantonen:
- Welke users hadden Copilot in periode X — uit
seats.jsonl, gehashed maar telbaar - Wanneer is een seat toegevoegd/verwijderd — uit
events.jsonl, metevent_type: "copilot.seat_assigned"/"copilot.seat_cancelled" - Wie heeft de Copilot-policy gewijzigd — uit
event_type: "copilot.policy_updated"met actor_hash - Datum + tijd van elke significante actie — uit
occurred_at
Wat de auditeur niet kan: een specifieke username terugvinden in de pack. Dat moet komen uit jouw HR-systeem matching op de prefix.