From 2182853fd7e7678728c8b6f5782f3ab697814d91 Mon Sep 17 00:00:00 2001 From: Natalie Bunduwongse Date: Mon, 27 Jul 2026 11:04:21 +1200 Subject: [PATCH] fix(audience): remove insecure client-side data-deletion ImmutableAudience.DeleteData let any caller holding the (public) publishable key request deletion of another player's data, with no way to prove ownership. Removed the method along with its now-dead constants, tests, and sample-app usage; erasure must go through the backend with secret-key auth instead. Co-Authored-By: Claude Sonnet 5 --- .../SampleApp/Resources/AudienceSample.uxml | 5 - .../SampleApp/Scripts/AudienceSample.UI.cs | 6 +- .../SampleApp/Scripts/AudienceSample.cs | 14 -- .../Tests/Runtime/SampleAppLiveFireTests.cs | 14 -- .../SampleApp/Tests/Runtime/SampleAppUi.cs | 2 - .../Audience/Runtime/Core/Constants.cs | 3 - .../Audience/Runtime/Core/Identity.cs | 2 +- .../Audience/Runtime/ImmutableAudience.cs | 61 ------ .../Tests/Runtime/Core/IdentityTests.cs | 2 +- .../Audience/Tests/Runtime/DeleteDataTests.cs | 200 ------------------ .../Tests/Runtime/DeleteDataTests.cs.meta | 11 - 11 files changed, 4 insertions(+), 316 deletions(-) delete mode 100644 src/Packages/Audience/Tests/Runtime/DeleteDataTests.cs delete mode 100644 src/Packages/Audience/Tests/Runtime/DeleteDataTests.cs.meta diff --git a/examples/audience/Assets/SampleApp/Resources/AudienceSample.uxml b/examples/audience/Assets/SampleApp/Resources/AudienceSample.uxml index ffe03aa5f..3c7182b98 100644 --- a/examples/audience/Assets/SampleApp/Resources/AudienceSample.uxml +++ b/examples/audience/Assets/SampleApp/Resources/AudienceSample.uxml @@ -158,11 +158,6 @@ - - - - - diff --git a/examples/audience/Assets/SampleApp/Scripts/AudienceSample.UI.cs b/examples/audience/Assets/SampleApp/Scripts/AudienceSample.UI.cs index 059bf91fb..ee8d1b099 100644 --- a/examples/audience/Assets/SampleApp/Scripts/AudienceSample.UI.cs +++ b/examples/audience/Assets/SampleApp/Scripts/AudienceSample.UI.cs @@ -54,7 +54,7 @@ private static readonly (string TabId, string PanelId)[] Tabs = private Toggle _testMode; private DropdownField _initialConsent; private Toggle _debug, _enableMobileAttribution; - private Button _btnInit, _btnFlush, _btnReset, _btnShutdown, _btnDeleteData, _btnRequestAtt; + private Button _btnInit, _btnFlush, _btnReset, _btnShutdown, _btnRequestAtt; // ---- UXML element fields (Consent tab) ---- @@ -203,7 +203,6 @@ private void BindElements() _btnFlush = Require