Repository navigation
Security Model zh TW
KoukeNeko edited this page Sep 1, 2026
·
1 revision
English · 繁體中文
- 不接受 command-line password。 密碼只能從 TTY 以不回顯的方式輸入,或改用 token 登入,避免 留在 shell history 與 process 列表中。
- Token 存在作業系統 keyring,不會寫進設定檔。
- keyring 的 key 同時包含 profile 與 API URL,換站台不會誤用舊 token。
-
--verbose的診斷輸出只有 method、路徑、狀態碼與耗時,不含 Authorization header、密碼或 token。
以下內容永遠不會出現在成功輸出、list 結果或 dry-run 中:
- Webhook signing secret
- Application token 的 auth code,以及帶有 auth code 的 callback URL
- Project ownership transfer token
- 只有 idempotent 的 GET 會自動重試,且次數有上限、退避時間帶隨機抖動。
- POST、PATCH、DELETE 不會盲目重送。
- 少數以 GET 觸發背景工作的 endpoint(例如 project export)被標記為非 idempotent,同樣不重試。
- 只有 429、502、503、504 會觸發重試;遵守 server 的
Retry-After,上限 30 秒。
寫入請求在傳輸途中失敗、或回應無法解析時,CLI 回報 ambiguous_commit(exit code 11),訊息會明說
「可能已經送出,重試前請先確認」。這比自動重送安全 —— 後者可能造成重複建立或重複扣減。
刪除工作項目與 metadata 之後,CLI 會回讀確認目標真的不存在;comment 的編輯、刪除與復原也會回讀比對
時間戳記。無法確認時一律回報 ambiguous_commit,而不是假設成功。
所有 mutation 都帶 Taiga 的 version。發生衝突時回報 occ_conflict(exit code 6)並停止 ——
不會自動 merge,也不會覆寫別人的變更。需要明確控制基準版本時使用 --base-version。
非互動模式下,刪除類指令必須明確提供 --yes,否則回報 confirmation_required(exit code 10)。
互動模式會要求確認。CLI 不會因為「看起來像自動化」就跳過確認。
- 下載先寫入權限
0600的暫存檔,驗證後才原子替換目的檔,且預設不覆寫。 - 設定檔與快取以同樣的 temp-then-rename 方式寫入,權限
0600,目錄0700。 - 附件下載不會把 API bearer token 送往 media URL。
TLS 驗證預設永遠開啟,沒有停用它的旗標。
Getting started
Command reference
- Projects
- Members and Roles
- Work Items
- Sprints
- Wiki Pages
- Attachments
- Metadata and Custom Fields
- Search, Timeline and Stats
- Batch Operations
- Automation Recipes
- Alternatives
- Webhooks
- Account and Integrations
Operations