一位朋友请我审查两份简短报告,因为我对技术有更深入的了解,这些是我的发现:

背景:

有几份简短报告针对$APP(Muddy Waters是其中之一),基本上都说他们的广告目标定向功能正常工作,因为他们收集了不该有的数据。股价已经下跌了。 我想看看技术指控中有多少是真的,所以我浏览了GitHub上的公开MAX SDK。

你需要知道的一件事。公开仓库仅仅是 mediation adapters(MAX和其他广告网络之间的胶水)。实际AXON核心,负责竞拍,关闭源码,不在仓库中。所以所有有趣的东西(跨应用跟踪、儿童内容、短报告等)都在我看不到的代码中。不能假装不知道。

简要概述:利益冲突100%真实可见。-consent处理非常粗糙。实际的烟雾弹在关闭的代码中,没有外部人员可以审核,所以我无法确认,也无法确认短报告。

  1. consent标志被传递给第三方网络,没有任何验证

17个适配器会将你的退出标志转换为字符串,然后将其传递给第三方网络,走了。没有回调,没有检查。适配器的整个工作是“好,我已经告诉他们了”。

if (hasUserConsent != null && !hasUserConsent) 
networkExtras.putString("npa", "1"); // non personalized ads 
if (isDoNotSell != null && isDoNotSell) 
networkExtras.putInt("rdp", 1); // restrict data processing 

值得注意的是,退出仅意味着你会看到非个人化广告。没有skipTracking()。你退出仅改变广告,而不是事件是否被记录。

2.consent字符串本身被混淆

Fyber适配器,将CCPA隐私字符串压缩成三个固定的值:

InneractiveAdManager.setUSPrivacyString(isDoNotSell ? "1YY-" : "1YN-"); 

Verve适配器,将IAB隐私字符串(应该编码你同意的哪些事项)仅仅填充“0”或“1”:

if (!hasUserConsent) 
userDataManager.setIABGDPRConsentString("0"); 

可能是粗糙的管道,而不是恶意行为。然而,如果监管机构来看,这个隐私信号并没有通过得当。

3.利益冲突是真正清晰的

这是最强有力的证据,且并非隐藏在哪里。AppLovin拥有所有的公司:

  • MAX 运行竞拍(竞拍者)
  • AXON 在竞拍中投标(投标者)
  • Adjust 是决定哪个广告得到了销售的归因层(归因者)。他们在2021年买了它。

因此,一家公司既是竞拍者,又是投标者,又拥有归因者。这可以在demo应用中看到,这个区块出现在每种广告类型中:

val adjustAdRevenue = AdjustAdRevenue(AdjustConfig.AD_REVENUE_APPLOVIN_MAX) 
adjustAdRevenue.setRevenue(ad.revenue, "USD") 
adjustAdRevenue.setAdRevenueNetwork(ad.networkName) 
Adjust.trackAdRevenue(adjustAdRevenue) 

Adjust(由AppLovin拥有)得到美元、网络、位置、每个印象。独立归因和广告卖家是同一家公司。要清楚,利益冲突是合法的。许多公司都有。然而,这并不意味着任何事情,但值得一看。

4.MAX可以看到其他人投标

每个适配器都有一个collectSignal()方法,将网络的投标令牌传递给MAX。因此,“AppLovin可以看到其他人投标”的说法的视角是真实的。然而,我无法展示AXON是否使用该信息来提高自己的投标(这将是真正的问题)。这在关闭的核心中。

我找不到以下内容在仓库中(要小心这些):

  • 没有持久的跨应用ID。跨应用跟踪的说法将在关闭的核心中。
  • 没有COPPA/儿童标志。
  • 没有直接下载/安装代码。
  • 没有自动点击广告逻辑。

所有头条新闻都在公开的代码中。

因此,在我的“感觉”的技术分析中:

可验证:真正的利益冲突(竞拍者+投标者+归因者,所有者都是同一家公司),隐私管道不通过,看到竞争对手的投标。不可验证:是否实际上发生了短报告中声称的非法数据收集,因为这些代码是关闭的。

我在想你们的看法吗?我对整个事情感到很怀疑。