隐私政策
本页内容
重点摘要: 用最简单的中文说明
- 更表扫描(最原始的功能)会将你选择的单一图像发送至 Claude(Anthropic)进行排班提取。图像会在 24 小时内从我们的服务器删除。我们绝不浏览或备份你的相册。
- 你的私讯及群组聊天均采用端到端加密。我们无法阅读其内容。加密密钥只存于你的手机上,不会储存于我们的服务器。
- 社群动态墙上的帖子并不会加密。群组内的每位成员都可看见。我们会在帖子发布前自动扫描以防止滥用。
- 你掌控你的数据。你可随时于 App 内删除消息、屏蔽用户、离开群组或完全删除帐户。
- 我们只收集 Rostr 运作所必需的最低限度数据,你的登入信息、你的更表、你选择分享的朋友。仅此而已。我们绝不会出售你的数据。
我们收集什么: 以及原因
| 数据 | 为何收集 | 储存位置 |
|---|---|---|
| 电子邮件 + Apple ID / Google ID | 仅用于登入 | Supabase Auth(TLS + 静态 AES-256 加密) |
| 显示名称、头像、用户名 | 显示给你的朋友及群组成员 | Supabase 数据库(TLS + 静态 AES-256 加密) |
| 更表项目(班次、日期、类型) | 核心功能 | Supabase 数据库 |
| 更表扫描图像(拍摄或从相册选取) | 透过 Claude(Anthropic)进行 OCR,图像于 24 小时内删除 | Supabase Storage(暂存)→ Anthropic |
| 更表群组 + 社群群组成员资格 | 了解你与谁分享数据 | Supabase 数据库 |
| 推送通知 Token(APNs / FCM) | 传送通知 | Supabase 数据库;绝不分享给广告商 |
| 社群动态墙帖子(文字 + 图像) | 群组成员可见 | Supabase 数据库 + Storage;会被扫描检测滥用 |
| 私讯内容 | 端到端加密(E2EE),我们无法读取 | Supabase 数据库(仅密文) |
| 群组聊天内容 | 端到端加密(E2EE) | Supabase 数据库(仅密文) |
| 滥用内容举报 | 于 24 小时内依平台滥用政策处理 | Supabase 数据库 |
| 崩溃 + 性能数据(匿名) | 用于发现程式错误 | Firebase Crashlytics |
| 广告识别码(iOS 上的 IDFA / Android 上的 AAID,仅当你选择加入时) | 透过 Google AdMob 投放广告 | |
| 大致位置(仅国家/地区代码,可选) | 用于「发现」推荐你附近的社群。我们只在你的设备上推算出国家/地区代码;精确坐标绝不会储存或上传。拒绝授权「发现」仍可使用(改用你设备的地区设置)。 | Supabase DB(仅国家/地区代码) |
端到端加密(E2EE),实际意义
私讯及群组聊天采用 Signal 协议系列,并以平台原生加密技术实现(iOS 上的 Apple CryptoKit、Android 上的 Google Tink + AndroidX Security)。传输格式在两个平台上保持位元级相容。
- 每部设备首次启动时会生成一对 Curve25519 身份密钥。私钥绝不离开设备,它储存于 iOS Keychain(
AfterFirstUnlockThisDeviceOnly)或 Android Keystore(如有可用则使用 StrongBox)。 - 私讯内容使用 ChaCha20-Poly1305 加密,密钥透过 Diffie-Hellman 交换按对话衍生。
- 群组聊天使用 Sender Keys:每位成员的外发消息以自己的 sender key 加密,并透过配对 DM 通道一次性分发。当有人离开群组时,sender key 会轮换。
- 私讯 / 群组聊天中的图像、语音消息及档案同样在离开手机之前已加密。我们在 Supabase Storage 中只储存密文档案;每个档案的密钥加密于消息内,只有接收者才能解密。
- E2EE 聊天的推送通知不含消息预览,只显示「新消息」字样。
更表扫描(OCR): 最原始的功能
Rostr 的核心功能是从更表图像自动提取排班资讯。以下为流程的确切运作方式:
- 由你主动启动。点击新增更表 → 扫描截图。首次使用时,iOS 或 Android 会显示系统权限提示,要求访问相机或相册。
- 一次处理一张图像。你可即时拍摄新照片,或选取一张现有截图。本应用程序不会浏览你的相册,iOS Photos Picker / Android Photo Picker 只会将你实际选取的档案交给我们。
- 压缩并上传。图像会缩减尺寸(最宽 1024 像素)并透过 HTTPS 发送至我们的 Supabase Edge Function。
- 由 Claude(Anthropic)读取。Edge Function 会将图像转发至 Anthropic 的 Claude 具视觉能力模型进行 OCR。此过程受 Anthropic 商业 API 条款约束:API 输入不会用于模型训练、最多保留 30 天用于信任与安全用途,之后删除。
- 提取排班,删除图像。结构化的排班数据(日期、班次时间、类型)会储存至你的帐户。原始图像会在 24 小时内从我们的 Supabase Storage 删除。
我们会扫描什么(及原因)
App Store 与 Play Store 政策要求我们在广播性质的界面上过滤用户生成内容。我们在以下三处执行:
| 界面 | 扫描内容 | 方式 |
|---|---|---|
| 社群动态墙帖子(文字) | 文字内容 | OpenAI Moderation |
| 社群动态墙帖子(图像) | 图像内容 | OpenAI gpt-4o-mini Vision |
| 更表群组聊天(旧版明文) | 文字 + 图像 | 同上 |
| 私讯内容 | 不扫描,E2EE | 我们无法读取 |
| 群组聊天内容 | 不扫描,E2EE | 我们无法读取 |
如果帖子或图像被自动审核标记,将立即对其他用户隐藏。作者仍保有自己的副本,并可看到下架原因。
我们也依靠你。若你在私讯或群组聊天中遇到滥用内容,请点击举报。举报会解密「该则消息」一次,并将明文上传至我们的管理员审核队列(24 小时 SLA)。举报是 E2EE 消息内容唯一以可读形式离开你设备的途径。
AI 次处理者(Anthropic + OpenAI)
我们使用两个独立的 AI 供应商,每个都范限于不同的功能。两者不会重叠访问数据。
Anthropic: 仅用于更表 OCR
你选取扫描的图像会发送至 Anthropic, PBC,受其商业 API 条款规范:
- 他们不会使用我们的 API 请求训练 Claude
- 输入数据最多保留 30 天用于信任与安全,之后删除
- 我们不使用 Claude.ai(消费者产品,政策不同)
我们发送给 Anthropic 的数据:
- 更表扫描图像,用于 OCR(Claude 具视觉能力模型),图像于 24 小时内从我们的服务器删除
OpenAI: 仅用于社群动态墙审核
为了社群动态墙的内容审核,我们会将某些内容发送至 OpenAI, Inc.,受其企业 / API 数据政策规范:
- 他们不会使用我们的 API 请求训练模型
- 输入数据最多保留 30 天用于滥用监控,之后删除
- 我们不使用 ChatGPT(政策不同)
我们发送给 OpenAI 的数据:
- 社群动态墙帖子文字(Moderation API),仇恨言论及滥用检测
- 社群动态墙图像链接(Vision, gpt-4o-mini),滥用图像检测
我们绝不会发送给 Anthropic 或 OpenAI 的数据:
- 私讯内容
- 私讯图像 / 语音 / 档案内容
- 群组聊天内容
- 你的帐户凭证、支付资讯或设备识别码
其他次处理者
| 供应商 | 用途 | 地区 |
|---|---|---|
| Supabase(Postgres + Storage + Auth + Realtime) | 主机、数据库、档案储存、认证、WebSocket | 欧盟(eu-central) |
| Firebase Cloud Messaging(Google) | 推送通知(Android + iOS) | 美国 |
| Anthropic, PBC | 更表 OCR(Claude Vision) | 美国 |
| OpenAI | 社群动态墙文字 + 图像审核 | 美国 |
| Apple Push Notification Service | iOS 推送传递 | 美国 |
| Google AdMob | 广告投放(仅当你允许追踪时) | 美国 |
我们已与 Supabase、Google、OpenAI、Anthropic 及 Apple 签署数据处理协议(或具备同等商业条款)。这些供应商均不会出售你的数据。
数据保留
| 数据 | 保留期限 |
|---|---|
| 帐户、更表、群组成员资格 | 于帐户存在期间 |
| 更表扫描图像(OCR 上传后) | 24 小时,之后从我们的 Supabase Storage 删除 |
| 语音消息(音讯位元组,E2EE 聊天中为密文) | 180 天,之后清空 |
| 社群动态墙帖子 | 于群组存在期间;你可随时删除 |
| 私讯 / 群组聊天(密文) | 于双方保留对话期间 |
| 举报 + 管理员笔记 | 1 年(法规要求) |
| 崩溃记录 | 90 天 |
| 推送 Token | 直至你登出 / 停用通知 |
| 软删除的帐户 | 30 天宽限期可还原,之后永久删除 |
你可从个人档案 → 删除帐户删除帐户。你的记录会被软删除(30 天内可恢复),之后将永久删除,连同你发布的所有消息。其他人与你的聊天则会保留(属于他们的内容,他们的副本)。
你的权利
你有权:
- 查阅我们持有关于你的数据(电邮至 info@arami.tech)
- 更正任何错误数据
- 导出你的数据(我们会在 30 天内提供 JSON 导出档)
- 删除你的帐户(于 App 内即时处理)
- 反对广告个性化(iOS 设定 → 隐私 → 追踪,或 Android 设定 → Google → 广告)
- 向你所在地的数据保护机构投诉
欧盟 / 英国居民(GDPR)
你在 GDPR 下的法律依据为:
- 合约用于核心服务(登入、更表、聊天)
- 合法利益用于审核、防止滥用及崩溃记录
- 同意用于广告个性化(你可随时撤回)
加州居民(CCPA / CPRA)
根据加州法律定义,我们不会出售或分享你的个人资讯用于跨平台行为广告。你可透过 info@arami.tech 要求得知、删除或更正你的数据。
儿童
Rostr 评级为 17+。我们不会故意收集 13 岁(美国:COPPA)或 16 岁(欧盟:GDPR)以下儿童的数据。若你认为有儿童建立了帐户,请电邮至 info@arami.tech,我们将删除该帐户。
本政策的变更
每当有变更时,我们会更新顶部的「最后更新」日期。重大变更(新增供应商、新增数据类别)会在你下次开启 App 时透过 App 内横幅通知你。
致 App Store / Play Store 审核人员
如果你是 Apple App 审核人员或 Google Play 审核人员正在阅读此文件,以下是相关的合规摘要:
- OCR 流程:相机拍摄 / 相册选取 → 图像缩减至 1024 像素 → HTTPS 传送至 Supabase Edge Function(
ocr-roster-claude)→ Anthropic Claude 具视觉能力模型 → 返回结构化排班数据 → 原始图像于 24 小时内从 Supabase Storage 删除。iOS 使用 Photos Picker;Android 使用ActivityResultContracts.PickVisualMedia。两者均不需要READ_MEDIA_IMAGES权限;该 picker 为跨程序执行。 - UGC 审核:社群动态墙上的文字 + 图像会在发布前透过 OpenAI Moderation + gpt-4o-mini Vision 扫描。私讯及群组聊天(包括语音)采用 E2EE;用户举报为安全网(24 小时 SLA)。
- 举报流程:长按任何消息 → 举报 → 加入
reports表格;管理员于 24 小时内透过仪表板审核。 - 屏蔽 / 移除:所有界面均提供即时 App 内操作。
- 加密出口合规(iOS):Apple CryptoKit(X25519 + ChaCha20-Poly1305 + HKDF)用于私讯及群组聊天的端到端加密。已声明为
ITSAppUsesNonExemptEncryption = YES;归类为 ECCN 5D992.c,适用 License Exception ENC §740.17(b)(1)(大众市场、仅标准演算法)。本次提交已完成 App Store Connect 的 App 加密问卷,无需上传文件。 - 加密出口合规(Android):Google Tink + AndroidX Security(X25519 + ChaCha20-Poly1305 + HKDF)。仅使用标准大众市场加密;同样归类为 ECCN 5D992.c。
- 帐户删除:个人档案 → 删除帐户,软删除 + 30 天宽限期,之后永久删除并级联。