diff options
| author | Christian Cleberg <[email protected]> | 2026-07-20 11:56:37 -0500 |
|---|---|---|
| committer | Christian Cleberg <[email protected]> | 2026-07-20 13:56:41 -0500 |
| commit | 77a42a8b4f3dd89e631f8246bdea3e95f83bac6a (patch) | |
| tree | 8b2d9dda61a88a2c5eb58b35a62c966ef501f404 /DomainDig/IntegrationService.swift | |
| parent | 6e9dea95d015c0f2d335d9b89b8ee843b4c2b05e (diff) | |
| download | domain-dig-77a42a8b4f3dd89e631f8246bdea3e95f83bac6a.tar.gz domain-dig-77a42a8b4f3dd89e631f8246bdea3e95f83bac6a.tar.bz2 domain-dig-77a42a8b4f3dd89e631f8246bdea3e95f83bac6a.zip | |
fix: harden webhook transport and gate debug logging
Require HTTPS for outbound integration webhooks. Webhook URLs are
themselves secrets (Slack in particular), so an http:// endpoint leaked
both the URL and the alert payload in cleartext.
Disable DomainDebugLog in release builds. Every message used
privacy: .public, which opted out of OSLog redaction and wrote looked-up
domains to the unified log in shipped builds.
Diffstat (limited to 'DomainDig/IntegrationService.swift')
| -rw-r--r-- | DomainDig/IntegrationService.swift | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/DomainDig/IntegrationService.swift b/DomainDig/IntegrationService.swift index dba8034..9948441 100644 --- a/DomainDig/IntegrationService.swift +++ b/DomainDig/IntegrationService.swift @@ -555,7 +555,7 @@ private enum HTTPIntegrationClient { headers: [String: String], timeoutSeconds: Double ) async throws { - guard let url = URL(string: urlString) else { + guard let url = URL(string: urlString), url.scheme?.lowercased() == "https" else { throw IntegrationError.invalidURL } |
