Verificatie en transparantie van bestuur

Op deze pagina worden de controles uitgelegd die PayCal gebruikt om gedrag te verifiëren en operationele vangrails in de productie af te dwingen.

Wat we bedoelen met bestuur

Voor ons betekent governance beleid dat is gecodeerd in codepaden, limieten, tests en implementatiecontroles. Het is geen belofte die alleen uit documenten bestaat.

De onderstaande verwijzingen verwijzen naar implementatiepunten in deze repository, zodat claims onafhankelijk kunnen worden geverifieerd.

Verificatie-metagegevens

Metagegevens routeren

  • Routebeschrijving: /transparency/verification-governance/
  • Laatst geverifieerd:
  • Volgende beoordeling gepland:
  • Verificatiebereik: handmatige beoordeling van beschreven poortimplementaties aan de hand van huidige hooks, CI-pijplijncontroles en runtime-controlepaden.
  • Previous version: Verification and Governance before the June 2026 tooling update

Bekende beperkingen

  • Poortbeschrijvingen worden handmatig bijgehouden; Er is een automatische kruisverwijzing tussen deze pagina en de hook/pipeline-configuratie gepland voor de kwartaalafsluiting.
  • Runtime-limietwaarden weerspiegelen standaardwaarden; omgevingsspecifieke overschrijvingen kunnen verschillen op niet-ontwikkelingsinstanties.

Deze metagegevens worden elk kwartaal bijgewerkt als onderdeel van de afsluiting van de governance-audit.

Huidige beveiligingsauditstatus

Vanaf 24-03-2026 blijft PayCal in PASS-status na de BRS-01 tot en met BRS-05-uitbreiding en daaropvolgende release-hygiënesynchronisatie.

Details over de openbare status en bewijsreferenties worden gepubliceerd op /transparency/security-audit/.

1) Lokale beleidspoorten (Git Hooks)

Lokale hooks blokkeren onveilige samenvoegingen voordat de code gedeelde vertakkingen bereikt.

  • githooks/pre-commit runs PHPStan Level 9 on staged PHP files under html/.
  • githooks/pre-commit blocks baseline usage in phpstan.neon and blocks phpstan-baseline.neon.
  • githooks/pre-push runs full-repo PHPStan Level 9 and applies the same baseline-blocking policy.

Deze poorten verkleinen de kans op beleidsafwijkingen en stille kwaliteitsregressies.

2) CI-verificatiepijplijn

De CI-workflow voert steeds diepere testlagen uit, van snelle validatie tot stress-achtige verificatie.

For the current end-to-end CI/CD operating model, see CI/CD Tooling and Release Governance.

  • .github/workflows/phpunit.yml Stage 2: composer run test:all (unit + integration + contract).
  • .github/workflows/phpunit.yml Stage 3: composer run test:random (order-randomized).
  • .github/workflows/phpunit.yml Stage 3: composer run test:coverage.
  • .github/workflows/phpunit.yml Stage 4: mutation test job.

Representative contract/integration suites include html/tests/Integration/KekContractTest.php, html/tests/Integration/RedisContractTest.php, and contract tests under html/tests/Contract/.

3) Runtimelimieten en inputbeheer

Operationele eindpunten worden begrensd door expliciete aanvraagvensters en payload-validatieregels.

  • html/src/Domain/RateLimiter.php defines per-minute endpoint and IP limits, including telemetry (90/minute).
  • html/src/Controllers/TelemetryController.php enforces authentication and telemetry rate limits before accepting events.
  • html/src/Controllers/TelemetryController.php bounds event type format with a strict regex to control key cardinality.
  • html/src/Controllers/EmailVerificationController.php applies retry windows with TTL-backed rate-limit keys.

Deze controles zijn bedoeld om het gedrag voorspelbaar te houden onder zowel normale als onrechtmatige verkeerspatronen.

4) TTL en beveiligingslimietbeheer

Beveiligingsgevoelige stroomlimieten worden centraal gedefinieerd en begrensd door min/max-beperkingen.

  • html/src/system-limits-master.php includes enable_rate_limiting and account-recovery controls.
  • Limieten voor accountherstel omvatten code-TTL, cooldowns voor opnieuw verzenden, maximale verificatiepogingen, herhalingsvensters en gehashte IP-blok-TTL's.
  • html/src/Domain/AccountRecoveryAbuseGuard.php records replay telemetry and applies automatic hashed-IP blocking when thresholds are exceeded.
  • html/src/Domain/AccountRecoveryTransaction.php enforces transaction/proof/bootstrap expiries from system limits.

Deze structuur maakt gecontroleerde beleidsupdates mogelijk zonder getypte grenzen te omzeilen.

5) CSP en controles op de levering van activa

Voor openbare pagina's geldt een expliciet inhoudsbeveiligingsbeleid en een niet-bewuste weergave van scripts/stijlen.

  • html/header.php builds and emits CSP directives including default-src 'none' and strict script-src/style-src policies.
  • html/header.php includes Trusted Types policy directives.
  • html/src/Domain/Render.php supports nonce-based module script rendering.

Deze controles beperken uitvoerbare oppervlakken en maken deel uit van ons basisbeheermodel.

Hoe u deze claims kunt verifiëren

Ontwikkelaars kunnen verificatiesignalen rechtstreeks in deze repository reproduceren:

# Static analysis gates
bash githooks/pre-commit
bash githooks/pre-push

# Test pipeline equivalents
cd html
composer run test:all
composer run test:random
composer run test:coverage

Laatst bijgewerkt: June 22, 2026.