Ga naar inhoud

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 typo
  • 429 → te veel parallel verbindingen — rate-limit van OpenAI, niet ons

3. Hourly snapshot

Worker pullt elk uur:

  • GET /v1/organization/users (paginatie via after cursor)
  • 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

Terminal window
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 periode

Verifier (dezelfde als voor AI observability + Copilot):

Terminal window
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