summaryrefslogtreecommitdiff
path: root/DomainDig/IntegrationService.swift
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-07-20 11:56:37 -0500
committerChristian Cleberg <[email protected]>2026-07-20 13:56:41 -0500
commit77a42a8b4f3dd89e631f8246bdea3e95f83bac6a (patch)
tree8b2d9dda61a88a2c5eb58b35a62c966ef501f404 /DomainDig/IntegrationService.swift
parent6e9dea95d015c0f2d335d9b89b8ee843b4c2b05e (diff)
downloaddomain-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.swift2
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
}