安全與隱私始於設計:我們如何保護你
信任是掙來的,不是說出來的。這篇文章將透明地拆解 AINudeGirls 背後的安全架構與隱私原則。我們打造這個平台時秉持一個核心信念:你的身分屬於你,你的資料也應該如此。
沒有模糊的承諾,沒有行銷話術。只有我們實際打造了什麼,以及為什麼。
---
我們的理念:隱私優先,永遠如此
大多數平台在你還沒開始瀏覽之前,就先要求你的電子郵件、姓名、電話號碼和出生日期。我們採取了完全相反的做法。
建立帳號不需要電子郵件。我們的登入系統以代碼為基礎:你會收到一組 16 字元的登入碼(格式為 XXXX-XXXX-XXXX-XXXX)作為你的憑證。不需要電子郵件地址、不需要使用者名稱、不需要任何個人資訊。
以下是我們收集的——以及我們不收集的:
- 註冊或使用平台不需要電子郵件
- 除了服務運作絕對必要的資料外,不收集任何個人資料
- 沒有追蹤像素、沒有分析側寫、沒有行為指紋辨識
- 絕不將資料出售給第三方——永遠不會
- 從設計之初就符合 GDPR,而不是事後補上
我們不收集,因為我們不需要。持有的資料越少,可能外洩的就越少。
---
安全始於設計:內建於每一層
安全不是我們最後才加上的功能,而是編織進每個 API 端點、每次資料庫操作與每道驗證流程之中。
驗證架構
- Argon2id 密碼雜湊 —— 與政府和金融機構採用相同的演算法。它是密碼雜湊競賽(Password Hashing Competition)的冠軍,可抵禦 GPU 攻擊、旁路攻擊與時間記憶體權衡攻擊。
- 登入碼在儲存前即經雜湊處理 —— 連我們的資料庫管理員也看不到你的登入碼。即使資料庫遭到入侵,沒有原始碼的雜湊值在密碼學上毫無用處。
- 短效期的 JWT 權杖 —— 存取權杖 5 分鐘後過期。更新權杖每次使用即輪替,被竊取的權杖可利用的時間窗口極短。
- 復原權杖以 SHA-256 雜湊後才寫入資料庫。明文只向你顯示一次,絕不儲存。
請求層級防護
- 每個變更狀態的請求都有 CSRF 防護,採用雙重提交 Cookie 模式。每個 POST、PUT、PATCH 與 DELETE 請求都經過驗證。
- 所有端點皆有速率限制 —— 可依路由設定的限制可防止暴力破解、憑證填充與 API 濫用。速率限制器以持久化儲存為後盾,伺服器重啟後限制依然有效。
- 每個 API 端點都要求驗證 —— 不存在未受保護的資料端點。公開內容(例如這個部落格)是唯一例外,且不含任何使用者資料。
---
支付安全:你的錢,你的隱私
我們特別選擇了能保護你匿名性的支付方式。
加密貨幣支付
- 接受比特幣與以太幣,提供最高等級的金融隱私
- 交易透過 NOWPayments 處理,並經 webhook 驗證
- 支付 webhook 以 HMAC 簽章驗證 —— 我們以密碼學方式驗證每一則付款通知確實來自支付處理商,而非攻擊者
Paysafecard
- 不需要銀行資料 —— 在附近商店購買儲值卡,輸入代碼即可
- 你的銀行帳戶與平台活動之間沒有任何關聯
我們不做的事
- 伺服器上不儲存信用卡資料 —— 我們不處理也不儲存卡號
- 點數/兌換碼在儲存前經雜湊處理,做法與登入碼相同
- 付款紀錄只包含交易 ID —— 足以處理退款,僅此而已
---
內容安全
平台上所有生成的內容都受到多層存取控制保護。
- 不提供公開檔案存取 —— 每個檔案請求都會經過驗證與授權檢查。不存在開放的內容目錄。
- 每項資源都有存取控制 —— 生成的圖片和影片都綁定使用者帳號。你只能存取自己建立或購買的內容。
- NSFW 內容設有年齡驗證與有效登入的閘門
- 內容到期與自動清理 —— 暫存檔案按排程清除,縮小攻擊面
---
基礎設施安全
平台運行在多層強化的基礎設施之後。
傳輸安全
- 全站強制 HTTPS,並附 HSTS(HTTP Strict Transport Security)preload 標頭。你的瀏覽器會被指示絕不以未加密的 HTTP 連線。
- 僅限 TLS 1.2 以上 —— 較舊、有漏洞的協定版本一律拒絕。
HTTP 安全標頭
我們伺服器的每個回應都包含一組強化的安全標頭:
- Content-Security-Policy(CSP) —— 透過允許清單限定指令碼與資源來源,防範 XSS 攻擊
- X-Frame-Options: DENY —— 封鎖 iframe 嵌入,防範點擊劫持
- X-Content-Type-Options: nosniff —— 防範 MIME 類型混淆攻擊
- Referrer-Policy: strict-origin-when-cross-origin —— 限制向第三方網站洩漏 referrer 資料
- Permissions-Policy —— 停用平台用不到的瀏覽器 API(相機、麥克風、定位)
後端強化
- 嚴格的 CORS 設定 —— 只有我們自己的網域可發出跨來源請求。不使用萬用字元來源。
- 以 Redis 為後盾的速率限制,在伺服器重啟與水平擴展下依然持續有效
- 所有機密皆由環境變數載入,並在啟動時驗證 —— 若關鍵機密(JWT 金鑰、支付 API 金鑰、資料庫憑證)缺失,伺服器將拒絕啟動。原始碼中從未寫死任何機密。
- 每個使用者輸入欄位都經過驗證 —— 進入系統的每筆資料都會先依嚴格的結構描述驗證後才處理。格式錯誤的輸入在邊界即被拒絕,而非深入業務邏輯後才發現。
- 錯誤訊息絕不暴露內部細節 —— 所有面向使用者的錯誤回應都採用通用訊息。堆疊追蹤、資料庫細節與內部狀態僅記錄於伺服器端。
---
透明:我們收集什麼,以及為什麼
以下是我們伺服器上存有哪些資料及其原因的誠實清單。
我們儲存的資料
資料 用途 你的掌控權
------ --------- --------------
雜湊後的登入碼 身分驗證 可依請求刪除
復原電子郵件(選填、加密) 僅供帳號復原 由你決定是否新增
點數餘額 服務功能 可在帳號中查看
生成紀錄 為你的方便——回顧過往作品 可依請求刪除
交易 ID 退款處理 依法律要求保留
我們「不」收集的資料
- 用於追蹤的 IP 位址 —— 我們不建立位置側寫
- 瀏覽紀錄 —— 我們不追蹤你造訪哪些頁面或停留多久
- 可供出售的個人偏好 —— 我們不建立廣告側寫
- 裝置指紋 —— 我們不追蹤你的硬體或瀏覽器設定
你的刪除權
你隨時可以請求完整刪除帳號及所有相關資料。當你提出刪除請求:
1. 你的帳號紀錄將被永久移除
2. 你的生成紀錄將被清除
3. 你的付款參照將被匿名化
4. 相關內容檔案將自儲存空間刪除
我們不會刁難你。聯絡我們,事情就會辦妥。
---
持續性安全:永不停歇
安全不是一個里程碑,而是持續的過程。以下是我們持續在做的事:
- 定期安全稽核 —— 自動化掃描加上對安全敏感路徑(驗證、支付、檔案存取)的人工程式碼審查
- 相依套件掃描 —— 自動監控我們所依賴的每個套件的已知漏洞,並快速修補
- 每個使用者輸入欄位都經過驗證 —— 在每個 API 邊界進行基於結構描述的驗證
- 錯誤訊息稽核,確保不向使用者洩漏內部細節(資料庫查詢、堆疊追蹤、檔案路徑)
- 所有管理端點另行保護,要求更高的授權層級 —— 管理功能需要一般驗證之外的獨立權限等級
---
敞開大門政策
我們嚴肅看待每一則漏洞回報。
發現安全問題?請聯絡 [email protected]。
我們處理回報的方式如下:
- 每則回報將在 24 小時內獲得回應
- 重大漏洞在確認後 24 小時內完成分級並修補
- 我們絕不對善意的資安研究人員採取法律行動
- 問題解決後,我們會(在你願意的情況下)公開致謝回報者
安全是共同的責任。看到什麼,就告訴我們。我們寧願從你口中得知,也不願以慘痛的方式發現。
---
結語
我們打造 AINudeGirls 的原則很簡單:收集更少,保護更多。每一項架構決策——從代碼登入、加密貨幣支付到雜湊憑證——都以你的隱私為首要前提,而非事後補救。
我們並不完美,安全也永遠沒有「完成」的一天。但我們對所做的事保持透明、對自身限制保持誠實,並致力於持續改進。
你的信任不是我們視為理所當然的東西,而是我們透過程式碼中的每個決定,每天努力掙得的。