Empêchez une clé live d'atteindre l'historique git.
L'IA colle une vraie clé « juste pour tester » et elle atterrit dans un commit — où elle vit pour toujours, même après avoir supprimé la ligne. SlopGrade attrape le secret en dur dans la PR, avant le merge, et n'émet que sa localisation — jamais la valeur.
Une clé de production, commitée dans le code.
Le secret est maintenant dans le repo et son historique git — une rotation est le seul vrai correctif, et chaque clone en a une copie. Le gate l'arrête à la PR pour qu'aucune rotation ne soit jamais nécessaire.
Ce que l'IA a livré
Ce qui quitte votre runner
Même une détection de secret n'émet que {file, line, kind} — jamais la valeur du secret. Auditez-le avec --print-payload.
Détecte → adapte → vérifie. Rien d'autre ne sort.
Dans votre runner, sur le diff
Le client open source parcourt la pull request et signale le motif en local — dataflow intra-fonction, aucun code ne quitte la machine.
Verdict serveur + gate
L'empreinte structurelle est classée côté serveur. Un hit dur bloque le check sur un repo privé payant ; les repos publics sont gatés gratuitement ; le paywall échoue en mode ouvert.
Posté inline, correctif vérifié en local
Le constat est posté sur sa ligne exacte. Quand un correctif existe, il est généré ET vérifié dans votre runner — proposé seulement une fois qu'un re-scan prouve la disparition.
La valeur du secret est-elle envoyée quelque part ?
Non. Même sur une détection, seuls la localisation et le type sont émis — jamais la valeur. Lancez --print-payload pour voir les octets exacts. C'est tout l'intérêt du design 0-exfiltration.
Et les clés de test / placeholder ?
Les formes reconnues de secrets live (préfixes fournisseur, tokens à haute entropie) sont signalées ; les placeholders évidents et les clés de test sont calibrés hors. 0 faux positif sur 5 000+ repos.