安全与信任

为你受托保管的数据而建。

你手里握着客户的护照、受益所有人记录和法定申报文件。把这些交给任何软件都是一个真实的决定,它配得上一个真实的回答,而不是一枚徽章。所以下面是我们实际做了什么,用大白话讲——包括一节「我们还没有的」。

数据托管于新加坡每份文件独立密钥封存审计日志不可篡改绝不用于训练 AI

一览

文件逐份密封每个文件在进入存储前都用自己的密钥加密。被盗的数据库只是一堆读不懂的字节。
密钥保管在数据库之外解开你数据的钥匙,不和数据放在一起。
数据驻留托管于新加坡(Vercel sin1)——本地区域,离 ACRA 近。
租户隔离三个独立层面,包括一个默认拒绝写入的数据库。
审计日志只增不改。日志永远不会被编辑或删除。
AI 训练你的数据绝不用于训练 AI 模型。没有例外。

你真正想问的是:「你们被黑了,我客户的护照会怎样?」

这是诚实的回答,用大白话说。CorpSec AI 里的每一份文档、每一张证件扫描件,在写入存储之前都先被装进它自己的独立信封上锁。每个文件有一把一次性的专属密钥;这把密钥再用一把只属于你事务所的密钥上锁;而事务所密钥由一把主密钥派生——主密钥根本不存在数据库里

所以,如果明天有攻击者把我们的整个数据库和整个文件存储都搬走,他手里拿到的是一堆乱码。不是护照,不是股东名册,没有一行读得出来的内容。他还需要主密钥——而它在完全不同的地方。

同一个信封还携带文件自身与所属事务所的指纹。把一个事务所的密封文件挪进另一个事务所的账户,它就是打不开。这里的加密不是托管商发票上的一个勾选项——是我们自己的代码在数据离手之前完成的

而且,一旦密钥不可用,系统会直接拒绝写入文件,绝不悄悄地明文保存。我们宁可大声失败,也不把你客户的护照裸着存进去。

我们自己动手做的加密

多数厂商说的加密是「托管商给磁盘加了密」。我们也有那一层——但真正要紧的,是我们在自己的代码里、在你的数据到达存储之前就完成的那一层。

  • 每个上传文件与生成文档在写入存储前,都被封进各自独立的信封。每个文件一把唯一的一次性密钥;这把密钥再用只属于你事务所的密钥上锁。
  • 事务所密钥由一把保管在数据库之外的主密钥派生——存放在托管平台的加密 secret 存储里。拿到数据库副本的人,手里没有打开它的钥匙。
  • 每个密封文件都绑定你的事务所与该文件自身的指纹。把一份密封文档从一个事务所挪到另一个事务所,它不会打开——是密码学本身在拒绝。
  • 人员记录上最敏感的字段——证件号、地址、邮箱——也以同样方式逐字段加密,而不只是加密它们所在的文件。
  • 密钥一旦不可用,系统直接拒绝写入文件,绝不悄悄地明文保存。大声失败,好过把护照裸存。
  • 在这之上:全部流量走 TLS,再加 Supabase 与 Vercel 的平台级磁盘加密。
  • 文档从不公开。访问一律经过 5 分钟内过期的签名链接

数据驻留

你的数据托管于新加坡——本地区域,离你的客户和 ACRA 都近。

  • 应用与 API 运行在 Vercel 新加坡区域(sin1)——数据在本区域内处理。
  • 数据库、认证与文件存储运行在 Supabase
  • 新加坡事务所服务新加坡客户,无需任何数据出境审批。

多租户隔离

每个事务所的数据由三个独立层面隔离——任何一层出 bug 都不会暴露其他租户。

  • 应用层的每条查询都显式限定在你的事务所csp_firm_id)。
  • 即使是特权 service-role 查询也带显式事务所过滤——从不单靠信任。
  • Supabase 行级安全(RLS)策略在数据库层执行同一边界。
  • 数据库默认拒绝来自登录客户端的写入。就算有人拿着有效登录直接调用数据库 API,也无法插入、更新或删除任何一行——每次变更都必须经过应用,而审批、KYC 与申报校验就在应用里。绕开应用不是捷径,是一扇关死的门。
  • 各层彼此独立:纵深防御,单个失误不会泄露数据。

不可篡改的审计日志

每个有意义的动作都记入一条只增不改、永不可篡改的日志。

  • 审计日志只允许 INSERT——系统从不更新或删除任何条目。
  • 文档生成、KYC/AML 筛查、审批与 ACRA 申报全部入日志。
  • 每条记录都写明谁、在何时、做了什么——给你一份站得住脚的合规凭证
  • 已申报文档带文件锚点(内容指纹),记录可以对应到实际递交的那份文件。

PII 脱敏

证件号码在界面里、以及任何数据到达 AI 之前,都是脱敏的。

  • NRIC 与护照号在应用内全程脱敏显示(例如 S••••567A)。
  • 完整证件号从不发送给 AI 模型——只发送脱敏后的形式。
  • 文档预览、字段与 AI 上下文中的脱敏规则一致。
  • 原始证件文件绝不发送给外部 AI。证件扫描件与图片只在我们自己的系统内处理;AI 收到的是本地提取并脱敏后的文本——从不是原始文件、图片或其数据。无法安全读取的扫描件走人工录入,绝不送外部视觉模型。

访问控制与角色

基于角色的访问控制,让对的人准备、复核与批准对的步骤。

  • 管理员(Admin)——管理事务所、用户与设置。
  • 复核人(Reviewer)——在申报前复核并批准草稿。
  • 制单人(Preparer)——起草文档、执行工作流。
  • 只读(Viewer)——供只需要可见性的相关方使用。
  • 审批与申报等敏感操作按角色设门槛。
  • 审批四眼原则:谁准备的文件,谁就不能批准它。这由系统自己校验——不是一条要靠人记住的制度。
  • 如果你的事务所只有一个人,四眼原则无从执行,此时唯一操作者可以批准自己的工作——审计日志会把它明确记为自我批准(self-approval),绝不伪装成第二人复核。加入第二位同事后,四眼原则自动恢复。

为真实检查准备,而不只是纸面合规

一个操作生成一份监管者无需听你口头保证、可自行验证的证据包。

  • 设置 → 检查包(Inspection Pack)会生成封面声明、每家公司的 CDD 档案、事务所级摘要与 SHA-256 完整性清单——第三方可以重新哈希文件,确认事后没有任何篡改。
  • 包的类型对应上门的是谁:ACRA CSP AML/CFTPDPC 个人数据保护,或一般尽调。
  • 凡是基于演示数据或不可用数据跑的筛查,证据包会用红字写明。看起来干净却隐瞒了 mock 筛查的记录是伪造;承认缺口的记录才经得起检查。我们选后者。
  • 证件号默认保持脱敏。生成非脱敏版本需要一次额外的明确确认,且这个动作本身也会写入审计日志

第二 AI 复核与人在回路

AI 草稿会经过第二个独立 AI 的复核——复核无法进行时我们直说,而不是暗示它发生过。任何申报前都有人签核。

  • 文档起草后,由独立的第二 AI 复核措辞、法条引据、日期与完整性。复核模型由我们的服务器选择,且永远是与起草模型不同的模型。证据可在右栏 → Browse → Independent AI review 查看。
  • 没有独立复核模型可用、复核期间文档发生变化、或复核记录无法保存时,结果显示为「复核不可用」——绝不显示为通过。在来源与全部结果行被完整落库之前,模型输出不算一次完成的复核。
  • 复核结果绑定它所读取的那个文档版本。文档一经编辑,先前的结果即不再算作当前结论;它们作为历史保留可见、明确标注,直到你重新运行检查。
  • 在引入版本绑定之前的历史结果——以及任何未记录所读版本的检查——只显示为历史记录,不算作对屏幕上这份文档的独立复核。
  • 合规规则是一道硬闸门——会违反规则的申报被直接拦下,不会被静默送出。
  • 没有任何自动申报:每一次递交都由人工复核确认并签核
  • AI 干活并展示它的推理;结果始终由你掌控。

你的数据绝不用于训练 AI 模型

我们不用你的事务所或客户数据训练、微调或改进任何 AI 模型——我们自己的和供应商的都不。

  • 发送给 AI 的数据只用于完成你发出的那一个请求
  • 你的数据绝不用于模型训练、微调或评估
  • 证件号在到达模型之前已脱敏,把传输内容压到最少。
  • 这适用于全部 AI 功能:起草、复核与 KYC/AML 分析。

备份与恢复

持久性来自基础设施提供商的托管备份。我们不会引用一个自己没测过的恢复承诺。

  • 数据库由 Supabase 的托管备份(我们当前套餐)覆盖。
  • 恢复依赖 Supabase 的平台级保证,而不是临时脚本。
  • 我们尚未执行并计时一次完整恢复演练,所以不公布 RTO/RPO 数字。签约前问我们,我们会告诉你当天所在的确切档位及其覆盖范围。
  • 与这一切无关地,你可以随时自行导出全部数据——见下。你自己手里的副本,是谁也拿不走的备份。

数据导出与可迁移性

你的数据是你的。你可以导出它,你的记录没有锁定。

  • 公司记录、高管信息与文档都可以从平台导出
  • 生成的文档是标准 .docx 文件,你可以独立保存。
  • 停用服务时,我们将按 DPA 与你的指示返还或删除你的数据。

分包商(Sub-processors)

CorpSec AI 依赖以下基础设施提供商,每一家都只用于特定且有限的用途。我们不出售数据;所有会处理你数据的提供商都列在这里。新增提供商时,先改这张表。

分包商用途区域
Vercel应用与 API 托管(计算、边缘)。新加坡(sin1)
SupabasePostgreSQL 数据库、认证与私有文件存储。新加坡 / 亚太
Anthropic (Claude)起草并独立复核文档的 AI 模型。不用你的数据做训练。API 调用;数据不留存用于训练
Resend事务性邮件发送(通知、提醒、线索邮件)。美国(全球邮件基础设施)

合规映射

CorpSec AI 的设计目标是帮助新加坡 CSP 履行法定义务。上述控制对应到公司秘书工作真正要面对的监管框架。

框架CorpSec AI 如何支持
PDPA(新加坡)PII 脱敏、目的受限的处理、本区域托管、基于角色的访问、导出与删除支持,以及覆盖数据主体权利的 DPA 模板。
CSP Act 2024不可篡改审计日志、KYC/AML 筛查工作流,以及对齐 CSP 记录保存义务(≥5 年)的留存策略。
Companies Act 1967(公司法)决议、申报与期限逻辑编码的是 ACRA 实际执行的法定要求。

认证与路线图

我们相信安全状况应该如实陈述。下面是今天已经到位的,和仍在计划中的。我们不声称任何未持有的认证。

已到位
应用层信封加密每文件独立密钥、每事务所密钥层级、主密钥保管在数据库之外,生产环境强制 fail-closed。
已到位
传输加密与平台级存储加密传输走 TLS;在我们自己的加密层之下还有 Supabase 与 Vercel 的磁盘加密。
已到位
数据库默认拒绝客户端写入有效登录也无法绕过应用的审批、KYC 与申报校验去直接操作数据库。
已到位
新加坡数据驻留托管于 Vercel sin1。
已到位
只增不改的审计日志产品全程 INSERT-only 审计日志。
尚未
SOC 2 Type II在路线图上;我们未持有,也不会暗示持有。
尚未
ISO/IEC 27001在路线图上;我们未持有,也不会暗示持有。
尚未
第三方渗透测试控制由我们自己的自动化测试覆盖,包括尝试绕过每个控制的测试。那不是第三方的意见。
尚未
经过实测的恢复演练(公布 RTO/RPO)备份在跑;计时的完整恢复演练尚未做过,所以我们不公布恢复承诺。

我们还没有的

一个只列优点的安全页是销售手册。这些是我们自己知道的差距。如果其中任何一条对你是一票否决,我们宁可你在这里发现,而不是三个月之后。

  • 我们没有 SOC 2 或 ISO 27001 认证。两者都在路线图上,我们不会暗示已经持有。如果你的采购流程今天就要求有效证书,那我们暂时还不合适——告诉我们,我们会照实说,而不是绕着卖。
  • 我们是一家年轻的小公司。这是真实的风险因子,你应该把它计入决策。我们的对冲是随时可用的全量数据导出(JSON、CSV,或包含每一份生成文档的 ZIP)——离开永远是你一个下午就能执行的决定。
  • 数据库备份是 Supabase 在我们当前套餐下提供的托管备份。我们不会引用一个自己没有端到端测过的恢复时间承诺。问我们,我们会告诉你当时所在的确切套餐档位。
  • 第三方渗透测试尚未进行。我们的安全控制由每次变更都运行的自动化测试套件覆盖——包括刻意尝试绕过每个控制的测试——但那是我们自己的测试,不是第三方的。

正在做安全尽调?

我们乐意向你的团队逐项讲解我们的控制、填写供应商问卷,或在你上线前签署数据处理协议(DPA)。

相关:隐私政策 · 服务条款 · 数据处理协议