OpenAI Audit — Quick Start
monsys.ai OpenAI Audit pullt users, projects, API keys en audit-log uit de OpenAI Platform admin API en bundelt alles maandelijks in een Ed25519-getekend evidence pack.
Aparte module van Copilot Audit. Voor klanten die OpenAI Platform of ChatGPT Team/Enterprise hebben en willen aantonen welke users + API keys er leven, wie wat heeft gewijzigd, en welke keys orphan zijn (lek-risico).
1. Organization Admin Key minten
In platform.openai.com → Settings → Organization → Admin Keys → Create:
- Permission: Read-only (voldoende voor onze pull)
- Expiration: 90 dagen aanbevolen
Niet te verwarren met een user-key (sk-proj-… of sk-… zonder “admin”). Alleen een Organization Admin Key (sk-admin-…) heeft toegang tot
/v1/organization/*endpoints.
2. Verbinden in monsys
Dashboard → OpenAI Audit → + Org verbinden
- Org ID:
org-...zoals zichtbaar in jouw OpenAI dashboard - Display naam: optioneel — handig als je meerdere orgs verbindt
- Admin Key: plakken — verschijnt slechts éénmaal, daarna AES-256-GCM versleuteld
Test-call via GET /v1/organization/users?limit=1. Op fail:
401/403→ key heeft geen admin scope, of typo429→ te veel parallel verbindingen — rate-limit van OpenAI, niet ons
3. Hourly snapshot
Worker pullt elk uur:
GET /v1/organization/users(paginatie viaaftercursor)GET /v1/organization/projects(incl. archived)- Per active project:
GET /v1/organization/projects/{id}/api_keys GET /v1/organization/audit_logs(cursor sinds last_event_id)
Resultaat in Dashboard → OpenAI Audit:
- KPI strip: orgs verbonden, users, active projects, API keys, stale keys (>90d unused)
- Users tabel: e-mail prefix, role, datum toegevoegd
- Projects tabel: status (active/archived), aanmaak datum
- API keys tabel: redacted value, type, owner, last_used (rood gemarkeerd als >90d)
- Audit events tabel: alles wat OpenAI in audit_logs heeft gelogd
4. Evidence pack genereren
POST /api/v1/openai/evidence-packs{ "period_start": "2026-04-01T00:00:00Z", "period_end": "2026-04-30T23:59:59Z"}Levert tarball met:
pack-N.tar.gz├── manifest.json — schema_version: 2, module: "openai_admin"├── manifest.sig — Ed25519 over manifest.json├── users.jsonl — alle user-snapshots in periode├── projects.jsonl — alle project-snapshots in periode├── api_keys.jsonl — alle API-key snapshots in periode└── events.jsonl — alle audit-events in periodeVerifier (dezelfde als voor AI observability + Copilot):
python3 tools/evidence-pack-verify.py pack-N.tar.gz \ --expected-pubkey <jouw pinned monsys signing key>5. Pricing
- €1 per user per maand (gemiddelde over de maand)
- €5 per project per maand (gemiddelde over de maand)
Voorbeeld: 25 users + 3 active projects → 25 × €1 + 3 × €5 = €40/maand. Tenant zonder verbonden org betaalt niets.
Volgende stappen
- Data model — welke velden, hashing
- Evidence pack format — verschillen met andere modules