heygrc
Manifesto

Vang het bij de PR, niet bij de audit.

Een compliance-leemte is het goedkoopst om op te lossen op het moment dat deze wordt geschreven, en het duurst op de dag dat een auditor deze vindt.

Elke compliance-bevinding heeft een prijs, en die prijs wordt bepaald door één ding: hoe lang de leemte er al zat voordat iemand het opmerkte. Ontdekt in de pull request, is het een wijziging van één regel en een gesprek van dertig seconden. Ontdekt tijdens de audit, is het een archeologisch project.

De kosten van een bevinding stijgen met de afstand tot de wijziging

Als een reviewer een verzwakte auditlog meldt in de PR die deze heeft verzwakt, heeft de auteur de hele wijziging nog in zijn hoofd. Hij weet waarom hij die regel heeft aangeraakt, wat de bedoeling was, en hoe hij het kan herstellen zonder iets anders te breken. De oplossing is klein omdat de context nog vers is.

Zes maanden later, tijdens het auditseizoen, is niets hiervan meer waar. De auteur kan vertrokken zijn. De redenatie is verdwenen. Nu moet iemand reconstrueren waarom de log is verwijderd, of er iets van afhankelijk is geworden, en hoe deze veilig kan worden hersteld. Hetzelfde probleem van één regel is een kruisteamonderzoek met een deadline geworden.

De PR is het laatste moment waarop iedereen nog context heeft

Code review bestaat al. Het is het enige controlepunt waar een mens bewust naar de wijziging kijkt, voordat deze wordt uitgerold, met de bedoeling om problemen op te sporen. Bugs worden daar opgemerkt. Stijlproblemen worden daar opgemerkt. De enige reden dat compliance daar niet wordt opgemerkt, is dat de reviewer het kader niet in zijn hoofd heeft, waardoor een wijziging die stilletjes ISO 27001:2022 A.8.15 of GDPR Art. 5(1)(e) activeert, gewoon als normale code wordt gelezen.

Dat is een kennisleemte, geen procesleemte. Het controlepunt zit op de juiste plek. Het hoeft alleen maar te weten wat de auditor weet.

Shift-left is hier geen slogan, het is rekenkunde

Shift-left werkt in beveiliging omdat een defect eerder in de pijplijn verplaatsen het goedkoper maakt om op te lossen. Compliance heeft dezelfde curve, en een steilere, omdat een compliance-leemte niet alleen engineeringstijd kost, maar ook de bevinding zelf: de uitzondering in het rapport, het herstelbewijs, de uitleg aan de auditor.

heygrc is gebouwd om elke pull request te lezen tegen de kaders die je bedrijf moet naleven en de controle te benoemen die een wijziging raakt, terwijl de wijziging nog een review-opmerking is. Dat is het hele idee: verplaats de ontdekking naar links, waar het goedkoop is.