安全模型
端到端加密
- 配对时交换设备密钥(X25519 + P-256),会话密钥由双方密钥派生。
- 消息使用 AES-GCM 加密,relay 只有密文,无法解密。
- 手机端密钥保存在浏览器本地(原生 App 将使用 Keychain/Keystore)。
零知识中继
relay 不持久化会话内容,只保留必要的元数据(账号、设备、在线状态)。数据库里没有消息明文。
设备与撤销
- 一个账号可以配对多个设备,每台设备独立撤销。
riffpad kill一键熔断:停止所有会话并撤销全部设备。- 撤销当前设备后,客户端会自动回到配对流程。
账号
- 目前支持 GitHub OAuth(也保留用户名/密码登录)。
- 登录 token 30 天有效,登出即撤销。