diff --git a/Package.swift b/Package.swift
index 539ef5e1e908978d3500a3b5c737243b54c1c2f8..d204c98fd1fa3cddf89f47c63b914d98996f810e 100644
--- a/Package.swift
+++ b/Package.swift
@@ -750,6 +750,9 @@ let package = Package(
             name: "ReportingFeature",
             dependencies: [
                 .product(name: "XCTestDynamicOverlay", package: "xctest-dynamic-overlay"),
+            ],
+            resources: [
+                .process("Resources"),
             ]
         ),
     ]
diff --git a/Sources/ReportingFeature/Resources/report_cert.crt b/Sources/ReportingFeature/Resources/report_cert.crt
new file mode 100644
index 0000000000000000000000000000000000000000..d0ec74b9e5d1296dfaea659602db0dbac7fe8d55
--- /dev/null
+++ b/Sources/ReportingFeature/Resources/report_cert.crt
@@ -0,0 +1 @@
+[PLACE THE CERTIFICATE CONTENT HERE]
\ No newline at end of file
diff --git a/Sources/ReportingFeature/SendReport.swift b/Sources/ReportingFeature/SendReport.swift
index 1ffcf99c316e0f5b900d43685b44aeab805d1d10..41c6f159a304e184aa79b63b0ba85faf345724ed 100644
--- a/Sources/ReportingFeature/SendReport.swift
+++ b/Sources/ReportingFeature/SendReport.swift
@@ -22,8 +22,13 @@ extension SendReport {
             completion(.failure(error))
             return
         }
-        let session = URLSession(configuration: .default)
-        let task = session.dataTask(with: request) { data, response, error in
+        let session = URLSession(
+            configuration: .default,
+            delegate: SessionDelegate(),
+            delegateQueue: nil
+        )
+        let task = session.dataTask(with: request) { _, _, error in
+            defer { session.invalidateAndCancel() }
             if let error = error {
                 completion(.failure(error))
                 return
@@ -39,3 +44,7 @@ extension SendReport {
         run: XCTUnimplemented("\(Self.self)")
     )
 }
+
+private class SessionDelegate: NSObject, URLSessionDelegate {
+    // TODO: handle TLS
+}