On Github, you have GitHub App (and installation), that allow you to interact with several API.
Apps have permissions, and different way to authenticate:
- The app
- An installation of the app
- App with Oauth user (never use this one, so it's not clear for me)
Reference: