私隱政策
本頁內容
重點摘要: 用最簡單的中文說明
- 更表掃描(最原始的功能)會將你選擇的單一圖像發送至 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 天寬限期,之後永久刪除並級聯。