我创建了一个简单的Mac应用程序,可以随时提供有关您工作行为的统计信息。例如,您每分钟的平均单词,您输入的语言,删除键的使用情况等。有趣的东西!但是,一些测试用户表示,如果他们不认识我,他们就不会使用该应用程序,因为它会收集击键记录程序等按键。
是否有一些证明我可以证明我没有做任何邪恶的事情? (我永远不会在内存中保留多个单词!)或者是否足以让我的应用程序签名?还是开源那部分代码? (我知道其他部分我不能开源。)
答案 0 :(得分:3)
通过Mac App Store分发将有所帮助,因为用户可以看到Apple已经尝试过您的应用程序并且没有发现任何恶意。 [已添加:]此外,沙盒化您的应用意味着您的应用仅限于一组明确的功能,技术熟练的用户可以检查。任何未列出的内容,您都无法做到,所以这将是一种简单的方法来证明您不会通过互联网发回任何内容。
另一件事是将所有数据保存在用户可读的文件中。没有二进制plists,没有Core Data存储等。(其中任何一个的XML变体都应该算作用户可读的更有争议,但为了这个目的,我认为至少一个XML plist足够可读。不确定关于核心数据。)
如果用户可以使用他们信任的应用程序(例如TextEdit)读取您存储的所有原始数据,而不仅仅是您通常喜欢的应用程序内展示,那么他们可以自行检查并最终信任,你没有存储他们不想要的东西。
如果任何有关潜在用户通过电子邮件向您发送电子邮件,告知您是否通过互联网向自己的服务器报告按键,并假设您根本没有建立任何互联网连接(甚至没有更新检查),您可以建议他们应该安装Little Snitch,任何应用程序尝试连接到某个东西时都会弹出确认警报。当他们没有看到关于您的应用的警报时,他们知道您没有打电话回家。
您还可以在产品网页上添加指向技术资料的链接。 Here's Jesper's article proposing them和here's one example of such a document, for one of his products。
答案 1 :(得分:2)
我认为Gatekeeper足以满足大多数用户的需求。如果事实证明一个应用程序正在做坏事,那么Apple就可以拔掉恶意软件开发人员的插件。因此,也许有一段时间可以将您的程序设置为“安全”给那些不具备技术倾向的人(例如,无法理解您的来源)。
简单地以您或您公司的名义分发它可以在应用程序中建立信任(当然,前提是您的其他产品/程序没有违反用户的信任)。
答案 2 :(得分:0)
如果您可以将应用程序带到Apple的App Store,那么这意味着他们会检查这些问题。他们无法在那里明知地允许密钥记录应用程序。此外,使用Apple证书对应用程序进行签名可确保如果已从App Store下载并且后来发现它是邪恶的,则可以将其列入黑名单。
开源代码也是一个好主意。我假设你不能全部开源,因为它不属于你?如果是这样的话,那就明确一下它使用什么技术,并对应用程序的功能以及如何进行操作保持开放和诚实。