跳到正文
SafhaSafha

Safha安全吗?安全措施与您的文件

Safha如何保护您的文件:每个文件在哪里处理、何时删除、谁能看到,我们遵循的标准,以及尚在推进中的工作。所有内容均来自服务的真实配置。

我们知道,您的文件可能包含合同、证件和个人资料。因此,我们在打造Safha时,力求让您尽可能多的工作留在您的设备上;当文件必须离开设备时,我们会告诉您何时、去哪里以及为什么。本页的所有内容都来自服务的真实配置、代码以及线上服务器的实际响应。我们尚未完成的事项都明确标注为“推进中”。

最后更新:

一览

  • 0字节使用在您设备上运行的工具时,到达我们这里的文件数据
  • 立即服务器工具中的文件在您的结果发送后即被删除
  • TLS 1.3加密连接,并启用为期两年的HSTS
  • bcrypt用于存储密码,成本因子为12

隐私原则

Safha的每项功能背后都有三条原则:

  • 我们不出售您的数据

    我们不出售您的个人数据,不投放定向广告,也不使用广告Cookie或第三方跟踪Cookie。网站的内容安全策略只允许我们的页面连接到我们自己的域名(connect-src 'self')。

  • 只收集必要的信息

    使用工具无需账户。我们的统计系统是自建的:我们从不存储您的原始IP地址,而是用每天更换的秘密值把它转换为哈希令牌。工具日志从不包含您的文件名或文件内容,只记录工具、运行位置、是否成功、耗时以及大致的大小范围。

  • 一切由您掌控

    在选择文件之前,您就能看到文件将在哪里处理。您可以随时删除签名请求和工作流,也可以在“我的账户”页面自行删除账户。详情请见我们的隐私政策。

您的文件在哪里处理

每个工具都带有标记,在您选择文件之前就显示文件在哪里处理。分为以下几种情况:

  • 在您的设备上

    文件在您的浏览器中读取和处理,您直接从浏览器下载结果。**文件不会发送到任何服务器。**大多数PDF和图片工具都属于这种情况,例如合并、拆分、旋转、签署您自己的文件以及压缩图片。

  • 在我们的服务器上

    有些工具需要在浏览器中难以良好运行的软件,例如Office格式转换和OCR。此时,您的文件会通过加密连接发送到我们的转换服务,处理后,在您的结果发送完毕时立即删除。

  • 通过AI服务商

    “总结PDF”“翻译PDF”和“向PDF提问”会从您的文件中提取文本,并通过加密连接把文本(而不是文件)发送给Anthropic。详情请见AI部分。我们建议不要将这些工具用于高度敏感的文件。

  • 请求签名

    当您请他人签署文件时,我们会保留文件直到所有人签署完毕:包括文件、签署人的姓名和电子邮箱,以及每一步的审计记录。此功能仅面向账户持有人。保留期限见保留与删除。

  • 工作流

    如果您把多个工具串联成保存的工作流,每个步骤都遵循其工具自身的规则。我们在您的账户中保存的是工作流设置,而不是经过它处理的文件。

我们遵循的标准

我们目前没有ISO/IEC 27001或SOC 2等第三方安全认证,也不展示它们的标志。以下是我们实际采用的标准,以及正在推进的工作:

  • GDPR原则

    并不存在官方的“GDPR证书”,我们也不声称拥有。但我们会遵循它的原则:尽可能少地收集数据,为保留的一切设定期限,并说明每个文件在哪里处理。您的权利包括:

    • **删除:**在“我的账户”页面自行删除账户。
    • **更正:**在“我的账户”页面修改姓名和语言;其他内容请发邮件给我们。
    • **访问与可携带:**发邮件至[email protected]索取您的账户数据副本。
  • OWASP实践

    我们采用OWASP Web应用安全指南中的实践,包括:

    • **内容安全策略(CSP):**脚本和连接仅限于我们的域名,网站也无法被嵌入其他网站。
    • SSRF防护:“网页转PDF”和“网页转图片”只接受公开的http和https链接,我们会在每次连接和每次重定向时检查IP地址,确保任何请求都无法访问我们的内部网络。
    • **隔离渲染:**渲染网页的浏览器无法直接访问互联网;它的每个请求都要经过同样的检查,上传的HTML文件中的脚本默认关闭。Office文件中的宏从不运行,每次转换都在独立的进程中进行,并有时间限制和可写入内容的上限。
  • 伊拉克电子签名法

    伊拉克有2012年第78号《电子签名与电子交易法》。Safha中的签名属于简单电子签名:我们保留记录每一步时间的审计记录,以及原始文件和最终文件的SHA-256指纹。它们不是经认证机构认证的签名,我们也不就其效力提供法律意见。如果您的文件需要具有特定法律效力的签名,请咨询法律专业人士。

  • 正在推进的工作

    推进中
    • **ISO/IEC 27001:**按照该标准建立信息安全管理体系,为独立评估做准备。
    • 由外部公司进行的独立渗透测试。
    • 管理员账户的双重身份验证。
    • 签名请求文件的静态加密。

产品安全

  • 托管

    Safha运行在向Contabo GmbH租用的服务器上,根据RIPE NCC的登记信息,其地址段注册在德国。每项服务都运行在由Coolify管理的独立Docker容器中:网站应用、转换服务和PostgreSQL数据库。

  • 网络与DDoS防护

    网站流量经过Cloudflare的网络,其服务包括针对分布式拒绝服务(DDoS)攻击的自动防护。在服务器内部,数据库位于与互联网隔离的内部网络中,转换服务不接受任何外部连接:只有网站应用能通过共享的密钥令牌访问它。

  • 传输加密

    • 整个网站都通过HTTPS运行,HTTP请求会被重定向到HTTPS。
    • 连接支持TLS 1.3。
    • 我们发送为期两年的HSTS标头(max-age=63072000; includeSubDomains),因此您的浏览器只会通过加密连接打开本网站。
    • Cloudflare与我们服务器之间的连接也经过加密,并使用有效的TLS证书。
  • 存储

    我们在服务器上保存的内容很少:数据库中的账户、工作流、保存的简历和统计数据,以及服务器磁盘上的签名请求文件。密码和签名链接令牌仅以哈希形式存储(bcrypt和SHA-256)。需要说明的是:目前我们没有用自己的密钥对数据库或签名请求文件进行静态加密;它们受网络隔离和服务器权限保护。

保留与删除

以下数字来自服务的实际设置:

数据 保留多久
在您设备上运行的工具中的文件 从不到达我们这里
服务器工具的文件和结果 在您的结果发送后立即删除,或在处理失败时立即删除
卡住的任务文件(例如您的网络中断时) 自动清理程序每5分钟运行一次,删除超过42分钟的任务文件
临时文件存放位置 临时内存文件系统(tmpfs),而非永久磁盘,服务重启时全部清空
我们这边的AI工具文本 处理完成后不保留
“向PDF提问”的文本 最多在服务器内存中保留30分钟,从不写入磁盘
Anthropic处的文本 根据其公布的政策在30天内删除,其列出的例外情况除外
发给签署人的签名链接 自发送起30天内有效
用签署人链接下载已签署副本 请求完成后30天
签名请求的文件和审计记录 直到您自己删除该请求
登录会话 30天
详细统计记录 400天,之后只保留每日汇总
您的账户 直到您在“我的账户”页面删除

删除账户时,我们会从数据库中删除您的账户、工作流、保存的简历、签名请求及其审计记录;工具使用次数会保留,但不再与您有任何关联。签名请求文件也会从服务器磁盘上删除。

账户与密码

  • 密码以成本因子为12的bcrypt哈希存储,无法还原为原密码。我们不接受短于8个字符的密码。
  • 您的会话保存在带有HttpOnly、Secure和SameSite=Lax属性的签名Cookie中,30天后过期。对于每个敏感请求,我们都会在数据库中重新检查账户状态。
  • 修改密码会立即结束您的所有其他会话。
  • **登录尝试次数受限:**15分钟内,每个账户最多5次错误尝试,每个IP地址最多20次。
  • 我们绝不会通过邮件或任何其他方式索要您的密码。

AI

“总结PDF”“翻译PDF”和“向PDF提问”使用Anthropic的API,只有在我们于服务器上启用后才能使用。

  • **发送的内容:**从您的文件中提取的文本,而不是文件本身,每个请求都有大小上限。
  • **我们保留的内容:**处理完成后不保留任何内容。只有“向PDF提问”会把文本在服务器内存中保留最多30分钟,用于回答您的追问。
  • **Anthropic的说明:**根据其公布的隐私政策(最后更新于2026年7月1日),它会在30天内从其系统中删除API的输入和输出,但其列出的情况除外,包括执行其使用政策和遵守法律。其商业条款规定,它不得使用其服务中的客户内容训练模型。
  • **我们的建议:**不要将这些工具用于高度敏感的文件。

支付

当前版本中,Safha的所有工具和功能都免费。我们不要求提供支付卡,网站也没有支付系统。因此,我们不收集也不存储任何支付数据。

“我的证件”保险箱

即将在应用中推出

Safha手机应用中用于存放身份证、护照等官方证件的保险箱:

  • **只留在您的手机上:**其中的任何内容都不会通过互联网发送。
  • **采用AES-256-GCM加密:**每份证件、其预览以及保险箱的索引都会加密。
  • **密钥受手机系统保护:**Android Keystore或iOS钥匙串,通过生物识别或设备密码解锁,也可以为保险箱设置6位数PIN码。
  • **不包含在备份中,**也不会在迁移到其他设备时转移。

内部安全

  • 访问管理

    Safha只有两种角色:成员和管理员。管理后台只对具有管理员角色的账户开放,我们会在服务器上两次检查该角色:进入后台时,以及后台内的每个页面和操作。更改账户角色或停用账户会立即结束其会话。

  • 最小权限

    • 转换服务以非root用户身份运行在只读文件系统上,只写入临时内存文件夹。
    • 它在启动时读取一次密钥,然后放弃root权限;这些密钥从不进入转换进程。
    • Anthropic密钥只存在于转换服务中;它从不进入网站应用或浏览器。
    • 数据库密码和会话签名密钥由部署平台生成;没有人手动输入它们。
  • 管理员双重身份验证

    推进中

    目前我们没有为管理员账户提供双重身份验证,也不会声称已经提供。在添加之前,第一个管理员密码由部署平台随机生成,登录尝试次数与所有账户一样受到限制。

  • 管理员操作日志

    会影响用户设备的操作,例如发送通知和发布应用版本,都会连同管理员身份和时间一起记录。

亲自确认您的文件没有被上传

您不必只听我们怎么说。对于在您设备上运行的工具,您可以在电脑上验证:

  1. 在Chrome、Edge或Firefox中打开工具页面。
  2. 按F12(或右键选择“检查”),然后打开网络(Network)标签页。
  3. 选择您的文件并运行工具。
  4. 观察列表:您不会看到任何携带您文件或与其大小相符的请求。

还有一个更简单的方法:打开工具页面后断开网络,工具仍然可以继续使用。

报告安全漏洞

如果您发现Safha存在安全漏洞,请发邮件至[email protected]。我们按照RFC 9116在security.txt文件中公布了这个地址。请您:

  • **描述问题,**提供复现步骤以及受影响的页面或工具。
  • **不要访问、修改或删除他人的数据,**测试时也不要干扰服务。
  • 在公开任何细节之前,给我们合理的修复时间。

我们会阅读并回复每一份报告。我们目前不提供有偿的漏洞赏金,但感谢每一位帮助我们保护用户的人。关于隐私或账户的其他问题:[email protected]。

我们的承诺

互联网上没有任何保护是完美的。我们承诺的就是这里写下的内容:让您尽可能多的工作留在您的设备上,并在您的文件离开设备时,清楚地告诉您它去了哪里以及为什么。本页内容一旦有变,我们就会更新本页及其日期。