草稿:本政策尚未生效。
ttfriday 隱私權政策
本政策說明 ttfriday(以下稱「本 App」)在您使用時會處理哪些資料、為什麼、交給誰、放在哪裡、保留多久,以及您可以怎麼行使權利。本政策描述的是本 App 目前這個版本實際的行為;行為改變時,我們會先更新本政策。
本政策不構成法律意見。
1. 我們是誰
本 App 由個人開發者 WEI KAI LIAO 開發與營運(以下稱「我們」),是本政策所稱資料的蒐集者與管理者。
聯絡方式:support@ttfriday.com(我們只透過電子郵件受理聯絡,不提供電話或通訊地址)
2. 我們處理哪些資料
不登入也能使用本 App:看示範行程、自己建立只存在手機上的行程、記帳,都不需要帳號。只有當您想邀請旅伴、加入別人的行程,或讓行程在多支手機之間同步時,才需要登入。我們不會要求您提供電話、地址或位置。目前這個版本會接觸到的資料如下:
您登入時(使用 Apple 或 Google 帳號)
- 帳號識別碼:Apple 或 Google 給本 App 的一組帳號代碼(不是您的 Apple ID 或 Gmail 密碼),以及我們自己為您產生的帳號編號。
- 名稱:登入時 Apple 或 Google 提供的名稱;Apple 只在第一次登入時提供,您也可以不提供。名稱之後可以在 App 裡修改。
- 電子郵件地址:登入時 Apple 或 Google 提供的地址,以及該地址是否經過驗證。如果您在「以 Apple 登入」時選擇「隱藏我的電子郵件」,我們收到的會是 Apple 產生的轉寄地址,不是您真正的信箱。
- 我們不會取得或保存您的密碼、大頭貼照片,也不保存 Apple 或 Google 發給本 App 的登入憑證(token)。App 裡的頭像一律以名稱的縮寫顯示。
- 登入狀態:為了讓您不必一直重新登入,我們會發一組自己的登入憑證,存在您手機的系統安全儲存區(iPhone 的鑰匙圈、Android 的 Keystore);我們的伺服器只存這組憑證的雜湊值。
您登入後,會存到我們伺服器上的內容
- 您當團主的行程:行程的全部內容,包括景點、時間、支出、公告,以及您為旅伴輸入的名稱。只有團主能修改行程;您改了之後,App 會把整趟行程上傳,讓您的其他手機與團員看到最新版本。若兩支手機同時修改,我們會保留最近 3 份衝突版本,讓您找回被蓋掉的內容。
- 成員關係:誰是哪一趟行程的團主或團員、什麼時候加入。
- 邀請連結:我們只存連結代碼的雜湊值與到期時間,連結 30 天後失效。
- 建議:團員對行程項目提出的修改建議(欄位、原值與新值、理由),以及團主採用或婉拒的結果。
- 團員記帳:團員在共享行程裡自己新增的支出。
- 檢舉、封鎖與停權紀錄:您檢舉了哪一則內容或哪一位使用者、您封鎖了誰;以及我們處理濫用時所做的停權紀錄。
留在您手機上的資料
- 您輸入的行程與記帳內容:行程、景點、支出、成員名稱等,存在手機的 App 儲存空間,關閉 App 後仍會保留。沒有登入時,這些內容只存在您的手機上,不會傳到我們的伺服器。
- 匯率與天氣的暫存:最近一次取得的匯率與天氣預報,存在手機的 App 儲存空間,用來在離線時顯示上一次的數字。
- 安裝識別碼:第一次使用「AI 行程建議」時,App 會在手機上產生一組隨機碼(不含任何個人資訊,也不是手機的硬體識別碼),之後每次使用該功能時一起送出,只用來計算每日使用次數。
- 收據照片:使用「拍收據」時,照片的文字辨識在您的手機上完成,照片本身不會被上傳。iPhone 版使用 Apple 系統內建的文字辨識(Vision),辨識過程不會傳送任何資料;Android 版使用 Google 的 ML Kit,辨識模型已內建在 App 裡、照片同樣不離開手機,但該元件會另外傳送診斷資訊給 Google(見第 5 節)。
會離開您手機的資料
- 查天氣時:您選擇的城市代碼。
- 使用 AI 行程建議時:您輸入的需求文字(最多 600 字)、介面語言,以及上面那組安裝識別碼。
- 查匯率時:一個不帶任何參數的匯率請求,送到我們的伺服器(要查哪些幣別由伺服器決定,不含任何關於您的資料)。
- 在 Android 版使用「拍收據」時:上述 ML Kit 元件的診斷資訊與安裝層級識別碼(不含照片與辨識出的文字)。
- 登入與同步時(只有登入後):登入時 Apple 或 Google 交給本 App 的身分證明(我們用它確認是您,驗完就丟);之後是上面列的行程、建議、團員記帳、成員、邀請、檢舉與封鎖內容。
- 在 iPhone 上刪除以 Apple 登入的帳號時:Apple 交給本 App 的一次性授權碼,我們用它請 Apple 撤銷本 App 的授權(見第 9 節)。
- App 當機或發生錯誤時:當機報告(哪一段程式出錯、錯誤訊息、App 版本)、裝置資訊(製造商、型號、系統版本、記憶體大小、時區等)與一組崩潰回報元件自己產生的隨機安裝碼,送到 Sentry(見第 5 節)。不含您的名稱、電子郵件、帳號識別碼、IP 位址、行程或記帳內容、照片。
- 任何連線都會帶出的資訊:您的網路 IP 位址,以及連線所需的一般技術資訊(例如請求時間)。
- 您寫信給我們時:您的電子郵件地址與信件內容。
我們不會蒐集:精確或概略位置、通訊錄、相片圖庫、大頭貼、健康資料、付款資料、廣告識別碼、密碼。本 App 沒有廣告、沒有跨 App 追蹤;除了 Android 版文字辨識元件會傳給 Google 的診斷資訊(見第 5 節)之外,沒有第三方分析工具(Sentry 只收當機與錯誤報告,用來修正程式,不做使用行為分析),也不販售任何資料。
3. 我們怎麼取得這些資料
- 您在 App 裡輸入或點選的內容。
- 您登入時,Apple 或 Google 依您的同意提供給本 App 的帳號識別碼、名稱與電子郵件地址。
- 和您在同一趟行程裡的其他使用者:團主輸入的行程內容、團員提出的建議與記帳,以及他們邀請您加入的紀錄。
- 您使用天氣、AI 行程建議、匯率功能時,App 自動發出的網路請求。
- 您主動寄給我們的電子郵件。
除了上面這些,我們不會從其他來源取得或購買關於您的資料。
4. 為什麼處理這些資料
| 資料 | 目的 |
|---|---|
| 城市代碼 | 回傳該城市的天氣預報 |
| AI 需求文字、介面語言 | 產生行程建議並回傳給您 |
| 安裝識別碼、IP 位址 | 限制每日使用次數、防止濫用與攻擊,維持服務可用 |
| 匯率請求(不帶參數) | 回傳最新匯率 |
| 請求時間、處理結果、耗時等技術紀錄 | 排除故障、確認服務正常 |
| 當機報告、裝置資訊、崩潰回報安裝碼 | 找出並修正造成當機與錯誤的程式問題 |
| 帳號識別碼、電子郵件地址 | 讓您登入、在不同手機上認得同一個帳號,以及在您透過網頁或來信要求刪除帳號時確認是您本人。我們不會寄行銷信 |
| 名稱 | 在您加入的行程裡讓團主與其他團員認得您 |
| 登入憑證的雜湊值 | 維持登入狀態、偵測憑證被盜用 |
| 行程、建議、團員記帳、成員關係、邀請 | 同步您的行程,並讓同一趟行程的成員一起規劃與記帳 |
| 檢舉、封鎖、停權紀錄 | 處理濫用與不當內容,保護其他使用者 |
| 寄給客服的電子郵件地址與信件內容 | 回覆您的問題 |
我們不會把這些資料用在上述目的以外的用途。
如果您不想提供上述資料:不使用天氣、AI 行程建議或匯率功能,就不會送出對應的資料;App 的其他功能(行程、記帳等)仍可使用,天氣與匯率會改為顯示內建或上一次取得的數字。不登入,就不會有帳號資料,行程也不會上傳;代價是不能邀請旅伴、加入別人的行程或在多支手機間同步。
5. 我們把資料交給誰
以下每一家都只收到完成該功能所需的資料:
| 對象 | 為了什麼 | 收到什麼 |
|---|---|---|
| Amazon Web Services(AWS) | 代管我們的伺服器、帳號與行程資料庫、每日備份(Amazon S3)、內容傳遞網路(CloudFront)、防火牆、金鑰保管 | 經過我們伺服器的所有請求內容與您的 IP 位址;第 2 節列出的帳號與行程資料(含備份) |
| Sentry(Functional Software, Inc.) | 接收當機與錯誤報告 | 當機報告、裝置資訊、崩潰回報元件產生的隨機安裝碼;不含您的名稱、電子郵件、帳號識別碼、IP 位址、行程或記帳內容 |
| Apple(只限以 Apple 登入) | 「以 Apple 登入」的身分驗證;刪除帳號時撤銷本 App 的授權 | 登入時您直接與 Apple 互動;我們的伺服器只向 Apple 下載公開的驗證金鑰(不含您的資料),刪除帳號時把撤銷所需的授權資料送給 Apple |
| Google(只限以 Google 登入) | 「以 Google 登入」的身分驗證 | 登入時您直接與 Google 互動;我們的伺服器只向 Google 下載公開的驗證金鑰,不會把您的資料送給 Google |
| Amazon Bedrock(AWS 的 AI 服務),使用 Anthropic 開發的 Claude 模型 | 產生 AI 行程建議 | 您的 AI 需求文字與介面語言。不含您的 IP 位址與安裝識別碼 |
| OpenWeather | 提供天氣預報 | 由我們的伺服器查詢,只送出城市的座標;不含任何關於您的資料 |
| Frankfurter(開放的匯率服務) | 提供匯率 | 由我們的伺服器代為查詢,只送出要查的幣別;您的手機不會直接連線 Frankfurter,因此它收不到您的 IP 位址或任何關於您的資料 |
| Cloudflare | 管理 ttfriday.com 網域,並把寄到 support@ttfriday.com 的信轉寄給我們 | 您寄來的信件(含寄件地址與內容) |
| 我們用來收信與回信的電子郵件服務 | 收存並回覆客服信件 | 您寄來的信件與我們的回信 |
| Google(只限 Android 版;該元件隨 App 一起安裝,App 執行時可能傳送,不限於您使用「拍收據」的時候) | 手機上的文字辨識元件 | 照片不會送出;該元件會傳送裝置資訊(製造商、型號、系統版本)、App 資訊(套件名稱與版本)、效能數據等診斷資訊,以及一組僅供診斷的安裝層級識別碼(每次安裝產生一組,不是用來識別您本人或您的手機),經加密連線傳給 Google,用於診斷與使用情形分析 |
關於 AI 行程建議:依 AWS 公開的說明,Amazon Bedrock 預設不儲存模型的輸入與輸出,模型開發者(Anthropic)無法存取這些內容。我們也已關閉 AI 請求內容的紀錄功能。請不要在 AI 需求文字中填入身分證號、電話等個人資料。
依 Frankfurter 公開的說明,該服務不記錄個人資料、IP 位址或請求網址;依 OpenWeather 公開的說明,該服務不儲存 API 請求的參數與 IP 位址。
我們要求或選擇的服務提供者,都必須提供與本政策相同或相當的資料保護。除依法律要求外,我們不會把資料提供給其他人。
6. 資料放在哪裡
資料主要存放於美國;內容傳遞網路的節點分布於全球。
具體來說:我們的伺服器、帳號與行程資料庫及其備份位於 AWS 美國東部(維吉尼亞北部);AI 行程建議會在 AWS 美國境內的資料中心處理;內容傳遞網路會在離您最近的節點接收請求;當機報告存放於 Sentry 在美國的資料中心。Frankfurter、OpenWeather、Cloudflare 及電子郵件服務商依其各自的服務架構處理資料,可能位於您所在國家或地區以外。
7. 除了您以外,誰讀得到這些資料
我們直接說明:
- 和您在同一趟行程裡的人(只限您登入並建立或加入共享行程時):見下表。不在那趟行程裡的人,讀不到該行程的任何內容,也查不到它存不存在。
- 留在您手機上的資料:可以接觸您手機的人,以及手機作業系統本身。本 App 已關閉 Android 的自動雲端備份;iPhone 的 iCloud 或電腦備份可能包含本 App 的資料,那份備份由您的 Apple 帳號控管。
- 存在我們伺服器上的資料(見第 8 節):
① 擁有我們雲端帳號管理權限的人;
② 這個雲端帳號所屬組織的管理者;
③ 任何被授權還原伺服器資料或備份的人。目前這三類人都是開發者本人,但這是權限上的事實,不是技術上的限制。 - 服務提供者:第 5 節列出的各家公司,依其各自的政策與我們的設定,能在處理過程中接觸到所收到的資料。
- 您寄給我們的信:開發者本人,以及轉寄與收信的服務商。
共享行程裡,誰看得到什麼
| 內容 | 團主 | 同一趟的團員 | 其他人 |
|---|---|---|---|
| 行程本體(景點、時間、團主記的支出、公告) | 看得到、可修改 | 看得到、不能修改 | 看不到 |
| 成員名單(名稱、縮寫頭像、團主或團員) | 看得到 | 看得到 | 看不到 |
| 您的電子郵件地址、帳號識別碼 | 看不到 | 看不到 | 看不到 |
| 團員提出的建議 | 看得到全部 | 看得到自己提的與處理結果 | 看不到 |
| 團員自己記的支出 | 看得到、可修改或刪除 | 看得到;只能修改或刪除自己記的 | 看不到 |
| 誰檢舉了誰、誰封鎖了誰 | 看不到 | 看不到 | 看不到 |
- 拿到邀請連結並登入的人,在按下「加入」前會看到行程名稱、團主名稱與目前人數;按下加入後就成為團員。請只把邀請連結傳給您信任的人;團主隨時可以產生新連結讓舊連結失效,也可以把團員移出行程。
- 團員被移出或自己退出後,就讀不到該行程,手機上的那份副本也會在下次同步時移除。但在那之前他已經看過或自行截圖、抄寫的內容,我們沒有辦法收回。
8. 保留多久
| 資料 | 放在哪 | 保留多久 |
|---|---|---|
| 行程與記帳內容 | 您的手機 | 直到您在 App 裡刪除、清除 App 資料或解除安裝 |
| 登入憑證 | 您手機的鑰匙圈/Keystore | 直到您登出、刪除帳號或解除安裝 |
| 帳號識別碼、名稱、電子郵件地址 | 我們的伺服器 | 直到您刪除帳號 |
| 您當團主的行程、成員關係、建議、團員記帳 | 我們的伺服器 | 直到團主刪除該行程或刪除帳號(見第 9 節);衝突版本每趟只留最近 3 份 |
| 邀請連結代碼的雜湊值 | 我們的伺服器 | 連結 30 天後失效;行程或帳號刪除時一併刪除 |
| 登入憑證的雜湊值 | 我們的伺服器 | 60 天沒有使用就失效;登出或刪除帳號時立即作廢 |
| 檢舉、封鎖、停權紀錄 | 我們的伺服器 | 直到相關帳號刪除 |
| 上面所有伺服器資料的每日備份 | Amazon S3(美國東部,加密儲存) | 每份備份保留 30 天後自動刪除 |
| 匯率與天氣暫存、安裝識別碼 | 您的手機 | 直到您清除 App 資料或解除安裝 |
| 安裝識別碼與 IP 位址的雜湊值(以每日更換的密鑰計算,無法還原成原值) | 我們的伺服器 | 48 小時後刪除 |
| 天氣預報快取(不含個人資料) | 我們的伺服器 | 48 小時後刪除 |
| 技術紀錄(時間、請求編號、功能、結果、耗時;不含 IP、AI 內容、安裝識別碼、帳號識別碼、邀請連結代碼) | 我們的伺服器 | 最多 14 天 |
| AI 需求文字與產生的建議 | 我們的伺服器只轉送、不儲存 | 處理完即丟棄 |
| 客服信件 | 電子郵件服務 | 處理完畢後 30 天內刪除 |
| 當機報告 | Sentry(美國) | 最多 90 天後自動刪除 |
我們的伺服器不保存您的原始 IP 位址。防火牆與內容傳遞網路會即時使用 IP 位址來阻擋異常流量。
備份的用途是在伺服器故障時還原資料,最多可能遺失最近 24 小時的變更。您刪除的資料會立即從伺服器上的資料庫移除,但已經做好的備份裡仍有副本,要等那些備份在 30 天保留期滿後自動刪除才會完全消失(雲端儲存的自動刪除通常在期滿後一到兩天內執行)。在那之前,我們不會為了其他目的使用備份;若必須從備份還原,我們會在還原後再次刪除您已要求刪除的資料。
9. 您的權利
您可以向我們請求:查詢或閱覽、取得複本、補充或更正、停止蒐集處理或利用、刪除您的資料。
- 查詢與更正:登入後可以在 App 裡修改您的名稱;您當團主的行程內容可以隨時修改或刪除。其他請求請來信。
- 留在手機上的資料:解除安裝 App,或在手機的系統設定中清除本 App 的資料,就會一併刪除。只登出不會刪除手機上的行程。
- 伺服器上的雜湊值與技術紀錄:會在第 8 節的期限內自動刪除。這些紀錄不含帳號識別碼,也不保存原始識別碼,通常無法從中辨認出哪一筆屬於您;若您仍有疑問,請來信,我們會說明能做到的範圍。
- 客服信件:來信要求即可刪除。
刪除帳號
- 在 App 裡:「設定」→「刪除帳號」→ 確認。不需要寄信或打電話。以 Apple 登入的帳號,iPhone 會再請您用 Apple 帳號確認一次,我們藉此請 Apple 撤銷本 App 的授權;若撤銷沒有成功,我們這邊的資料仍會照常刪除,您也可以在 iPhone 的「設定」→ 您的名稱 →「以 Apple 登入」自行停止本 App 使用您的 Apple ID。以 Google 登入的帳號,可在 Google 帳號的「第三方應用程式和服務」移除本 App。
- 不開 App 也可以:前往 https://ttfriday.com/delete-account,照頁面說明寄信給我們。
- 會刪除什麼:您的帳號識別碼、名稱、電子郵件地址、登入憑證;您當團主的所有行程(這些行程的團員也會一起看不到,刪除前 App 會告訴您有幾趟);您在別人行程裡的成員身分、您提出的建議、您記的支出,以及您提出的檢舉與封鎖紀錄。
- 不會刪除什麼:團主自己輸入在行程裡的內容(例如團主替旅伴打的名字或記的支出)屬於那位團主的行程,不會因為您刪除帳號而改變;您手機上的資料要靠解除安裝或清除 App 資料刪除。
- 多久完成:App 內刪除立即生效,之後用舊的登入狀態都無法存取;備份裡的副本在 30 天內隨備份過期刪除(見第 8 節)。透過網頁或來信要求的,我們確認是帳號本人後處理,並回信告知完成。
請寄信到 support@ttfriday.com。我們會在合理期間內回覆。
10. 兒童
本 App 不是為 13 歲以下兒童設計,我們也不會在知情的情況下蒐集兒童的個人資料。如果您認為有兒童提供了資料給我們,請來信,我們會刪除。
11. 政策變更
本政策若有變更,我們會更新本頁頂端的版本與生效日期,並保留每一個舊版本供查閱。重大變更(例如新增會收到您資料的對象)會在生效前更新本政策。
變更紀錄:
- 1.2:匯率改由我們的伺服器代為向 Frankfurter 查詢(第 2、4、5 節)。您的手機不再直接連線 Frankfurter,收到您 IP 位址的對象因此少了一個。
- 1.1:加入帳號登入、行程同步與共享、備份、刪除帳號、當機回報。
舊版本:1.0 與 1.1 都是發布前的內部草稿,從未公開發布,因此沒有舊版本可供查閱。
版本 1.2 · 於 App 首次上架當日生效