Data model — wat we wel/niet bewaren
copilot_seats — actieve seats
Per pull-cycle vervangen we de hele snapshot van een org.
| Veld | Bron | Hashed? |
|---|---|---|
user_login_hash | SHA256(lowercase login) | ✓ |
user_login_prefix | Eerste 4 chars + ’…‘ | partial |
plan_type | ”business” / “enterprise” | nee |
assignee_team | Naam van de team die de seat toewees | nee |
last_activity_at | RFC3339 timestamp | nee |
last_activity_editor | ”VSCode” / “JetBrains” / “Neovim” / … | nee |
pending_cancellation_date | DATE of NULL | nee |
snapshot_at | Wanneer wij gepulled hebben | nee |
copilot_events — audit-log entries
Append-only. Idempotent op (connection_id, github_event_id).
| Veld | Bron | Hashed? |
|---|---|---|
github_event_id | GitHub’s _document_id | nee |
event_type | action veld (bv. copilot.seat_assigned) | nee |
actor_login_hash | SHA256(lowercase actor.login) | ✓ |
actor_login_prefix | Eerste 4 chars + ’…‘ | partial |
target_login_hash | SHA256(lowercase user.login) | ✓ |
target_login_prefix | Eerste 4 chars + ’…‘ | partial |
occurred_at | @timestamp veld | nee |
payload_json | Rest van GitHub’s payload, met PII-velden gefilterd | partial |
Gefilterde payload-velden
Volgende velden uit GitHub’s audit-log entries worden voor opslag
gedropt (zie isPIIField in hub/api/handlers/copilot_worker.go):
actor,user,actor_login,user_login— al opgeslagen als hashactor_id,user_id— interne GitHub user IDsactor_email,user_email,emails— e-mailsname,full_name— weergave-namen
Alles wat overblijft (action codes, org metadata, repository names,
business-namen) gaat onveranderd in payload_json.
Wat we NIET hebben
- Volledige username, e-mailadres, weergave-naam — gedropt bij ingest
- Code-suggesties, prompts, completions — Copilot bewaart die zelf, wij hebben er geen toegang toe
- IP-adressen — niet in GitHub’s admin API beschikbaar
- Welke files de dev open had — privé bij de dev
- Hoe vaak / hoe lang Copilot gebruikt is per dev — alleen
last_activity_at; GitHub geeft geen granulaire tijd-tracking
Hoe een naam terugvinden
Het user_login_prefix veld toont jan… voor user jan.peeters. Match
dit prefix in jouw HR-systeem of GitHub-organisatie-bestand om te weten
wie het is. Wij hebben de mapping niet en willen die niet hebben.