Add webhook payload redaction guard#383
Conversation
|
Reviewer-ready checkpoint for /claim #19. This PR is open, non-draft, mergeable/CLEAN, Bounty claim labeled, and the body contains /claim #19. Scope remains webhook payload redaction: event/schema allowlists, private project fields, PII/direct identifier exposure, private storage URLs, residency checks, signature safety, embargoed links, and deterministic deliver/redact/block decisions from synthetic data only. |
|
Visibility update after the new API rate-limit PR: this #19 claim remains open, non-draft, mergeable/CLEAN, bounty-labeled, and already claim-marked. Scope remains the webhook payload redaction/minimization guard, not API rate-limit contract or retry/backoff work. This PR covers event schema allowlists, private project fields, PII/direct identifiers, private storage URLs, data-residency destinations, signature metadata, unsafe signing algorithms, and event-level deliver/redact/block decisions. The reviewer packet, deterministic artifacts, validation commands, and claim marker are already in place. I do not see a contributor-side blocker for review/reward decision. |
|
Visibility update after PR #411: this existing Scope remains the webhook payload redaction/minimization guard, separate from the newer enterprise dashboard accessibility readiness slice. This PR covers event schema allowlists, private project fields, PII/direct identifiers, private storage URLs, data-residency destinations, signature metadata, unsafe signing algorithms, and event-level deliver/redact/block decisions. The reviewer packet, deterministic artifacts, validation commands, and claim marker are already in place. I do not see a contributor-side blocker for review/reward decision. |
|
Status refresh after the newer same-issue PR #445 activity: PR #383 remains open, non-draft, mergeable/CLEAN, bounty-labeled, and claim-marked for issue #19. The submitted scope remains the webhook payload redaction/minimization guard: event schema allowlists, private project fields, PII/direct identifiers, private storage URLs, data-residency destinations, signature metadata, unsafe signing algorithms, and event-level deliver/redact/block decisions before institutional webhook/API payload delivery. This is distinct from PR #445's webhook delivery failure guard, enterprise admin dashboard accessibility readiness, API rate-limit contract work, vendor-DPA/subprocessor review, and the other #19 slices. |
|
Status refresh after the newer same-issue PR #411 hardening activity: PR #383 remains open, non-draft, mergeable/CLEAN, bounty-labeled, and claim-marked for issue #19. The submitted scope remains the webhook payload redaction/minimization guard: event schema allowlists, private project fields, PII/direct identifiers, private storage URLs, data-residency destinations, signature metadata, unsafe signing algorithms, and event-level deliver/redact/block decisions before institutional webhook/API payload delivery. This is distinct from PR #411's enterprise admin dashboard accessibility readiness guard and hardening update, PR #445's webhook delivery failure guard, API rate-limit contract work, vendor-DPA/subprocessor review, and other #19 enterprise tooling slices. No contributor-side code changes are pending unless reviewers request revisions. |
/claim #19
Summary
Adds
webhook-payload-redaction-guard, a self-contained Enterprise Tooling slice that validates outbound institutional webhook/API payloads before delivery.The guard evaluates:
Non-overlap
This is not a webhook replay ledger, admin notification escalation guard, connector certification gate, API change governance guard, data export approval queue, deposit reconciliation guard, SCIM/HRIS deprovisioning guard, LMS roster passback guard, usage cost-allocation guard, incident response workflow, data residency policy module, or secret rotation gate. It focuses specifically on outbound payload minimization and redaction before institutional delivery.
Local validation
Run from
webhook-payload-redaction-guard/:npm run check npm test npm run demo npm run demo:videoAll four commands passed locally.
Reviewer artifacts
reports/summary.jsonreports/reviewer-packet.mdreports/summary.svgreports/demo.webmSafety
All data is synthetic. The module does not call live webhook delivery, repository sync, LMS sync, identity services, storage systems, or external providers. It does not include private institutional payloads, credentials, secrets, real users, or live admin mutations.