> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 信任與安全

> 了解資料處理、建置交付與安全責任。

Ayakaleaf Pro 在你的基礎架構中運作。你掌控其資料、存取權限與網路邊界。本頁說明預設的安全模型，並列出你在維運上需承擔的責任。

### Ayakaleaf Pro 可靠且安全嗎？

Ayakaleaf Pro 是自架的 Overleaf Pro 強化版本，原始碼公開於 [ayaka-notes/ayakaleaf-pro](https://github.com/ayaka-notes/ayakaleaf-pro)。由你的部署決定服務在哪裡執行、資料存放於何處。

安全性取決於你的設定與維運。請保護管理員存取權限、啟用 HTTPS，並維護備份。

感謝 OpenAI 的大力支持。我們會定期使用 [Codex Security](https://chatgpt.com/codex/cloud/security/findings) 掃描儲存庫中的安全問題，並公開分享漏洞修正的結果。

### 我的資料會流向哪裡？

預設情況下，應用程式資料會保留在你的部署之內：

* MongoDB 儲存使用者與專案資料。
* Redis 儲存快取與即時協作資料。
* 本機磁碟區或 S3 相容儲存空間存放專案檔案。

預設只對外公開 web 服務。內部服務透過 Docker 網路彼此通訊。

### 我的資料會被傳送給第三方，或從第三方擷取嗎？

除非你啟用需要對外連線的功能，否則不會有任何資料離開你的部署。Ayakaleaf Pro *不傳送遙測資料、不進行使用分析，也不傳送當機報告*。在預設設定中，錯誤回報與分析功能皆為停用。

有幾項功能完全不會發出外部請求。範本儲存在你自己的部署中並由其提供。Python 指令碼執行器透過 WebAssembly 在使用者的瀏覽器中執行，其執行環境由你自己的 web 服務提供，而非公開的 CDN，因此指令碼程式碼與輸出絕不會傳到網路上。Git Bridge 只能在內部 Docker 網路中存取。完整專案搜尋、符號面板、追蹤修訂、專案歷史記錄與管理面板皆完全在本機運作。沙箱編譯容器建立時會停用網路。

其餘功能的請求會連到下列目的地。每個請求都由 web 服務發出：

<Accordion title="AI 助理與搜尋">
  AI 功能預設為停用。啟用後，聊天與 LaTeX 錯誤建議會將提示詞與相關專案內容傳送至以 `AI_BASE_URL` 設定的模型端點。選用的網頁搜尋會將查詢傳送至所設定的 Tavily 相容服務，而文件搜尋則會將查詢傳送至 `DOCS_MCP_URL`（預設：`https://docs.overleaf.com/~gitbook/mcp`）。搜尋結果可能會被納入傳送給模型供應商的請求中。關於設定與使用者控制項，請參閱 [AI Integration](/zh-TW/on-premises/configuration/overleaf-toolkit/ai-integration "mention")。
</Accordion>

<Accordion title="GitHub 整合">
  **GitHub 整合**會連線至 `github.com` 與 `api.github.com`。此功能由每位使用者透過連結 GitHub 帳號個別啟用，授權時會要求 `read:org`、`repo` 與 `workflow` 範圍。推送時會將完整的專案檔案內容以 Git blob 上傳，再組合成 tree 與 commit。它也會執行分支、參照、比較與合併操作，並讀取所連結帳號的個人資料、組織成員資格與儲存庫清單。專案內容會雙向離開你的部署——請將已連結的 GitHub 帳號視為所有附加專案的匯出途徑。
</Accordion>

<Accordion title="Zotero 整合">
  **Zotero 整合**會連線至 `www.zotero.org` 進行授權，並連線至 `api.zotero.org` 取得文獻庫資料。此功能由每位使用者透過連結 Zotero 帳號個別啟用。傳送的資料包括 OAuth 交握與使用者的 API 金鑰。讀取為單向：參考文獻庫會以 BibTeX 形式匯入，不會上傳任何專案內容。
</Accordion>

<Accordion title="Mendeley 整合">
  **Mendeley 整合**會連線至 `api.mendeley.com` 進行授權並取得文獻庫資料。此功能由每位使用者透過連結 Mendeley 帳號個別啟用。OAuth 交握會要求 Mendeley 的 `all` 範圍——這是其 API 唯一提供的範圍——但 Ayakaleaf 只會執行讀取：參考文獻庫與群組文獻庫會以 BibTeX 形式匯入，不會上傳任何專案內容。存取權杖會自動更新；當 Mendeley 撤銷授權時，已儲存的憑證會被捨棄，並要求使用者重新連結帳號。
</Accordion>

<Accordion title="說明文件頁面">
  **說明文件頁面**擷取自 `https://learnwiki.overleaf.com`，可透過 `WIKI_URL` 設定。請求由 web 服務發出，而非使用者的瀏覽器，因此上游 wiki 只會看到你的伺服器，絕不會看到使用者的位址。只會傳送所請求的頁面標題，回應會快取在磁碟上。若無法接受對外的說明文件流量，請將 `WIKI_URL` 指向你自己的鏡像，或封鎖該目的地。
</Accordion>

<Accordion title="電子郵件寄送">
  **電子郵件寄送**會連線至你所設定的 SMTP 伺服器或郵件 API；沒有預設值。收件人地址與郵件內容（包括密碼重設與邀請連結）都會離開你的部署。
</Accordion>

<Accordion title="兩項選用檢查（PWD/reCAPTCHA）">
  <strong>兩項選用檢查預設皆為停用。</strong> 除非設定 `HAVE_I_BEEN_PWNED_ENABLED`，否則外洩密碼檢查不會啟用；啟用後，它會將密碼 SHA-1 雜湊值的前幾個字元傳送至 `api.pwnedpasswords.com`，絕不會傳送密碼本身。除非設定 reCAPTCHA 網站金鑰，否則 CAPTCHA 驗證不會啟用；啟用後會連線至 `www.google.com`。
</Accordion>

<Accordion title="單一登入（OAuth/LDAP/SAML）">
  **單一登入**只會連線至你所提供的身分提供者，傳送的內容則取決於通訊協定。使用 LDAP 時，web 服務會直接連線至你的目錄：它以你設定的服務帳號進行繫結，在你定義的 base、篩選條件與屬性清單下搜尋，並以你的目錄驗證登入表單中輸入的密碼，因此使用者名稱與密碼會傳送到目錄伺服器。啟用以目錄為基礎的聯絡人功能時，會額外執行一次搜尋以填入聯絡人清單。使用 OIDC 時，web 服務會在你的權杖端點兌換授權碼，接著呼叫你的使用者資訊端點，預設要求 `openid profile email` 範圍；此設定可透過 `OVERLEAF_OIDC_SCOPE` 調整。使用 SAML 時，驗證請求會經由使用者的瀏覽器傳送到身分提供者，而非透過伺服器直接連線。在這三種情況下，使用者的姓名與電子郵件地址都是由提供者傳來，而非傳送給提供者，並會儲存在本機的使用者紀錄中。
</Accordion>

<Accordion title="第三方憑證">
  **第三方憑證**——OAuth 權杖與 API 金鑰——儲存在 MongoDB 的使用者紀錄中，並以 AES-256-CTR 搭配每筆紀錄各自的 salt 與初始化向量加密。它們絕不會以明文儲存，也絕不會寫入日誌。若已設定 `${PROVIDER}_CIPHER_PASSWORD`（例如 Zotero 與 Mendeley），加密金鑰便取自該變數；否則會在首次使用時產生一把金鑰，並以僅限擁有者的權限保存在你的資料磁碟區中。請將該金鑰與資料磁碟區一併備份：若金鑰遺失，已儲存的憑證將無法解密，所有使用者都必須重新連結帳號。
</Accordion>

<Accordion title="從 URL 連結的檔案">
  **從 URL 連結的檔案**由你的部署代替使用者擷取，因此目的地是使用者所提供的任何位址。除非你將 `url` 加入 `ENABLED_LINKED_FILE_TYPES`，否則連結 URL 檔案功能為停用，而預設設定並不包含它。透過 Open in Overleaf API 進行的外部 ZIP 與 TeX 匯入也使用相同的 `linked-url-proxy` 元件。直接請求會解析目標主機名稱並拒絕受限的網路範圍，但已設定的允許資源例外除外。設定 `OVERLEAF_LINKED_URL_OUTBOUND_PROXY` 後，由對外代理負責解析主機名稱，因此代理本身必須強制執行內部網路限制；應用程式的網路檢查只適用於包含 IP 位址的 URL。詳情請參閱 [External URL — Outbound Proxy](/zh-TW/on-premises/configuration/overleaf-toolkit/external-url#outbound-proxy "mention")。這些請求只會擷取所提供的 URL，而不會上傳專案檔案。
</Accordion>

若你的政策要求對外允許清單，請只允許你已啟用之功能所需的主機——GitHub 需要 `github.com` 與 `api.github.com`，Zotero 需要 `www.zotero.org` 與 `api.zotero.org`，Mendeley 需要 `api.mendeley.com`，說明文件需要 `learnwiki.overleaf.com` 或你自己的 `WIKI_URL`，密碼檢查需要 `api.pwnedpasswords.com`，CAPTCHA 需要 `www.google.com`，另外再加上你自己的郵件伺服器與身分提供者。若已啟用 AI 功能或搜尋，也請允許所設定的模型、網頁搜尋與說明文件 MCP 端點。拒絕所有已啟用功能不需要的目的地。若必須集中檢查或記錄對外流量，可分別設定 `GITHUB_SYNC_PROXY_URL`、`MENDELEY_PROXY_URL` 與 `ZOTERO_PROXY_URL`，讓 GitHub、Zotero 與 Mendeley 整合透過 HTTP 代理傳送。連結 URL 擷取與遠端匯入可使用 `OVERLEAF_LINKED_URL_OUTBOUND_PROXY`。從 URL 連結的檔案無法限制在主機清單內，因為目的地是由使用者在請求當下選擇；請透過代理元件本身的允許資源設定來限制該功能，或保持停用。

<Warning>
  若你在啟用 [s3.md](/zh-TW/on-premises/configuration/overleaf-toolkit/s3 "mention") 儲存的情況下部署 Ayakaleaf Pro，儲存在 S3 中的資料是否經過加密？

  *<strong>否。</strong>* 資料並未加密。所有歷史區塊、範本檔案、PDF 與其他檔案皆以明文儲存。若你使用第三方的外部 S3 儲存供應商，請特別留意資料安全與隱私。
</Warning>

### 專案編譯是否相互隔離？

Ayakaleaf Pro 支援沙箱編譯。每次編譯都在獨立的容器中執行。沙箱容器預設沒有網路存取權，這可降低對內部網路資源的暴露。

沙箱編譯需要存取主機的 Docker socket。請將主機管理權限限制於受信任的操作人員。

### 我可以信任 CI 建置與容器映像檔嗎？

GitHub Actions 會建置並發布 Ayakaleaf Pro 容器映像檔。映像檔可從公開的 GitHub Container Registry 取得。

映像檔支援 `amd64` 與 `arm64`。拉取映像檔時，Docker 會自動選擇相符的架構。

請勿在正式環境中使用 `latest` 標籤。請固定明確的版本，最好使用映像檔摘要（digest）。

請在非正式環境中測試每次升級。在正式推出前，請驗證映像檔、設定與各項整合。

### 程式碼是開源的嗎？

Ayakaleaf Pro 及相關功能儲存庫皆公開提供。這讓使用者能夠審查變更並追溯上游來源。

公開的原始碼有助於獨立審查，但其本身並不保證發布版本的建置可重現。

升級前，請檢查：

* 發布標籤或 commit。
* 映像檔版本或摘要。
* 第三方相依套件與授權要求。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.