安全
Jamdesk 的安全实践:加密、访问控制、构建隔离、GDPR 合规与负责任披露。
Jamdesk 如何保护您的文档和账户数据。
基础设施安全
托管
Jamdesk 在符合 SOC 2 要求的云服务商上运行。构建、应用数据和编译后的文档分别存储在这些服务商提供的托管加固服务中,流量则通过内置 DDoS 防护的全球 CDN 提供。
加密
| 数据状态 | 防护措施 |
|---|---|
| 传输中 | 您、我们的边缘节点与源站之间使用 TLS 1.3 |
| 静态存储 | 我们持久化存储的所有数据均使用 AES-256 加密,包括数据库记录、对象存储和日志 |
| 备份 | 使用相同的密钥加密,并复制到多个区域 |
访问控制
登录
您可以使用电子邮件和密码登录仪表板,也可以通过 Google 或 GitHub 使用单点登录。密码从不以明文存储;我们的身份验证服务提供商只保留单向哈希值。
如果您使用 Google 或 GitHub 登录,该账户配置的任何 MFA(TOTP、安全密钥、通行密钥)同样适用于您的 Jamdesk 登录。为获得最强保护,我们建议在您的 Google 或 GitHub 账户上启用 MFA 并使用 SSO。
团队访问
基于角色的访问控制(Owner、Admin、Member)同时通过数据库安全规则和每次后端调用强制执行。会话会在一段时间无活动后自动过期,账单、成员、自定义域或 API 密钥的变更都会写入每个项目的审计日志。
GitHub 集成
Jamdesk 通过 GitHub App 连接您的存储库,仅请求完成所需操作的最低权限:
- 只读访问存储库内容
- 用于触发构建的 Webhook 投递
- 无权写入您的代码
我们绝不会向您的存储库推送内容、创建分支或进行修改。您可以随时从 GitHub 的 Applications settings 撤销 Jamdesk 的访问权限。
令牌和密钥
您交由我们保管的每个密钥都会进行静态加密,包括:
- GitHub App 连接信息,我们只保存您的数字安装 ID。短期安装令牌(有效期为一小时)按需生成,绝不持久化。
- 在 starter-repo 流程中使用的 GitHub OAuth 令牌。该令牌只交换一次,用于克隆模板后即丢弃。
- 第三方集成凭据,例如 Slack 入站 Webhook URL、自定义域验证令牌和分析 API 密钥。
保存后,仪表板不会再将这些值返回给浏览器;只有服务端构建流水线可以读取它们。
程序化 API 密钥以单向哈希形式存储。创建时仅向您显示一次明文。如果您丢失密钥,请轮换该密钥。
数据处理
我们存储的内容
- 您的
docs.json配置以及上传的品牌资源 - 编译后的文档(HTML、CSS、JS)
- 构建日志,保留 30 天
- 匿名化的分析事件(页面浏览量、国家/地区、设备系列)
- 您配置的任何第三方集成的加密密钥
我们不存储的内容
- 您的源代码。我们在构建时克隆存储库,并在构建容器销毁时丢弃工作树。
- 长期有效的 GitHub 凭据。请参阅上面的 令牌和密钥。
- 任何可逆形式的用户密码。
- 支付卡号。Stripe 处理所有卡片数据;我们只保留客户 ID 和订阅元数据。
内部访问
生产数据的访问权限仅限于少数需要运营服务或响应支持请求的员工。所有访问都会记录。
构建隔离
每次文档构建都在专用容器中运行:
- 无法访问其他客户的数据
- 每次构建都使用全新环境,密钥仅在执行时注入
- 构建完成或失败后,容器都会销毁
合规
GDPR
Jamdesk 符合 GDPR 要求:
- 可根据请求从
privacy@jamdesk.com获取数据处理协议 - jamdesk.com/subprocessors 提供公开的子处理者列表
- 在 30 天内履行删除权请求
- 支持通过导出实现数据可携带性
隐私
我们的内置分析功能:
- 不使用 Cookie
- 不追踪个人
- 遵守 Do Not Track 标头
详情请参阅我们的隐私政策。
事件响应
如果安全事件影响您的账户或数据,我们会采取以下三项措施:
- 调查并遏制问题。
- 根据 GDPR 义务,在 72 小时内通知受影响的客户。
- 确认原因后提供书面事件后报告。
报告漏洞
发现安全问题?请负责任地报告:
- 发送电子邮件至
security@jamdesk.com - 包含问题描述、复现步骤和影响评估
- 我们会在 48 小时内确认收到报告
我们目前未运行付费漏洞赏金计划,但很乐意为诚信报告问题的研究人员署名致谢。
