Instalar una GitHub App en la empresa no abre el código de sus repositorios
Un script de configuración puede seguir dependiendo del token personal de alguien que ya dejó la empresa. GitHub anunció el 23 de octubre la disponibilidad general de las instalaciones empresariales de GitHub Apps. Más tareas administrativas pueden dejar atrás los PAT clásicos, pero instalar en la empresa no equivale a acceder a todo su código.
Qué administra la aplicación empresarial
La novedad abarca políticas de repositorios, rulesets, lectura de solicitudes de excepción y controles como listas de IP permitidas. Mostrar solicitudes de excepción requiere permisos distintos de cambiar las reglas. No hace falta habilitar todos los permisos de escritura para empezar.
La instalación empresarial solo concede permisos empresariales. Aunque la aplicación solicite también permisos de organización o repositorio, estos no se conceden en esa instalación. Leer código de dos organizaciones exige instalaciones separadas y el acceso necesario a los repositorios. Poder consultar ajustes empresariales y recibir una denegación al leer código puede ser el comportamiento previsto.
Una aplicación, varias instalaciones
Imaginemos la empresa acme con organizaciones web y mobile. Instalar la misma aplicación en las tres cuentas crea tres instalaciones. El token empresarial no sustituye al de web, y el de web no cruza a mobile. El gráfico propio representa un ejemplo ficticio, no una pantalla real de GitHub.

Por eso, una caché no debería identificar tokens solo por el nombre de la aplicación. Añadir el ID de instalación ayuda a separar la consulta de políticas empresariales de la lectura de repositorios. Es una propuesta de implementación que refleja el límite de cuentas documentado.
Dónde se encuentran los permisos del usuario y la aplicación
Un token de usuario depende de los permisos tanto de la aplicación como del usuario. Si este solo puede leer, la aplicación no puede superar ese límite actuando en su nombre. Un token de instalación depende de los permisos de la aplicación concedidos a esa instalación.
La emisión utiliza el JWT de la aplicación y el ID de instalación. La documentación describe POST /app/installations/INSTALLATION_ID/access_tokens y una vigencia de una hora. Octokit puede generar y renovar los tokens. Su corta duración no elimina la necesidad de proteger la clave privada ni de distinguir las instalaciones en la caché.

Antes de sustituir el token personal
Si un script combina políticas empresariales y código de varias organizaciones, cambiar una cadena puede no bastar. Hay que separar tareas, comprobar el soporte de cada API y elegir la autenticación correspondiente. No todas las operaciones GraphQL empresariales admiten aplicaciones. Empezar por una lectura facilita comparar resultados y límites.
Las fuentes muestran un desfase: el anuncio del 23 de octubre dice disponibilidad general, pero la página de instalación consultada hoy conserva la referencia a vista previa pública. Aquí se usa el anuncio fechado para el estado del lanzamiento y la documentación para los permisos. La mejora permite definir la automatización por cuenta y tarea, en lugar de copiar toda la autoridad de una persona.
Fuentes y lecturas
GitHub Docs · Enterprise installation