4

我创建了一个简单的 Mac 应用程序,它可以为您提供一段时间内的工作行为统计数据。例如,您每分钟的平均字数、您输入的语言、删除键的使用等。有趣的东西!但是,一些测试用户表示,如果他们不认识我,他们不会使用该应用程序,因为它会像键盘记录器一样收集击键。

是否有一些证明可以证明我没有做任何邪恶的事情?(我永远不会记住一个以上的单词!)或者我的应用程序签名就足够了吗?或者开源那部分代码?(我知道我不能开源的其他部分。)

4

3 回答 3

3

通过 Mac App Store 分发会有所帮助,因为用户可以看到 Apple 已经尝试过您的应用程序,并且没有发现任何恶意内容。[已添加:] 此外,将您的应用程序沙箱化意味着您的应用程序仅限于一组明确的功能,技术熟练的用户可以检查这些功能。任何未列出的内容,您都无法执行,因此这是证明您没有通过互联网发回任何内容的简单方法。

另一件事是将所有数据保存在用户可读的文件中。没有二进制 plist,没有 Core Data 存储等(其中任何一个的 XML 变体是否应该算作用户可读将更具争议性,但为此,我认为至少一个 XML plist 就足够可读了。不确定关于核心数据。)

如果用户可以使用他们信任的应用程序(例如 TextEdit)读取您存储的所有原始数据,而不仅仅是您通常喜欢的应用程序内演示,那么他们可以自己检查并最终信任您不存储任何他们不想让你存储的东西。

如果任何关心的潜在用户向您发送电子邮件,询问您是否通过互联网向您自己的服务器报告他们的击键,并假设您根本没有建立任何互联网连接(甚至没有更新检查),您可以建议他们应该安装Little Snitch,它会在任何应用程序尝试连接到某物时弹出确认警报。当他们没有看到有关您的应用程序的此类警报时,他们知道您没有打电话回家。

您还可以在产品网页上包含指向技术资料的链接。这是 Jesper 提出这些建议的文章这是针对他的一种产品的此类文档的一个示例

于 2013-05-22T08:59:02.390 回答
2

我认为 Gatekeeper 对于大多数用户来说已经足够了。如果事实证明某个应用程序正在做坏事,那么 Apple 可能会阻止恶意软件开发人员。因此,也许在一段时间内,您的程序对于那些技术上不倾向于的人(例如,无法理解您的来源)来说应该是“安全的”。

简单地以您或您公司的名义分发它可以在很大程度上建立对应用程序的信任(当然前提是您的其他产品/程序没有违反用户的信任)。

于 2013-05-22T09:08:51.917 回答
0

如果您可以将该应用程序放到 Apple 的 App Store 上,那么这意味着他们将检查它是否存在此类问题。他们不可能故意允许在那里使用键盘记录应用程序。此外,使用 Apple 证书对应用程序进行签名可确保如果该应用程序已从 App Store 下载并且后来被发现是恶意的,他们可以将其列入黑名单。

开源代码也是一个好主意。我假设您不能全部开源,因为它不属于您?如果是这样,那么请明确它使用什么技术,并对应用程序的功能以及它是如何做的保持开放和诚实的态度。

于 2013-05-22T09:02:23.837 回答