Skip to content

Commit

Permalink
Merge pull request #1724 from DataDog/maxep/RUM-3291/privacy-manifest
Browse files Browse the repository at this point in the history
RUM-3291 Privacy Manifest - describe data use
  • Loading branch information
maxep authored Mar 15, 2024
2 parents a994a99 + ace2907 commit 1f767ef
Show file tree
Hide file tree
Showing 15 changed files with 153 additions and 9 deletions.
12 changes: 12 additions & 0 deletions Datadog/Datadog.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1120,6 +1120,10 @@
D2A7841029A53B2F003B03BB /* Directory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61133BAB2423979B00786299 /* Directory.swift */; };
D2A7841129A53B2F003B03BB /* File.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61133BAC2423979B00786299 /* File.swift */; };
D2A7841229A53B2F003B03BB /* File.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61133BAC2423979B00786299 /* File.swift */; };
D2A7A8FF2BA1C24A00F46845 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = D2A7A8FE2BA1C24A00F46845 /* PrivacyInfo.xcprivacy */; };
D2A7A9002BA1C24A00F46845 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = D2A7A8FE2BA1C24A00F46845 /* PrivacyInfo.xcprivacy */; };
D2A7A9022BA1C4B100F46845 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = D2A7A9012BA1C4B100F46845 /* PrivacyInfo.xcprivacy */; };
D2A7A9032BA1C4B100F46845 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = D2A7A9012BA1C4B100F46845 /* PrivacyInfo.xcprivacy */; };
D2B249942A4598FE00DD4F9F /* LoggerProtocol+Internal.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2B249932A4598FE00DD4F9F /* LoggerProtocol+Internal.swift */; };
D2B249952A4598FE00DD4F9F /* LoggerProtocol+Internal.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2B249932A4598FE00DD4F9F /* LoggerProtocol+Internal.swift */; };
D2B249972A45E10500DD4F9F /* LoggerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2B249962A45E10500DD4F9F /* LoggerTests.swift */; };
Expand Down Expand Up @@ -2672,6 +2676,8 @@
D2A434AD2A8E426C0028E329 /* DDSessionReplayTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DDSessionReplayTests.swift; sourceTree = "<group>"; };
D2A7840129A534F9003B03BB /* DatadogLogsTests tvOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "DatadogLogsTests tvOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
D2A7840229A536AD003B03BB /* PrintFunctionMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrintFunctionMock.swift; sourceTree = "<group>"; };
D2A7A8FE2BA1C24A00F46845 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = ../Resources/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
D2A7A9012BA1C4B100F46845 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = ../Resources/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
D2B249932A4598FE00DD4F9F /* LoggerProtocol+Internal.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LoggerProtocol+Internal.swift"; sourceTree = "<group>"; };
D2B249962A45E10500DD4F9F /* LoggerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoggerTests.swift; sourceTree = "<group>"; };
D2B3F0432823EE8300C2B5EE /* TLVBlockTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TLVBlockTests.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -4443,6 +4449,7 @@
6170DC1325C1864B003AED5C /* DatadogCrashReporting */ = {
isa = PBXGroup;
children = (
D2A7A9012BA1C4B100F46845 /* PrivacyInfo.xcprivacy */,
6161247825CA9CA6009901BE /* CrashReporting.swift */,
61DE333525C8278A008E3EC2 /* CrashReportingPlugin.swift */,
D293302B2A137DAD0029C9EA /* CrashReportingFeature.swift */,
Expand Down Expand Up @@ -5645,6 +5652,7 @@
D29A9F3529DD84AA005C54A4 /* DatadogRUM */ = {
isa = PBXGroup;
children = (
D2A7A8FE2BA1C24A00F46845 /* PrivacyInfo.xcprivacy */,
61C713B82A3C935C00FA735A /* RUM.swift */,
49D8C0B62AC5D2160075E427 /* RUM+Internal.swift */,
61C713A02A3B78F900FA735A /* RUMMonitorProtocol.swift */,
Expand Down Expand Up @@ -7033,6 +7041,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
D2A7A9022BA1C4B100F46845 /* PrivacyInfo.xcprivacy in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -7075,6 +7084,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
D2A7A9002BA1C24A00F46845 /* PrivacyInfo.xcprivacy in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -7125,6 +7135,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
D2A7A8FF2BA1C24A00F46845 /* PrivacyInfo.xcprivacy in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -7182,6 +7193,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
D2A7A9032BA1C4B100F46845 /* PrivacyInfo.xcprivacy in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down
2 changes: 1 addition & 1 deletion DatadogCore.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Pod::Spec.new do |s|
"DatadogCore/Private/**/*.{h,m}"]

s.resource_bundle = {
"DatadogPrivacyInfo" => "DatadogCore/Resources/PrivacyInfo.xcprivacy"
"DatadogCore" => "DatadogCore/Resources/PrivacyInfo.xcprivacy"
}

s.dependency 'DatadogInternal', s.version.to_s
Expand Down
24 changes: 23 additions & 1 deletion DatadogCore/Resources/PrivacyInfo.xcprivacy
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,30 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyTrackingDomains</key>
<array>
<string>browser-intake-datadoghq.com</string>
<string>browser-intake-us3-datadoghq.com</string>
<string>browser-intake-us5-datadoghq.com</string>
<string>browser-intake-datadoghq.eu</string>
<string>browser-intake-ap1-datadoghq.com</string>
<string>browser-intake-ddog-gov.com</string>
</array>
<key>NSPrivacyCollectedDataTypes</key>
<array/>
<array>
<dict>
<key>NSPrivacyCollectedDataType</key>
<string>NSPrivacyCollectedDataTypePerformanceData</string>
<key>NSPrivacyCollectedDataTypeLinked</key>
<false/>
<key>NSPrivacyCollectedDataTypeTracking</key>
<false/>
<key>NSPrivacyCollectedDataTypePurposes</key>
<array>
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
</array>
</dict>
</array>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
Expand Down
4 changes: 4 additions & 0 deletions DatadogCrashReporting.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,8 @@ Pod::Spec.new do |s|
s.source_files = "DatadogCrashReporting/Sources/**/*.swift"
s.dependency 'DatadogInternal', s.version.to_s
s.dependency 'PLCrashReporter', '~> 1.11.1'

s.resource_bundle = {
"DatadogCrashReporting" => "DatadogCrashReporting/Resources/PrivacyInfo.xcprivacy"
}
end
21 changes: 21 additions & 0 deletions DatadogCrashReporting/Resources/PrivacyInfo.xcprivacy
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyCollectedDataTypes</key>
<array>
<dict>
<key>NSPrivacyCollectedDataType</key>
<string>NSPrivacyCollectedDataTypeCrashData</string>
<key>NSPrivacyCollectedDataTypeLinked</key>
<false/>
<key>NSPrivacyCollectedDataTypeTracking</key>
<false/>
<key>NSPrivacyCollectedDataTypePurposes</key>
<array>
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
</array>
</dict>
</array>
</dict>
</plist>
4 changes: 4 additions & 0 deletions DatadogRUM.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ Pod::Spec.new do |s|

s.source_files = ["DatadogRUM/Sources/**/*.swift"]

s.resource_bundle = {
"DatadogRUM" => "DatadogRUM/Resources/PrivacyInfo.xcprivacy"
}

s.dependency 'DatadogInternal', s.version.to_s

end
21 changes: 21 additions & 0 deletions DatadogRUM/Resources/PrivacyInfo.xcprivacy
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyCollectedDataTypes</key>
<array>
<dict>
<key>NSPrivacyCollectedDataType</key>
<string>NSPrivacyCollectedDataTypeProductInteraction</string>
<key>NSPrivacyCollectedDataTypeLinked</key>
<false/>
<key>NSPrivacyCollectedDataTypeTracking</key>
<false/>
<key>NSPrivacyCollectedDataTypePurposes</key>
<array>
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
</array>
</dict>
</array>
</dict>
</plist>
4 changes: 4 additions & 0 deletions DatadogSDKCrashReporting.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,8 @@ Pod::Spec.new do |s|
s.source_files = "DatadogCrashReporting/Sources/**/*.swift"
s.dependency 'DatadogInternal', s.version.to_s
s.dependency 'PLCrashReporter', '~> 1.11.1'

s.resource_bundle = {
"DatadogCrashReporting" => "DatadogCrashReporting/Resources/PrivacyInfo.xcprivacy"
}
end
12 changes: 10 additions & 2 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,11 @@ let package = Package(
dependencies: [
.target(name: "DatadogInternal"),
],
path: "DatadogRUM/Sources"
path: "DatadogRUM",
sources: ["Sources"],
resources: [
.copy("Resources/PrivacyInfo.xcprivacy")
]
),
.testTarget(
name: "DatadogRUMTests",
Expand All @@ -143,7 +147,11 @@ let package = Package(
.target(name: "DatadogInternal"),
.product(name: "CrashReporter", package: "PLCrashReporter"),
],
path: "DatadogCrashReporting/Sources"
path: "DatadogCrashReporting",
sources: ["Sources"],
resources: [
.copy("Resources/PrivacyInfo.xcprivacy")
]
),
.testTarget(
name: "DatadogCrashReportingTests",
Expand Down
5 changes: 4 additions & 1 deletion dependency-manager-tests/carthage/App/PrivacyInfo.xcprivacy
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict/>
<dict>
<key>NSPrivacyCollectedDataTypes</key>
<array/>
</dict>
</plist>
5 changes: 4 additions & 1 deletion dependency-manager-tests/cocoapods/App/PrivacyInfo.xcprivacy
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict/>
<dict>
<key>NSPrivacyCollectedDataTypes</key>
<array/>
</dict>
</plist>
Original file line number Diff line number Diff line change
Expand Up @@ -447,6 +447,7 @@
61B8C30026E0E278006EDF53 /* Frameworks */,
61B8C30126E0E278006EDF53 /* Resources */,
31384BB2056A865F3ED23F38 /* [CP] Embed Pods Frameworks */,
A242A29C234C1DB8379AA6B1 /* [CP] Copy Pods Resources */,
);
buildRules = (
);
Expand Down Expand Up @@ -539,6 +540,7 @@
D245424827C8D3200039E0A6 /* Frameworks */,
D245424A27C8D3200039E0A6 /* Resources */,
D245424D27C8D3200039E0A6 /* [CP] Embed Pods Frameworks */,
3BA7B0D961097BC82E5E9018 /* [CP] Copy Pods Resources */,
);
buildRules = (
);
Expand Down Expand Up @@ -787,6 +789,23 @@
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Common-App Dynamic iOS/Pods-Common-App Dynamic iOS-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
3BA7B0D961097BC82E5E9018 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Common-App Dynamic tvOS/Pods-Common-App Dynamic tvOS-resources-${CONFIGURATION}-input-files.xcfilelist",
);
name = "[CP] Copy Pods Resources";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Common-App Dynamic tvOS/Pods-Common-App Dynamic tvOS-resources-${CONFIGURATION}-output-files.xcfilelist",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Common-App Dynamic tvOS/Pods-Common-App Dynamic tvOS-resources.sh\"\n";
showEnvVarsInLog = 0;
};
5645FD027BB938478818FE88 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
Expand Down Expand Up @@ -848,6 +867,23 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
A242A29C234C1DB8379AA6B1 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Common-App Dynamic iOS/Pods-Common-App Dynamic iOS-resources-${CONFIGURATION}-input-files.xcfilelist",
);
name = "[CP] Copy Pods Resources";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Common-App Dynamic iOS/Pods-Common-App Dynamic iOS-resources-${CONFIGURATION}-output-files.xcfilelist",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Common-App Dynamic iOS/Pods-Common-App Dynamic iOS-resources.sh\"\n";
showEnvVarsInLog = 0;
};
CC86EE069424642723D0C2E2 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
Expand Down
5 changes: 4 additions & 1 deletion dependency-manager-tests/spm/App/PrivacyInfo.xcprivacy
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict/>
<dict>
<key>NSPrivacyCollectedDataTypes</key>
<array/>
</dict>
</plist>
2 changes: 1 addition & 1 deletion dependency-manager-tests/spm/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@ create-src-from-xcodeproj:
rm -rf SPMProject.xcodeproj.src
cp -r SPMProject.xcodeproj SPMProject.xcodeproj.src
rm SPMProject.xcodeproj.src/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
sed "s|\"${GIT_REFERENCE}\"|GIT_REFERENCE|g" SPMProject.xcodeproj/project.pbxproj > SPMProject.xcodeproj.src/project.pbxproj
sed "s|${GIT_REFERENCE}|GIT_REFERENCE|g" SPMProject.xcodeproj/project.pbxproj > SPMProject.xcodeproj.src/project.pbxproj
@echo "OK 👌"
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict/>
<dict>
<key>NSPrivacyCollectedDataTypes</key>
<array/>
</dict>
</plist>

0 comments on commit 1f767ef

Please sign in to comment.