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

Ayakaleaf Pro 可靠且安全嗎?

Ayakaleaf Pro 是自架的 Overleaf Pro 強化版本,原始碼公開於 ayaka-notes/ayakaleaf-pro。由你的部署決定服務在哪裡執行、資料存放於何處。 安全性取決於你的設定與維運。請保護管理員存取權限、啟用 HTTPS,並維護備份。 感謝 OpenAI 的大力支持。我們會定期使用 Codex Security 掃描儲存庫中的安全問題,並公開分享漏洞修正的結果。

我的資料會流向哪裡?

預設情況下,應用程式資料會保留在你的部署之內:
  • MongoDB 儲存使用者與專案資料。
  • Redis 儲存快取與即時協作資料。
  • 本機磁碟區或 S3 相容儲存空間存放專案檔案。
預設只對外公開 web 服務。內部服務透過 Docker 網路彼此通訊。

我的資料會被傳送給第三方,或從第三方擷取嗎?

除非你啟用需要對外連線的功能,否則不會有任何資料離開你的部署。Ayakaleaf Pro 不傳送遙測資料、不進行使用分析,也不傳送當機報告。在預設設定中,錯誤回報與分析功能皆為停用。 有幾項功能完全不會發出外部請求。範本儲存在你自己的部署中並由其提供。Python 指令碼執行器透過 WebAssembly 在使用者的瀏覽器中執行,其執行環境由你自己的 web 服務提供,而非公開的 CDN,因此指令碼程式碼與輸出絕不會傳到網路上。Git Bridge 只能在內部 Docker 網路中存取。完整專案搜尋、符號面板、追蹤修訂、專案歷史記錄與管理面板皆完全在本機運作。沙箱編譯容器建立時會停用網路。 其餘功能的請求會連到下列目的地。每個請求都由 web 服務發出:
AI 功能預設為停用。啟用後,聊天與 LaTeX 錯誤建議會將提示詞與相關專案內容傳送至以 AI_BASE_URL 設定的模型端點。選用的網頁搜尋會將查詢傳送至所設定的 Tavily 相容服務,而文件搜尋則會將查詢傳送至 DOCS_MCP_URL(預設:https://docs.overleaf.com/~gitbook/mcp)。搜尋結果可能會被納入傳送給模型供應商的請求中。關於設定與使用者控制項,請參閱 AI Integration。
GitHub 整合會連線至 github.com 與 api.github.com。此功能由每位使用者透過連結 GitHub 帳號個別啟用,授權時會要求 read:org、repo 與 workflow 範圍。推送時會將完整的專案檔案內容以 Git blob 上傳,再組合成 tree 與 commit。它也會執行分支、參照、比較與合併操作,並讀取所連結帳號的個人資料、組織成員資格與儲存庫清單。專案內容會雙向離開你的部署——請將已連結的 GitHub 帳號視為所有附加專案的匯出途徑。
Zotero 整合會連線至 www.zotero.org 進行授權,並連線至 api.zotero.org 取得文獻庫資料。此功能由每位使用者透過連結 Zotero 帳號個別啟用。傳送的資料包括 OAuth 交握與使用者的 API 金鑰。讀取為單向:參考文獻庫會以 BibTeX 形式匯入,不會上傳任何專案內容。
Mendeley 整合會連線至 api.mendeley.com 進行授權並取得文獻庫資料。此功能由每位使用者透過連結 Mendeley 帳號個別啟用。OAuth 交握會要求 Mendeley 的 all 範圍——這是其 API 唯一提供的範圍——但 Ayakaleaf 只會執行讀取:參考文獻庫與群組文獻庫會以 BibTeX 形式匯入,不會上傳任何專案內容。存取權杖會自動更新;當 Mendeley 撤銷授權時,已儲存的憑證會被捨棄,並要求使用者重新連結帳號。
說明文件頁面擷取自 https://learnwiki.overleaf.com,可透過 WIKI_URL 設定。請求由 web 服務發出,而非使用者的瀏覽器,因此上游 wiki 只會看到你的伺服器,絕不會看到使用者的位址。只會傳送所請求的頁面標題,回應會快取在磁碟上。若無法接受對外的說明文件流量,請將 WIKI_URL 指向你自己的鏡像,或封鎖該目的地。
電子郵件寄送會連線至你所設定的 SMTP 伺服器或郵件 API;沒有預設值。收件人地址與郵件內容(包括密碼重設與邀請連結)都會離開你的部署。
兩項選用檢查預設皆為停用。 除非設定 HAVE_I_BEEN_PWNED_ENABLED,否則外洩密碼檢查不會啟用;啟用後,它會將密碼 SHA-1 雜湊值的前幾個字元傳送至 api.pwnedpasswords.com,絕不會傳送密碼本身。除非設定 reCAPTCHA 網站金鑰,否則 CAPTCHA 驗證不會啟用;啟用後會連線至 www.google.com。
單一登入只會連線至你所提供的身分提供者,傳送的內容則取決於通訊協定。使用 LDAP 時,web 服務會直接連線至你的目錄:它以你設定的服務帳號進行繫結,在你定義的 base、篩選條件與屬性清單下搜尋,並以你的目錄驗證登入表單中輸入的密碼,因此使用者名稱與密碼會傳送到目錄伺服器。啟用以目錄為基礎的聯絡人功能時,會額外執行一次搜尋以填入聯絡人清單。使用 OIDC 時,web 服務會在你的權杖端點兌換授權碼,接著呼叫你的使用者資訊端點,預設要求 openid profile email 範圍;此設定可透過 OVERLEAF_OIDC_SCOPE 調整。使用 SAML 時,驗證請求會經由使用者的瀏覽器傳送到身分提供者,而非透過伺服器直接連線。在這三種情況下,使用者的姓名與電子郵件地址都是由提供者傳來,而非傳送給提供者,並會儲存在本機的使用者紀錄中。
第三方憑證——OAuth 權杖與 API 金鑰——儲存在 MongoDB 的使用者紀錄中,並以 AES-256-CTR 搭配每筆紀錄各自的 salt 與初始化向量加密。它們絕不會以明文儲存,也絕不會寫入日誌。若已設定 ${PROVIDER}_CIPHER_PASSWORD(例如 Zotero 與 Mendeley),加密金鑰便取自該變數;否則會在首次使用時產生一把金鑰,並以僅限擁有者的權限保存在你的資料磁碟區中。請將該金鑰與資料磁碟區一併備份:若金鑰遺失,已儲存的憑證將無法解密,所有使用者都必須重新連結帳號。
從 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。這些請求只會擷取所提供的 URL,而不會上傳專案檔案。
若你的政策要求對外允許清單,請只允許你已啟用之功能所需的主機——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 連結的檔案無法限制在主機清單內,因為目的地是由使用者在請求當下選擇;請透過代理元件本身的允許資源設定來限制該功能,或保持停用。
若你在啟用 s3.md 儲存的情況下部署 Ayakaleaf Pro,儲存在 S3 中的資料是否經過加密?否。 資料並未加密。所有歷史區塊、範本檔案、PDF 與其他檔案皆以明文儲存。若你使用第三方的外部 S3 儲存供應商,請特別留意資料安全與隱私。

專案編譯是否相互隔離?

Ayakaleaf Pro 支援沙箱編譯。每次編譯都在獨立的容器中執行。沙箱容器預設沒有網路存取權,這可降低對內部網路資源的暴露。 沙箱編譯需要存取主機的 Docker socket。請將主機管理權限限制於受信任的操作人員。

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

GitHub Actions 會建置並發布 Ayakaleaf Pro 容器映像檔。映像檔可從公開的 GitHub Container Registry 取得。 映像檔支援 amd64 與 arm64。拉取映像檔時,Docker 會自動選擇相符的架構。 請勿在正式環境中使用 latest 標籤。請固定明確的版本,最好使用映像檔摘要(digest)。 請在非正式環境中測試每次升級。在正式推出前,請驗證映像檔、設定與各項整合。

程式碼是開源的嗎?

Ayakaleaf Pro 及相關功能儲存庫皆公開提供。這讓使用者能夠審查變更並追溯上游來源。 公開的原始碼有助於獨立審查,但其本身並不保證發布版本的建置可重現。 升級前,請檢查:
  • 發布標籤或 commit。
  • 映像檔版本或摘要。
  • 第三方相依套件與授權要求。
最後修改於 2026年10月5日