# Keychain

憑證如何存放在 OS keychain，以及工具如何讀取。

憑證（provider API keys、OAuth tokens）透過 `go-pkg/filesystem/keychain` 儲存，service 名為 `agenvoy`：

| 平台 | 後端 |
|---|---|
| macOS | `security` CLI |
| Linux / 其他 | `secret-tool`（libsecret），失敗時回退到純文字 `KEY=value` 檔 `~/.config/agenvoy/.secrets` |

找不到已儲存的值時，改用同名環境變數。Service 名稱 `"agenvoy"` 為固定值，不得變更。

過去供 script 工具經 HTTP 取值的 `GET /v1/key?key=<name>` 查詢端點（僅限 loopback）已於 v1.0.23 移除。Script 工具現在於行程內直接讀 keychain，順序相同：macOS 用 `security find-generic-password -s agenvoy -a <KEY> -w`，Linux 用 `secret-tool lookup service agenvoy account <KEY>` 再查 `~/.config/agenvoy/.secrets`，最後才是環境變數。`DELETE /v1/key`、`GET /v1/keys` 與 `POST /v1/keys` 仍保留，且受 `localhostOnly()` 保護。
