Skip to main content

🐙 GitHub App

A GitHub App's credentials in one secret: its App ID, Client ID, Installation ID and owner, its private key, and its client and webhook secrets.

  • The editor takes the App's .pem file directly and checks it's an unencrypted RSA private key before it's stored. The secret's page has a Replace private key… action for when the key is rotated on GitHub.
  • The App ID and Installation ID must be digits only.
  • Storing a GitHub App walks through where each detail comes from on GitHub.

Type id: type-github-app. Agents and sneakers-put name the type by this id; sneakers_list_secret_types lists it.

🧾 Fields​

FieldKeyKindRequiredSecretNotes
DescriptiondescriptionMulti-line textNoNo
App IDappIdTextYesNomust match ^\d+$
Client IDclientIdTextNoNo
Client SecretclientSecretSecret value (never generated)NoSensitive
Installation IDinstallationIdTextNoNomust match ^\d+$
Private Key (PEM)privateKeyMulti-line textYesSensitive
Webhook SecretwebhookSecretSecret value (never generated)NoSensitive
Owner OrgownerOrgTextYesNo
NotesnotesMulti-line textNoNo

🔒 What's secret​

Client Secret, Private Key (PEM), Webhook Secret are masked until someone who can read the secret reveals or copies them, and every reveal and copy is written to the audit trail. Everything else is plain metadata that anyone who can see the folder can see.

None of them is super-sensitive, so an agent's token can read the private key for automation under its usual access, whatever Allow API access to sensitive secrets is set to.

🔁 Heartbeat, rotation and check-out​

  • Heartbeat: no.
  • Rotation: no.
  • Check-out: no.

🎯 Targets​

A GitHub App takes no target.