Aller au contenu

Modèle de données

openai_users

Remplacé entièrement à chaque pull.

ChampSourceHaché?
openai_user_iduser_...non
email_hashSHA256(lowercase email)
email_prefix4 premiers chars avant @partiel
role”owner” / “reader”non
added_atUnixnon

openai_projects

ChampSourceHaché?
openai_project_idproj_...non
nameLabel fourni par l’opérateurnon
status”active” / “archived”non
created_at_openaiUnixnon
archived_atUnixnon

openai_api_keys

ChampSourceHaché?
openai_key_idkey_...non
nameLabelnon
type”user” / “service_account”non
redacted_valuesk-...xxxx (4 derniers chars)partiel
owner_user_iduser_... pour user-keysnon
created_at_openaiUnixnon
last_used_atUnix ou NULLnon

openai_events

Append-only. Idempotent sur (connection_id, openai_event_id).

ChampSourceHaché?
openai_event_idOpenAI idnon
event_typeOpenAI typenon
actor_email_hashSHA256(lowercase actor.session.user.email)
actor_email_prefix4 premiers chars + ’…‘partiel
target_idproject.idnon
occurred_atOpenAI effective_at (Unix)non
payload_jsonReste de la payload, PII suppriméespartiel

Champs payload filtrés

Ces clés sont supprimées :

  • actor, user, email, actor_email, session — déjà hachés
  • name, full_name

Ce que nous n’AVONS PAS

  • Emails complets — supprimés à l’ingestion
  • Valeur complète de la clé API — seulement sk-...4-char redacted
  • Ce qu’une clé a appelé — seulement last_used_at
  • Contenu prompt/completion — pas dans l’admin API
  • Conversations ChatGPT navigateur — Compliance API (Q4 2026)

Retrouver une personne depuis un hash

email_prefix affiche jan… pour jan.peeters@company.be. Comparez avec votre SI RH ou LDAP. Nous n’avons pas le mapping.