应用里没有第三方代码
没有广告网络、没有分析工具、没有崩溃上报、没有现成的界面库。这意味着什么,代价是什么。
阅读约 4 分钟
大多数 iOS 应用里装着几十个第三方包:分析工具、广告网络、崩溃上报、现成的界面库。
Soluklan 一个都没有。
没有的东西
没有广告网络。 应用里不显示广告,也不读取广告标识符。
没有第三方分析工具。 没有任何现成的软件包把你打开了哪个界面、点了哪个按钮、在应用里待了多久报告给别人。我们也不与这类公司共享数据。
取而代之的是我们自己的计数,而且默认关闭。如果你在设置里打开分享匿名使用小结,每次你离开应用时会发送一份匿名小结:打开了哪些界面、在上面停留多久、用了哪些功能。你的身份、你写下的内容、位置和健康回答从不发送。关闭开关时,已收集的内容也会删除。细节见隐私政策。
没有崩溃上报。 如果应用崩溃了,不会有自动的报告发到我们这里。信息只通过 Apple 自己的系统到达,而且以你在设备设置里允许的程度为限。
没有现成的库。 界面、音频处理、图形、动画——全都用 Apple 自己的框架写。
有的东西
应用用到网络的地方有两处,而且都是 Apple 的基础设施:
iCloud。 你的练习记录在你自己的账户里同步。我们作为开发者对那块区域没有访问权限。
匿名分享。 如果你打开了它,匿名的练习小结和使用小结会过来,如果你另外授权了,还会有声音样本,每天最多十次练习。这些放在 Apple 的 CloudKit 上。
除此之外,应用根本不连接任何服务器。连通知都是在设备上排期的:我们没有发送通知的服务器。
代价是什么
这个选择有代价,我们不藏着。
信息更少。 哪个功能被用、人们卡在哪里,我们只能从打开了匿名分享的用户发来的小结里看到。对没有打开的人,我们一无所知。
发现问题更慢。 出了崩溃,只有别人告诉我们、或者我们在 Apple 的报告里看到,才会知道。
工作量更大。 现成的库一天能做完的事,自己写要好几天。
为什么还是这样做
应用的活儿是听你的呼吸。呼吸的声音是经过麦克风的数据,而把第三方包放进一个持有这种数据的应用里,就意味着要相信那些包在做什么。
如果隐私政策写着“没有广告、没有追踪、没有第三方分析”,那在代码这一侧必须有对应的东西。写下那句话很容易;让那句话一直为真,靠的是不去添加包。
怎么自己核实
一个应用收集什么数据,写在 App Store 的隐私标签上。另外,如果你打开 iOS 的“设置 → 隐私与安全 → App 隐私报告”,就能在自己的设备上看到哪个应用连了哪些域名。
在 Google Play 上,同样的信息在应用页面的数据安全部分。