Aller au contenu

Copilot Audit — Quick Start

monsys.ai Copilot Audit est un module séparé de l’observabilité IA. Il récupère les sièges Copilot Business/Enterprise + audit-log via l’API admin de GitHub, stocke les noms hachés, et regroupe mensuellement le tout en evidence pack signé Ed25519.

Pour qui ? Entreprises ayant déployé Copilot Business ou Enterprise à leurs employés et soumises à AI Act art. 26 (obligations deployer) ou NIS2 art. 21.

1. PAT GitHub avec les bons scopes

Dans github.com → Settings → Developer settings → Fine-grained PAT:

  • Resource owner : votre organisation GitHub (PAS votre compte personnel)
  • Expiration : 90 jours recommandé
  • Organisation permissions :
    • Administration: Read-only
    • Members: Read-only
    • Copilot: Read-only si visible

Alternative PAT classique : scopes manage_billing:copilot · read:audit_log · read:org.

2. Connecter le token dans monsys

Dashboard → Copilot Audit → + Connecter une org

  • Org login : le slug littéral (ex. acme-corp depuis github.com/acme-corp)
  • PAT : coller — affiché une seule fois, puis chiffré AES-256-GCM en DB

Juste après « Connecter » nous faisons un GET /orgs/{org} pour vérifier que le PAT fonctionne. Si non :

  • 401 → PAT mal tapé ou expiré
  • 403 → scopes manquants
  • 404 → mauvais nom d’org ou pas membre

3. Premier pull dans 1 heure

Notre CopilotPullWorker tourne toutes les heures. Au démarrage du hub ou peu après la connexion d’une org, un pull immédiat est tenté.

Pull :

  • Sièges (/orgs/{org}/copilot/billing/seats) : snapshot complet.
  • Audit events (/orgs/{org}/audit-log?phrase=action:copilot) : pagination par curseur depuis le dernier pull.

Résultats visibles dans le dashboard → Copilot Audit.

4. Evidence pack mensuel

Le 1er de chaque mois :

Fenêtre de terminal
POST /api/v1/copilot/evidence-packs
{
"period_start": "2026-04-01T00:00:00Z",
"period_end": "2026-04-30T23:59:59Z"
}

Tarball :

pack-N.tar.gz
├── manifest.json — schema_version: 2, module: "copilot"
├── manifest.sig — signature Ed25519
├── seats.jsonl
└── events.jsonl

Vérification (même outil que pour l’observabilité IA) :

Fenêtre de terminal
python3 tools/evidence-pack-verify.py pack-N.tar.gz \
--expected-pubkey <votre clé monsys épinglée>

5. Tarification

€1 par siège moyen par mois. Snapshot quotidien dans copilot_daily_seats.

Exemple : 30 sièges au 1er janvier, 35 à partir du 15.

  • Moyenne ≈ 32,7 → arrondi 33 sièges
  • Facture janvier : 33 × €1 = €33

6. Ce que vos employés VOIENT

Rien. Nous parlons uniquement à l’API admin GitHub ; aucun agent sur le poste du dev. Les noms sont hachés à l’ingestion — pour identifier quelqu’un, comparez le préfixe de 4 caractères avec votre système RH. Nous n’avons pas le mapping.

Étapes suivantes