獨享節點,安全界線清楚

你的憑證,只在你的主機上

OSXBuild 提供整台獨享實體主機,並非虛擬機器。CPU、記憶體與磁碟不與其他客戶共用;簽署憑證、原始碼與建置產物的存放、授權及匯出方式,完全由你決定。

先確認隔離方式,再設定簽署與存取權限。請勿將私密金鑰或密碼放入支援單。

先確認資源歸屬

整台主機專用,不混跑他人建置工作

獨享的是實體節點,不是共用主機上的一個工作時段。租用期間,整台 Mac mini 都為你的工作負載服務。

CPU 與記憶體專屬使用

其他客戶不會在這台主機上執行編譯、測試或推論工作。你的建置程序使用本機資源,不必與其他客戶爭用同一台主機的 CPU 和記憶體。

同一節點要啟動多少個平行工作,仍由你的 runner 與建置指令碼控制。

磁碟與快取由你管理

原始碼、DerivedData、相依套件快取與匯出的 IPA 都存放在你的節點上。不會因其他客戶提交工作而遭到覆寫,也不必將簽署檔案交給共用建置佇列。

快取不等於備份。重要產物與復原資料請另存一份。

實體隔離不能取代權限管理

整台主機獨享,可隔離不同客戶的資源。團隊成員之間仍應依專案分配權限;日常建置請使用專用帳號與金鑰,勿將管理員憑證寫入自動化流程。

macOS 圖形介面與命令列皆可完整使用,存取範圍由你設定。

主機內的程式碼與建置產物均屬客戶所有,我們不會讀取這些業務內容。若需協助排除問題,請只提供必要的錯誤片段;提交前先移除權杖、簽署資料與專案機密。

租期結束後的交接

先安全清除磁碟,再重新交付

節點不會將上一位客戶的工作目錄直接交給下一位。回收流程包含磁碟安全清除與系統重新安裝。

  1. 先完成備份

    請在租期結束前,匯出需要保留的原始碼、IPA、設定檔與簽署復原資料。確認檔案能在其他環境中讀取;別只確認「複製指令已執行」。

  2. 節點進入回收流程

    租期結束並回收節點後,將執行磁碟安全清除。回收處理並非臨時保管服務,請勿將節點當成到期後仍可取回檔案的封存空間。

  3. 重新安裝系統後再交付

    系統重新安裝完成後,節點才會交付給下一位客戶。你的專案目錄、建置快取與簽署資產不會保留為新客戶的初始環境。

別等到最後一次 archive 才想到交接

建議將備份檢查列入專案交接清單,並撤銷節點不再需要的程式碼儲存庫存取權、runner 註冊與發佈權杖。清除本機磁碟,不會自動撤銷外部系統中仍有效的授權。

將簽署視為發佈權限

憑證可以簽署,不代表任何人都能取走

只授予建置工作完成發佈所需的最低權限。以下三項做法,比把檔案藏在不起眼的資料夾裡更有效。

使用獨立鑰匙圈,用完即鎖

為建置帳號建立專用鑰匙圈。只在簽署步驟前解鎖,流程結束後重新上鎖;工作失敗時也應執行清理,避免鑰匙圈因程序異常結束而持續處於解鎖狀態。

解鎖密碼應從受控的憑證儲存區讀取,勿以指令參數傳入,以免顯示在畫面上。

上傳時使用 API 金鑰

將產物上傳至 App Store Connect 時,請使用符合工作所需權限範圍的 API 金鑰,取代將帳號密碼存入自動化指令碼。金鑰檔案應與專案程式碼分開存放;輪替金鑰時也要同步更新建置設定。

請勿將金鑰內容寫入記錄檔、建置產物或錯誤截圖。

.p12 檔案勿放入共用儲存庫

請勿提交含有私密金鑰的 .p12 檔案,也不要將匯出密碼存放在同一個儲存庫。使用 Fastlane match 時,請分開管理加密資料與解密憑證,並限制簽署儲存庫的讀取權限。

若不慎提交,請評估是否撤銷並輪替金鑰;只刪除目前的檔案,無法清除歷史紀錄。

最後一步:重新鎖定建置鑰匙圈

以下指令使用範例鑰匙圈路徑。請替換成實際名稱,並將相同的清理動作加入流程的結束處理程序。

security lock-keychain "$HOME/Library/Keychains/build.keychain-db"
兩道入口,分別把關

控制台管理訂單,SSH 登入主機

控制台登入憑證與節點登入金鑰用途不同。請勿重複使用,也不要將任何一項交給不需要該權限的工作。

控制台與電子郵件

請為控制台設定專用密碼,並妥善保護用來接收登入與驗證郵件的電子郵件帳號。只在信任的裝置上登入,切勿在他人轉傳的頁面輸入憑證。

交付資訊、訂單狀態與相關操作紀錄可在控制台核對。若發現不符預期的變更,請記下訂單編號與發生時間,再提交支援單;說明中請勿附上完整憑證。

登入控制台

SSH 與團隊存取

請使用 SSH 公開金鑰登入,並將私密金鑰留在受控的本機裝置或 CI 憑證儲存區。每位成員及每條自動化流程都應使用獨立金鑰,以便個別撤銷;勿共用無法追查使用者的私密金鑰。

確認金鑰可正常連線,並保留可復原的存取方式後,再調整密碼登入與連接埠設定。成員離開團隊或 runner 退役時,請及時移除相應授權。

查看連線與遷移說明

操作有跡可查,記錄也要遮蔽敏感資料

建議每次發佈都記錄提交版本、流程編號與產物版本,並限制建置記錄的讀取權限。若需支援協助,請保留錯誤發生時間及記錄末尾的相關片段,並移除環境變數、存取權杖與含有憑證的儲存庫網址。

帳單與主機資料分開處理

OSXBuild 不留存卡號

所有訂單均以美元(USD)結帳。僅支援以下兩類付款方式;實際可用的付款閘道以後端介面回傳為準。

Visa / Mastercard / Amex

信用卡付款由 Stripe 處理,OSXBuild 不會儲存卡號。訂單紀錄會保留交付與對帳所需的付款狀態,不會將卡號作為技術支援資料收集。

如遇付款問題,提供訂單編號、付款時間與頁面錯誤訊息即可。

USDT-TRC20

請只使用結帳頁面即時顯示的付款資訊。確認網路、金額與收款資訊無誤後再轉帳。請勿使用舊截圖或他人電子郵件中的地址,取代目前訂單頁面的資訊。

如需協助對帳,請提供交易識別碼,不要提供錢包私密金鑰或復原資料。

發票、續約與付款結果請至控制台查看。任何人若以排查付款問題為由索取完整卡號、卡片安全碼或私密金鑰,都不應提供。

將問題交給能處理的人

回報安全漏洞,切勿傳送機密資料

安全問題回報、權限異常與疑似憑證外洩,請一律透過支援電子郵件或登入後的控制台支援單提交。沒有其他專用的安全問題回報信箱。

首次回報請說明四項資訊

  • 影響位置:頁面路徑、節點或相關訂單編號;請勿附上存取密碼。
  • 發生經過:以最少步驟重現問題,並說明預期結果與實際結果。
  • 時間資訊:請提供發生時間與所在時區,方便核對操作紀錄。
  • 已遮蔽敏感資訊的證據:提供錯誤片段或已遮蔽敏感資訊的截圖;請勿附上私密金鑰或完整簽署檔案。

選擇一種聯絡方式即可

尚未下單或無法登入時,請使用電子郵件;已有訂單的問題,建議優先提交支援單,以便關聯節點與交付資訊。

support@osxbuild.com

若懷疑金鑰已外洩,請先撤銷相關授權並輪替憑證,再提交回報。測試問題時,只能使用你有權存取的資源;請勿讀取其他客戶的資料或進行破壞性測試。

讓下一次簽署,權責清楚

整台節點專屬使用,簽署資產由你管理。選好方案後,將金鑰、備份與回收檢查清單一併納入建置流程。