# GitHub

> Verbind GitHub met Tidal Control via de Tidal Control GitHub app, zodat compliance tests je repositories, branch protection en toegangsinstellingen uitlezen.

Source: https://tidalcontrol.com/nl/docs/integrations/github

De GitHub integratie stelt Tidal Control in staat om automatisch compliance tests uit te voeren op je GitHub omgeving via de Tidal Control GitHub app.

## Vereisten

- Super User rol in Tidal Control
- GitHub organisatie admin rechten
- Toegang tot GitHub organisatie waar monitoring gewenst is

## Configuratie stappenplan

We installeren de **Tidal Control GitHub app** in je GitHub organisatie(s). Deze app krijgt read-only toegang tot repository configuraties voor security compliance monitoring.

**Configuratie stappen:**

1. **Tidal integratie starten**
2. **GitHub authenticatie**
3. **Repository toegang configureren**
4. **App installatie voltooien**
5. **Aanvullende organisaties**

## Benodigde machtigingen

Wanneer je de Tidal Control GitHub app installeert, toont GitHub een overzicht van de machtigingen die de app vraagt. Alle toegang is **read-only**. Tidal Control schrijft, wijzigt of verwijdert nooit iets in je GitHub omgeving.

### Momenteel actief gebruikt

<table>
<thead>
<tr><th>Machtiging</th><th>Waarvoor wij deze gebruiken</th></tr>
</thead>
<tbody>
<tr><td><strong>Administration</strong></td><td>Leest branch protection rules en rulesets. Gebruikt voor: is force push naar de default branch uitgeschakeld, is een PR-review verplicht voor het mergen, en is code owner goedkeuring vereist.</td></tr>
<tr><td><strong>Pull requests</strong></td><td>Controleert of recentelijk gemergte pull requests zijn goedgekeurd vóór het mergen.</td></tr>
<tr><td><strong>Metadata</strong></td><td>Basis repository-informatie: naam, zichtbaarheid (public/private), fork-status en de naam van de default branch.</td></tr>
</tbody>
</table>

### Aanwezig voor toekomstige tests

De volgende machtigingen zijn aanwezig in de app maar worden nog niet actief gebruikt. Ze zijn opgenomen voor aanvullende compliance-checks die wij van plan zijn te bouwen:

<table>
<thead>
<tr><th>Machtiging</th><th>Gepland gebruik</th></tr>
</thead>
<tbody>
<tr><td><strong>Code</strong></td><td>Controleren of een CODEOWNERS-bestand aanwezig en correct geconfigureerd is, of dat een SECURITY.md (responsible disclosure policy) bestaat. Wij lezen uitsluitend metadatabestanden, niet je bedrijfslogica of intellectueel eigendom.</td></tr>
<tr><td><strong>Dependabot alerts</strong></td><td>Verifiëren of Dependabot actief is en of er geen openstaande kritieke kwetsbaarheden zijn in dependencies.</td></tr>
<tr><td><strong>Secret scanning alerts</strong></td><td>Controleren of secret scanning ingeschakeld is en of er geen openstaande meldingen zijn van gelekte credentials.</td></tr>
<tr><td><strong>Checks</strong></td><td>Verifiëren of verplichte CI-checks geconfigureerd zijn als voorwaarde voor het mergen van pull requests.</td></tr>
<tr><td><strong>Security events, repository advisories, deployments, issues</strong></td><td>Gereserveerd voor toekomstige compliance-checks.</td></tr>
</tbody>
</table>

> **info:**

**Liever beperkte toegang?** Je kunt de app beperken tot specifieke repositories in plaats van de hele organisatie. Kies **"Selected repositories"** in stap 3.

## Stap 1: Tidal integratie starten

- Ga naar **Instellingen → Integraties** in Tidal Control
- Klik op het **plus-icoon** naast GitHub
- Klik **"Click here to get started"**
- Je wordt automatisch **doorgestuurd naar GitHub**

## Stap 2: GitHub authenticatie

- Voer je **GitHub inloggegevens** in
- Klik **"Sign in"** 
- Selecteer de **organisatie** waar je de app wilt installeren
- Als app al geïnstalleerd: klik **"Configure"** voor instellingen

## Stap 3: Repository toegang configureren

- Kies toegangsniveau:
  - **Alle repositories** - Complete organisatie monitoring
  - **Specifieke repositories** - Selectieve compliance monitoring
- Selecteer gewenste repositories indien specifiek gekozen

## Stap 4: App installatie voltooien

- Review de **machtigingen** die Tidal Control vraagt
- Klik **"Install"** voor directe installatie
- Of klik **"Request"** als organisatie approval vereist
- Wacht op **goedkeuring** van organisatie eigenaar (indien van toepassing)

## Stap 5: Aanvullende organisaties

- Herhaal **stap 1-4** voor elke extra organisatie
- Elke organisatie heeft **eigen app installatie** nodig
- Configureer **per organisatie** welke repositories gemonitord worden

## Verificatie

De integratie werkt wanneer het volgende allemaal klopt:

- **Instellingen → Integraties** toont GitHub onder **Geconfigureerde integraties**
- **Test refresh** levert repository data zonder (permission) errors

## Troubleshooting

Maakt de integratie geen verbinding, controleer dan het volgende:

- Verifieer GitHub app installatie in organisatie settings
- Controleer repository permissions voor Tidal Control app
- Vraag na of de organisatie admin de app heeft goedgekeurd
- Verifieer of er geen conflicterende security policies in GitHub zijn

### Kom je er nog niet uit?

Stuur een e-mail naar support@tidalcontrol.com, en we nemen zo snel mogelijk contact met je op.

> **info:**

**Support info verzamelen:** Noteer welke browser je gebruikt, exacte foutmeldingen, welke stappen je al geprobeerd hebt, en screenshots van het probleem. Dit versnelt de oplossing aanzienlijk.
