Pagpapatunay at Transparency ng Pamamahala

Ipinapaliwanag ng page na ito ang mga kontrol na ginagamit ng PayCal upang i-verify ang gawi at ipatupad ang mga operational guardrail sa produksyon.

Ang Ibig Sabihin Natin sa Pamamahala

Para sa amin, ang pamamahala ay nangangahulugan ng patakarang naka-encode sa mga path ng code, limitasyon, pagsubok, at pagsusuri sa deployment. Ito ay hindi isang dokumento lamang na pangako.

Ang mga sanggunian sa ibaba ay nagmamapa sa mga punto ng pagpapatupad sa repositoryong ito upang ang mga claim ay maaaring independiyenteng ma-verify.

Metadata ng Pag-verify

Metadata ng ruta

  • Ruta: /transparency/verification-governance/
  • Huling na-verify:
  • Nakatakdang susunod na pagsusuri:
  • Saklaw ng pag-verify: manu-manong pagsusuri ng inilarawang mga pagpapatupad ng gate laban sa mga kasalukuyang hook, CI pipeline check, at runtime control path.
  • Previous version: Verification and Governance before the June 2026 tooling update

Mga kilalang limitasyon

  • Ang mga paglalarawan ng gate ay pinananatili nang manu-mano; ang automated na cross-reference sa pagitan ng page na ito at hook/pipeline config ay binalak para sa quarterly close-out.
  • Ang mga halaga ng limitasyon sa runtime ay nagpapakita ng mga default; maaaring mag-iba ang mga override na partikular sa kapaligiran sa mga hindi pag-unlad na pagkakataon.

Ang metadata na ito ay ina-update kada quarter bilang bahagi ng pagsasara ng audit ng pamamahala.

Kasalukuyang Katayuan ng Pag-audit ng Seguridad

Simula noong 2026-03-24, nananatili ang PayCal sa katayuang PASS pagkatapos ng pagpapalawak ng BRS-01 hanggang BRS-05 at pag-synchronize ng kalinisan ng follow-up na release.

Ang mga detalye ng pampublikong katayuan at mga sanggunian ng ebidensya ay nai-publish sa /transparency/security-audit/.

1) Mga Local Policy Gate (Git Hooks)

Hinaharangan ng mga lokal na kawit ang mga hindi ligtas na pagsasama bago makarating ang code sa mga nakabahaging sangay.

  • 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.

Binabawasan ng mga gate na ito ang pagkakataon ng pag-anod ng patakaran at tahimik na kalidad ng mga regression.

2) CI Verification Pipeline

Ang daloy ng trabaho ng CI ay nagpapatakbo ng mas malalim na mga layer ng pagsubok mula sa mabilis na pagpapatunay hanggang sa pag-verify ng istilo ng stress.

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) Mga Limitasyon sa Rate ng Runtime at Pamamahala sa Input

Ang mga endpoint ng pagpapatakbo ay nililimitahan ng tahasang mga window ng kahilingan at mga panuntunan sa pagpapatunay ng payload.

  • 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.

Nilalayon ng mga kontrol na ito na panatilihing mahuhulaan ang pag-uugali sa ilalim ng parehong normal at mapang-abusong mga pattern ng trapiko.

4) TTL at Security Limit Governance

Ang mga limitasyon sa daloy na sensitibo sa seguridad ay nasa gitnang tinukoy at nililimitahan ng min/max na mga hadlang.

  • html/src/system-limits-master.php includes enable_rate_limiting and account-recovery controls.
  • Kasama sa mga limitasyon sa pag-recover ng account ang code TTL, muling ipadala ang mga cooldown, max na pagsubok sa pag-verify, replay window, at hashed-IP block na mga TTL.
  • 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.

Nagbibigay-daan ang istrukturang ito sa mga kontroladong pag-update ng patakaran nang hindi nilalagpasan ang mga na-type na hangganan.

5) Mga Kontrol sa Paghahatid ng CSP at Asset

Ang mga page na nakaharap sa publiko ay pinamamahalaan ng tahasang Patakaran sa Seguridad ng Nilalaman at pag-render ng script/style na walang kaalam-alam.

  • 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.

Pinipigilan ng mga kontrol na ito ang mga executable surface at bahagi ito ng aming baseline na modelo ng pamamahala.

Paano I-verify ang Mga Claim na Ito

Ang mga developer ay maaaring direktang gumawa ng mga signal ng pag-verify sa repositoryong ito:

# 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

Huling na-update: June 22, 2026.