是否提供文档级“加密”以保护隐私?(含投票)

本贴最后更新于 360 天前,其中的信息可能已经东海扬尘

注:以下的“文档” = 某笔记本 / 某文档及其子文档 / 某文档

需求

要求提供文档“加密”功能的需求帖一直源源不断,我观察到,大家需要的功能主要有几点:

  1. 打开文档时需要先输入访问密码,且文档内容不在搜索结果中显示
  2. 文档名不在搜索结果中显示(可选)
  3. 文档在文档树中隐藏(需要讨论如何实现)
    • 例如:文档名脱敏,变为一串星号:************ / 变为默认名称:Untitled / 自定义
  4. 文档一段时间内无操作则自动锁定

场景

有但不仅有以下场景:

  1. 记录了包含隐私内容的文档(密码日记个人信息、高价值信息等)
  2. 需要展示一部分笔记给别人看(工作党刚需)
    1. 电脑投屏做知识分享 / 电脑前有人,此时全局检索,需要避免显示隐私内容。
    2. 通过伺服在局域网内共享给同事,需要避免同事打开包含隐私内容的文档。
    3. 启动思源时正好打开了包含隐私内容的文档,需要隐藏。
  3. 临时借出设备给他人使用,需要避免他人私自打开包含隐私内容的文档
  4. 离开电脑时忘记关闭文档 / 忘记锁屏

“加密”的方式

官方原生支持端到端加密,已经防住了云服务厂商,接下来就要防住身边的人了。

之前提出的两种“加密”方式:

  1. 在前端实现(锁定文档的界面),不需要修改文件,避免文档损坏。
  2. 本地数据加密,每次使用时解密。但由于需要整个工作空间都加密才能确保没有泄漏,所以不太可能实现,因此不考虑了。

在前端实现“加密”,本质上是为了避免他人轻易看到隐私信息,避免尴尬社死(至暗时刻)。身边的普通人一般不会专门想办法去偷看被你加密的文档,所以我们只是需要把界面锁一锁,能挡住身边绝大多数不懂技术的人就行了。

思源的本地存储格式是 .sy 而非 .md,别人看到了也不知道是啥,用编辑器打开也是 json 文件,基本没有可读性。

对此 @8V9q7V 提出异议:“界面加密,如果有人往里面存财务密码,而源文件是明文保存的,被人把密码扫出来了造成损失。思源会不会有法律纠纷?别人可不管你‘界面’加密”

当然,面对窃取数据的人,目前的访问授权码也一样是摆设:如果有人拿到了你的电脑,想偷偷打开你设置了访问授权码的工作空间,根本防不住,他直接在 工作空间/conf/conf.json 文件里找 accessAuthCode 字段就能拿到访问授权码。

虽然同样是“摆设”,但大家就是需要。我的看法是:思源负责防君子,用户负责防小人。但为了以防万一也许可以在用户启用这个功能时就明确说明:这个功能并非对本地数据加密,因此有需要的用户应自行采取其他保密措施。思源只需要尽到提醒的责任,怎么使用这个功能是用户的事情。

可以像 @muxue 说的那样:“在启用这个功能的时候,来个巨大弹窗告诉他这只是一个开启密码,然后弄个免责声明什么的”

设置密码的方式
  1. 每个加密的文档单独设置密码,并可自定义默认填写的密码
  2. 配置了访问授权码的用户则可以统一使用访问授权码

回答一些疑问

为什么不使用多个工作空间,其中一个设置访问授权码?
  1. 两个工作空间来回切换使用,操作繁琐。
  2. 不同的工作空间内容不互通,但有在加密笔记与非加密笔记间双链引用的需求。
  3. 需要加密的往往只是单一的文档,这些文档可能出现在任何目录下,单独将需要加密的文档移动到另一个工作空间会破坏笔记的目录结构。
为什么需要官方原生支持而非制作社区插件实现?
  1. 价值观
    • 思源笔记官网上写着「加密同步 隐私优先」,是「隐私优先的个人知识管理系统」。隐私优先,但只有云同步不会泄漏数据,这感觉就好像门口有两扇门却只关了半边一样难受,肯定得是一扇在云端挡服务厂商,一扇在线下挡人才完整。既然现在已经实现了端到端加密,那就应该更进一步,实现文档级的“加密”。
  2. 维护
    1. 保证功能随时可用,否则关闭插件就能解除加密 / 出 BUG 需要等待插件作者更新
    2. 同时维护桌面端和移动端
这是一个真实的需求吗?

有人说过:“有部分用户提需求,证明他真的有需求。不能因为自己没有需求而否定别人的需求。”这里附上我随手找的相关需求帖和 issues :

思源笔记可以增加目录或文章的加密功能吗?

希望增加目录或文档的加密功能

[建议] 思源是否增加给文档加锁的功能

功能建议:隐私锁功能,弱加密的锁就行

关于实现笔记本地加密的再思考

关于使用软链接特性实现思源笔记本加密的一些思考

关于对思源笔记本进行加密的一种解决方案,但需要思源增加支持对 data 文件夹中的笔记本文件夹的软链接的识别,期望能添加这一特性

什么时候可以加上笔记本、文档加密功能呀

思源笔记能否针对单个笔记本做密码保护?

希望能增加笔记本加密或隐藏功能

有考虑增加目录加密和单个文章加密功能吗

可否加入功能:可以为文档添加密码访问

原投票(请在下面的「新投票」里投票)

是否支持加密(多选)

多选 公开 永不结束 292 票
功能:界面加密,文件不加密
34% 102 票
功能:文件也加密
34% 100 票
需求:急需
17% 52 票
需求:无所谓,我还用不着
13% 38 票

原来的选项设置得不好,大部分人都把多选当作单选,现在分清楚一些,重新投票:

新投票(两个)

是否支持提供文档级加密?(多选)

多选 公开 永不结束 237 票
支持提供文档级“加密”
71% 170 票
同时期待本地数据加密
26% 63 票
可能需要其他方式来加密
1% 4 票

你对文档级“加密”的需求如何?(单选)

单选 公开 永不结束 207 票
迫切需要,刚需啊刚需!
46% 97 票
有了我就用,没出我也不急
50% 105 票
打死都不在思源里记录隐私信息
2% 5 票

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    22357 引用 • 89471 回帖 • 1 关注

相关帖子

优质回帖
  • yanyu67 1 4 赞同

    对于我来说,笔记本级的加密即可;比如加密的笔记本的状态可以就是关闭的笔记本,然后打开时需要密码。如果怕遗忘密码可以每次关闭时,输入密码,打开在输入密码,双重记忆trollface ;或者在打开这个加密功能时,需要多次验证才能打开这个功能,这样也能避免一些人无意中使用此功能;

    当然这样估计也还会有人遗忘密码的话,那就可以像锁屏一样,可以在哪个配置文件中找到;然后在提供一个无痕迹密码功能,这个打开无痕迹密码功能,也需要多次验证才能打开;然后打开这个功能后,遗忘密码了也找不会了。这个在出问题得话 😂,应该得自己为自己得数据丢失负责了 😋

  • Elystraw 1 2 赞同

    个人认为专业的事情交给专业的工具来做,思源官网的定位写得很清楚了:思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    核心是个人知识管理工具,端到端加密已经是顶格隐私保护了,业内安全做的很好的 Anytype 也只是到这一步。你说的那几个场景,密码、重要数据应该使用密码管理工具,协作自然应该使用协作的工具。更进一步说,如果你有列举场景中的这些使用习惯,难道不是更应该反思一下自己是不是真的很注重隐私保护吗?

    养成好的隐私保护习惯比期待一个加密功能做到尽善尽美的笔记软件要靠谱得多。

  • Syngo 2 赞同

    楼主,个人理解新投票的选项也许存在偏差

    1. 不支持的理由可能是需要其他方式,也可能是现有方式已满足(比如通过授权码、插件等),或者其他;
    2. 打死都不记录和需求程度是两回事,如果是会记录,但是不需要文档级加密该如何选呢?
    3. 新投票第 2 个的单选可理解成新投票第 1 个多选的延伸,有需求的人进一步选择程度。按目前的投票总数,两者相差不大,可能需要考量如何进行参照。

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 嗯,之前就看到了你的方案。没有做成插件其实比较麻烦,但做插件本身也挺麻烦的。

    我希望思源原生支持是为了能够满足除此之外的更多需求。

  • 其他回帖
  • PiChou 1 2 赞同

    你认真看你发的那篇文章,就能知道 VeraVeypt、cryptomator 这类加密软件已经能解决你所需要的“整个工作空间加密”。

    文章里的老哥是想整花活:一部分工作空间加密;另一部分不加密,改用软链接。——这个是做不到的。


    此类加密软件如何工作?使用 Cryptomator 实现思源笔记本地数据加密_哔哩哔哩_bilibili

    把整个思源工作空间放进加密文件夹,保持加密软件解锁状态,就能正常启用思源;需要加密时再给加密软件锁定,思源笔记空间就整个加密了。

    这种方式不影响思源的数据安全、云端同步,但会稍微影响思源打开速度和软件性能(思源本体开发这类功能也是一样的)。

    1 回复
  • JeffreyChen 1 评论

    @88250 这个帖子置顶了几天收集需求和投票(重写的帖子汇总了已知的需求,并给出了一部分设计思路),现在投票比例基本不再变化,投票结果应该比较有代表性,再久积分也撑不住,就暂时截止好了。(如果还需要收集更多反馈的话, D 大再置顶一段时间?)

    根据目前的投票数据:在投票的用户中,不在思源里记录隐私信息的用户是极少数,大部分用户支持仅提供文档级“加密”功能,约 3/10 的用户迫切需要这样的功能(刚需)——足以说明这是一个普遍的需求。

    思源的用户已经越来越多了(应该有原 wolai / WPS 的用户,懂的都懂,环境逐渐变化了),这些与隐私相关的需求未来也会越来越多,我认为思源有必要开始考虑满足用户在隐私保护上 “All in One” 的需求(目前只有锁屏还不够用、不想使用多余的第三方软件、需要原生的简单易用的功能)。

    因为我对思源本身不了解,所以我不好判断这个功能的开发难度——我猜难度可能有点大——但即使开发周期很长大家也能够理解。如果 需要详细讨论实现方式 / 开发难度非常大 / 目前开发精力很有限……这个文档级别的“加密”功能仍然可以作为一个长期的 Feature 慢慢推进,一个版本一个版本地迭代,不必直接否掉。

    另外,思源是本地软件,这个功能可以跟目前端到端加密的卖点结合起来,毕竟还没几个笔记软件 care 这种功能(没两把刷子的人根本做不好,我称之为互联网产品经理的局限性:过于依赖抄别人的功能,无法及时跟进市场变化)。解决用户的刚需,顺便构建差异化,这也能给思源带来一定程度的优势。

    1 回复
    不过说实话投票的选项还有优化空间 😶
    JeffreyChen
  • littlecoby 1 赞同

    比较赞同这个 issue 讨论里说的:“加密的粒度越细、弊端越大”。

    个人的使用场景和上面有人提到的类似,电脑只是自用,工作空间中放了工作和私人的内容,工作时不想搜到私人内容以免被周围人看到。需要在工作时把私人内容加密,在家里等比较安全的场景下又能方便的整体解密,以免需要频繁输入密码。

    这样只有整个界面的授权码是不够的,觉得笔记本粒度的加密比较合适。如果再往下细分,入口太多,要考虑的情况会比较复杂。比如搜索时是否需要匹配加密内容,匹配到时是否需要提示,如何提示,等等。如果需要更细的粒度,可以在加密笔记本中放原文档,在其它笔记本中放块引。

    在笔记本粒度上,现在的“关闭笔记本”在效果上已经比较接近需求了,但还有些不够。
    (1)关闭的笔记本一般是很少会再用到的,而加密笔记本会经常用到,使用场景不同,最好不要放在一起。
    (2)如果在其它地方有指向加密笔记本的链接,只是关闭的话会显示“未找到内容块”,无法与真正失效的块引区分。
    (3)如果考虑笔记本可被别人操作的情况,关闭的笔记本可以被直接打开。

    基于上述讨论,基本的需求是:笔记本级加密,加密笔记本方便解锁,另外类似授权码的前端加密就行。

    一个设想的效果是:
    (1)在文档树的笔记本处显示一个当前是否加密的图标,方便查看笔记本的加密状态。可以通过点击图标方便的切换加密状态。
    (2)从其它地方块引到加密内容时,提示目标处于加密状态。反链类似。
    (3)搜索到加密内容时,提示有些结果处于加密状态,但不显示数目和具体内容。

    或者简单点,加密笔记本=关闭的笔记本 + 授权密码 + 其它地方块引的提示。

    1 回复
    1 操作
    littlecoby 在 2023-11-29 19:04:09 更新了该回帖
  • 查看全部回帖